Page 1 of 1

Preparing Single-Channel EEG Data from Mind Monitor (Muse-S Headband) for EDF Conversion

Posted: Sun Sep 22, 2024 8:47 am
by mynameisjustalex
Hi Mind Monitor community,

I am an intern and my team is working on a research project where we are using the Muse-S headband to collect EEG data for sleep analysis. We are collecting data from the AF7 or AF8 electrode using the Mind Monitor app and exporting the data in CSV format. Our goal is to eventually use YASA, a Python package for sleep staging, but YASA requires the data to be in EDF format.

We plan to use MNE-Python for converting the Mind Monitor CSV data into EDF format and performing preprocessing before passing it to YASA for sleep staging. However, we are new to the technical aspects of handling EEG data from mind monitor and would appreciate advice on ensuring that the data we collect from Mind Monitor is properly formatted and ready for this processing pipeline.

Here is the summary of details for context:

Device: Muse-S headband
Data Collection: Using Mind Monitor to collect single-channel EEG data from the AF7 or AF8 electrode.
Output: Exporting the data in CSV format (including EEG channels, timestamps, and accelerometer data).
Goal: Convert the data to EDF format using MNE-Python and then perform sleep staging using YASA.

Key Questions:

1. What are the precise technical specifications of the EEG data collected by Mind Monitor?
Specifically, we need details like:

Sampling rate: What is the sampling rate for the EEG data from Muse-S when using Mind Monitor?
Data resolution: What is the bit resolution of the raw EEG data exported by Mind Monitor (e.g., 16-bit, 24-bit)?
Filtering: Are there any filters applied by default in Mind Monitor to the EEG data (e.g., high-pass, low-pass filters)?
Data format: Are the EEG data values in the CSV file microvolts (µV) or another unit? How should we interpret these values for further processing?

2. Are there any preprocessing steps we should consider before converting the data to EDF format?
For example:

Filtering: Should we apply any additional filters (e.g., bandpass filter) before converting the data to EDF?
Downsampling: Should we downsample the data to match common sleep staging frequencies (e.g., 100 Hz)?
Handling timestamps: Should we adjust or align the timestamps in the data in any specific way to ensure compatibility with MNE-Python?

Any technical insights or advice on how to ensure that the EEG data collected by Mind Monitor is correctly formatted and ready for conversion to EDF by MNE-python would be greatly appreciated!

Thanks in advance for your help!

Re: Preparing Single-Channel EEG Data from Mind Monitor (Muse-S Headband) for EDF Conversion

Posted: Sun Sep 22, 2024 11:20 am
by James
See the streaming FAQ for data rates, units etc:

https://mind-monitor.com/FAQ.php#oscspec

Mind Monitor does not do any filtering. The Absolute values calculated by the Interaxon SDK are filtered by the SDK for powerline noise, blinks and jaw clench.

If you want to convert the data between formats with Python, please check out my GitHub:
https://github.com/Enigma644

Specifically:
https://github.com/Enigma644/ix-muse-player

This is program to convert between Interaxon's ".Muse" google protocol buffer file format, and other formats.
The CSV format is designed specifically for easy graphing, with each row of the file containing all data, but this means that each data set has the same data rate. E.g. if you record using the default 1second interval, all your data is 1Hz. If you then changed to 256Hz constant recording, all your data will be 256Hz; This will give you full RAW EEG data, but your Absolutes will contain a lot of duplicates.
The ".Muse" format has the capability to record each data set at it's own internal data rate, so I would recommend you use that with the "Constant" recording interval. Then you can convert it in Python.