Coder Social home page Coder Social logo

cryptoholder-la / eegvis Goto Github PK

View Code? Open in Web Editor NEW

This project forked from eegml/eegvis

0.0 0.0 0.0 6.48 MB

visualization functions for EEG in matplotlib and jupyter notebooks

Python 6.28% CoffeeScript 0.01% TypeScript 0.21% HTML 0.08% Jupyter Notebook 93.42%

eegvis's Introduction

eegvis

  • work in progress to visualize EEG files in python
  • currently lots of experimentation - not ready for general consumption
  • goal is to provide portion of software infrastructure for EEG analysis

Scope of Project

  • functions to work with matplotlib to visualize EEG
  • functions to interactively plot EEGs in the jupyter notebook
  • web (bokeh) applications to browse and annotate EEGs

Status

  • currently this is still experimental, but it has a useful eeg browser for the jupyter notebook

  • basic filtering added, with notch and low-pass/high-pass filter

  • version 0.2.1 works with bokeh 2.0.2 !

install

jupyter nbextension enable --py widgetsnbextension --sys-prefix

To do

  • matplotlib EEG plotting (firstdraft)

  • basic bokeh EEG plotting (firstdraft)

  • basic montage EEG plotting, (firstdraft)

  • simple browsing EEG with bokeh in jupyter (firstdraft)

  • first filtering dropdowns added to nb browser tool

  • allow kwargs to set plot width and height

  • [/] notch and HF filters dropdowns - problem with ringing on current firwin filters

  • [/] need scale/calibration bars - [x] vertical scale bars can be added for any stackplot

  • catch when current displayed data is not big enough to filter

  • add common avg reference montage (CAR)

  • remove cruft from plotting in various widgets

  • [/] bokeh application to browse + annotate EEG, - still experimenting

  • montage parser/loader (priority long-term)

  • keyboard responses, howto?

  • add ability to control scale of each electrode waveform individually

  • rewrite and package

  • publish

  • possible re-write/extend Bokeh for canvas widget

  • update to bokeh 1.0.x (now at 2.3)

  • tests for mpl_helpers

  • clearcut examples of using plotting tools with:

    • numpy arrays
    • edf EEGs
    • eeghdf EEGs
    • mne eeg and/or meg (should this use, be in eegml-mne-utils)
  • [/] trial implement panel based version of browser widget

  • explore low-level implementation of browser widget using bokeh for more control

  • explore new annotation bokeh controls

  • [/] switch to new packaging for ppa using pyproject.toml and move setup.py to setup-dev.py

  • add tools to mark events in plots and in bokeh

Other notes

Developer Install

currently this is developer only package To install from the head of development

pip install -U git+https://github.com/eegml/eegvis.git

I have started using f-strings in my code, so I no longer support python 3.6 and below

To work on the code yourself:

    git clone https://github.com/eegml/eegvis.git
    cd eegvis
    pip install -e .

jupyter notebook use

conda install ipywidgets conda install widgetsnbextension

jupyter lab use

jupyter labextension install jupyterlab_bokeh jupyter labextension install @jupyter-widgets/jupyterlab-manager

eegvis's People

Contributors

cleemesser avatar khaledsaab avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.