Skip to main content

This package contains code for graphing Muse EEG data

Project description

Muse-Analysis-Tools

Algorithmic Biofeedback Control System - Chart Tools

This script will generate a number of charts from Muse headband EEG CSV data files created by the Mind Monitor app. Future versions of these tools will support Muse Direct and Muse Lab files.


Install instructions:

Download and Install

  1. Download the archive file, save in a temp directory
  2. Unzip the file:
    $ unzip Muse-Analysis-Tools-master.zip
  3. Change diretory into the Muse-Analysis-Tools-master directory:
    $ cd Muse-Analysis-Tools-master
  4. Run the setup.py to install the application:
    $ python3 setup.py install

Clone using Git and Install

  1. Clone the project using git in a temp directory.
    $ git clone https://github.com/digital-cinema-arts/Muse-Analysis-Tools.git
  2. Change diretory into the Muse-Analysis-Tools-master directory:
    $ cd Muse-Analysis-Tools-master
  3. Run the setup.py to install the application:
    $ python3 setup.py install

Install from the Python Package Index

The project can be view here: https://pypi.org/project/Muse-Analysis-Tools/

Using the 'pip' command:
$ pip install Muse-Analysis-Tools

Using the 'pip3' command to ensure you're installing the Python 3 packages:
$ pip3 install Muse-Analysis-Tools


NOTE: This application requires Python version 3. To check which version of python you have installed enter this command:
$ python --version
Python 3.7.4

To fix an error with pandas on Linux that occasionally happens, force a reinstall with this command:

pip install --upgrade --force-reinstall pandas

Usage:

  1. Change directory to where the data files are located (sometimes this makes it easier to locate files).
$ cd /Volumes/Archive/muse_recordings/muse_monitor_recordings/   
  1. Startup the application:
    $ analyze_muse_data.py
  2. Select the options and CSV file you want to process.
  3. Make plots!

Notes:

  1. Output images and session data are created within the same directory that the CSV files live. This will change in the future to allow the user to select the output directory.

For more information about the graphs interface (from matplotlib) please refer to this link: https://matplotlib.org/3.1.1/users/navigation_toolbar.html


Options:


$ analyze_muse_data.py -h 

usage: analyze_muse_data.py [-h] [--version] [-f CSV_FILE] [-v VERBOSE] [-d]
                            [-b] [-dm] [-p] [-e] [-hdf5] [-ag] [-mc] [-s] [-c]
                            [--plot_style PLOT_STYLE] [-r] [-fd]
                            [-ft FILTER_TYPE] [-lc LOWCUT] [-hc HIGHCUT]
                            [-o FILTER_ORDER] [-db]

optional arguments:
  -h, --help            show this help message and exit
  --version             Print the current version number
  -f CSV_FILE, --csv_file CSV_FILE
                        CSV file to read)
  -v VERBOSE, --verbose VERBOSE
                        Increase output verbosity
  -d, --display_plots   Display Plots
  -b, --batch           Batch Mode
  -dm, --data_markers   Add Data Markers
  -p, --power           Plot Power Bands
  -e, --eeg             Plot EEG Data
  -hdf5, --write_hdf5_file
                        Write output data into HDF5 file
  -ag, --accel_gyro     Plot Acceleration and Gyro Data
  -mc, --mellow_concentration
                        Plot Mellow and Concentratio Data (Only For Mind
                        Monitor Data)
  -s, --stats_plots     Plot Statistcal Data
  -c, --coherence_plots
                        Plot Coherence Data
  --plot_style PLOT_STYLE
                        Plot Syle: 1=seaborn, 2=seaborn-pastel, 3=seaborn-
                        ticks, 4=fast, 5=bmh
  -r, --auto_reject_data
                        Auto Reject EEG Data
  -fd, --filter_data    Filter EEG Data
  -ft FILTER_TYPE, --filter_type FILTER_TYPE
                        Filter Type 0=default 1=low pass, 2=bandpass
  -lc LOWCUT, --lowcut LOWCUT
                        Filter Low Cuttoff Frequency
  -hc HIGHCUT, --highcut HIGHCUT
                        Filter High Cuttoff Frequency
  -o FILTER_ORDER, --filter_order FILTER_ORDER
                        Filter Order
  -db, --data_base      Send session data and statistics to database

To find the current version of the application:

Current version:  1.1.17

The ".ABCS_parms.rc" runtime configuration file can be configured to define often used parameters or for batch processing.

{"First Name": "Debra", "Last Name": "Peri", "Data Dir": "/Volumes/Archive/muse_recordings/muse_monitor_recordings",
"Data Base Location": "/Volumes/Archive/muse_recordings/muse_monitor_recordings", "Filter Data": 1, "Filter Type": 1, "Filter LowCut": 0.5, "Filter HighCut": 70.0}

picture alt

https://github.com/digital-cinema-arts/Muse-Analysis-Tools/wiki/Example-Plots


Important note on sampling rate: Select "Constant" from the Mind Monitor recording interval option.

picture alt


Session data in JSON format.

picture alt


Session/EEG data in HDF5 format.

picture alt

picture alt


Donations

https://paypal.me/vinyasakramayoga?locale.x=en_US

If you would like to support this project, to help to contribute to disabled folks and to help youth gain access to yoga (in the Olympia, WA area) please send your kind donations to this paypal account. We appreciate any and all help for this important work.

You can read more about our outreach program here:

https://xion.org/VinyasaKramaYogaOlympia/index.php/rainbow-goddess/

:droplet:

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

Muse-Analysis-Tools-1.1.19.tar.gz (229.1 kB view hashes)

Uploaded Source

Built Distributions

Muse_Analysis_Tools-1.1.19-py3.7.egg (537.9 kB view hashes)

Uploaded Source

Muse_Analysis_Tools-1.1.19-py3-none-any.whl (470.1 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page