https://github.com/catalystneuro/ecogvis
Time series visualizer and data processing tools for Electrocorticography (ECoG) signals stored in NWB files, for Python.
Science Score: 10.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
○CITATION.cff file
-
○codemeta.json file
-
○.zenodo.json file
-
○DOI references
-
○Academic publication links
-
✓Committers with academic emails
2 of 12 committers (16.7%) from academic institutions -
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (14.3%) to scientific vocabulary
Keywords
Keywords from Contributors
Repository
Time series visualizer and data processing tools for Electrocorticography (ECoG) signals stored in NWB files, for Python.
Basic Info
Statistics
- Stars: 25
- Watchers: 3
- Forks: 18
- Open Issues: 18
- Releases: 0
Topics
Metadata Files
README.md
ecogVIS
Timeseries visualizer and data processing tools for Electrocorticography (ECoG) signals stored in NWB files, for Python.
A collaboration with the Chang Lab.

Installation
From PyPI
bash
$ pip install ecogVIS
From source
First download the ecogVIS source code from this repo.
bash
$ git clone https://github.com/catalystneuro/ecogVIS.git
$ cd ecogVIS
If you're installing into an active environment:
bash
$ pip install -e . -r requirements.txt
You can also create a fresh environment with ecogVIS installed:
bash
$ conda env create -f make_env.yml
Troubleshooting
- If you're using macOS 11+ (e.g. Big Sur or Monterey), you may experience
errors related to OpenGL. Using Python 3.8 should solve these, and you can
use the file
make_env_py38.ymlto create the correct environment. - If you're using macOS 11+ (e.g. Big Sur or Monterey), you may also
experience errors with PyQt freezing and not opening the GUI window. Try
setting the following environment variable (which can be added to your
~/.bashrcor~/.bash_profile):bash $ export QT_MAC_WANTS_LAYER=1
Use
After activating the correct environment, ecogVIS can be started from the terminal:
bash
$ ecogvis
You can also directly pass a file to be opened:
bash
$ ecogvis --source 'filename.nwb'
ecogVIS can be imported and run from python scripts. If the file does not exist (or if you provide an empty string ''), you'll be prompted to choose a file from a dialog. ```python from ecogvis import main import os
fpath = os.path.join('path_to', 'file.nwb') main(fpath) ```
Features
ecogVIS makes it intuitive and simple to viualize and process ECoG signals. It currently features:
Navigation
Seamless visual navigation through long signals from large arrays of electrodes, by mouse-dragging visualization window, control buttons, value fields and keyboard keys. 
Annotations
Add, delete, save and load annotations for meaningful comments anywhere in the visualization.
Intervals
Add, delete, save, load and create custom intervals types to mark specific points in time, with simple click-drag-release mouse movements.
Bad Channels
Mark and un-mark bad channels. Choices are saved in the electrodes group of the current NWB file.
Signal preprocessing
Preprocessing of raw voltage signals, including user-defined Downsampling, CAR and Notch filtering. The resulting processed signals are stored as an LFP object, in the processing group of the current NWB file.
Events detection
Automatic detection of events in audio recordings for Consonant-Vowel tasks. The audio data should be stored in the NWB file in the following way:- Speaker audio - As a TimeSeries object, named 'Speaker CV', in the stimulus group.
- Microphone audio - As a TimeSeries object, named 'Microphone CV', in the acquisition group.

High Gamma
Estimation of high gamma analytic amplitude, with the average of user-defined specific bands. The results are saved as a TimeSeries object, named 'high_gamma', in the processing group of the current or of a new NWB file.
Event-Related Potentials
Grid visualization of high gamma ERP calculated in reference to:- Stimulus (speaker) or response (microphone) time intervals
- Onset or offset points

Periodograms
Grid visualization of Periodograms:- Raw and preprocessed data
- FFT and Welch methods
- Individual devices

Spectral Decomposition
Analytic signal amplitude estimation by Hilbert transform of user-defined frequency bands.WARNING: This function will manipulate an array of size (nSamples, nChannels, nBands), which might be in the order of gigabytes and demand a large memory to operate and is likely to produce a large file.

Plus
- Select electrodes from specific brain areas
- Easy moving between block files for the same subject
Owner
- Name: CatalystNeuro
- Login: catalystneuro
- Kind: organization
- Email: hello@catalystneuro.com
- Website: catalystneuro.com
- Twitter: catalystneuro
- Repositories: 87
- Profile: https://github.com/catalystneuro
GitHub Events
Total
- Watch event: 3
- Issue comment event: 1
- Fork event: 1
Last Year
- Watch event: 3
- Issue comment event: 1
- Fork event: 1
Committers
Last synced: almost 3 years ago
All Time
- Total Commits: 395
- Total Committers: 12
- Avg Commits per committer: 32.917
- Development Distribution Score (DDS): 0.552
Top Committers
| Name | Commits | |
|---|---|---|
| luiztauffer | l****r@h****m | 177 |
| root | l****r@h****m | 97 |
| Ben Dichter | b****r@g****m | 30 |
| Armin Najarpour Foroushani | a****r@g****m | 28 |
| Emily P Stephen | e****4@g****m | 21 |
| Jessie | j****u@b****u | 18 |
| jgmakin | j****n@g****m | 15 |
| Jessie | j****5@g****m | 5 |
| jersaal | j****l@g****m | 1 |
| Laura Gwilliams | l****s@u****u | 1 |
| Jessie Liu | j****u@J****l | 1 |
| Cody Baker | 5****D@u****m | 1 |
Committer Domains (Top 20 + Academic)
Issues and Pull Requests
Last synced: 7 months ago
All Time
- Total issues: 46
- Total pull requests: 56
- Average time to close issues: about 2 months
- Average time to close pull requests: 12 days
- Total issue authors: 10
- Total pull request authors: 10
- Average comments per issue: 1.98
- Average comments per pull request: 1.09
- Merged pull requests: 36
- Bot issues: 0
- Bot pull requests: 4
Past Year
- Issues: 0
- Pull requests: 0
- Average time to close issues: N/A
- Average time to close pull requests: N/A
- Issue authors: 0
- Pull request authors: 0
- Average comments per issue: 0
- Average comments per pull request: 0
- Merged pull requests: 0
- Bot issues: 0
- Bot pull requests: 0
Top Authors
Issue Authors
- bendichter (14)
- jessierliu (10)
- emilyps14 (9)
- kristinksellers (3)
- luiztauffer (3)
- LauraGwilliams (2)
- jthermiz (2)
- mattkleonard (1)
- cbin-cnl (1)
- JanevaD (1)
Pull Request Authors
- Armin12 (23)
- luiztauffer (14)
- emilyps14 (6)
- jessierliu (3)
- dependabot[bot] (3)
- bendichter (2)
- hans (1)
- jgmakin (1)
- jersaal (1)
- LauraGwilliams (1)
Top Labels
Issue Labels
Pull Request Labels
Packages
- Total packages: 1
-
Total downloads:
- pypi 51 last-month
- Total dependent packages: 0
- Total dependent repositories: 1
- Total versions: 6
- Total maintainers: 2
pypi.org: ecogvis
Timeseries visualizer for Electrocorticography (ECoG) signals stored in NWB files.
- Homepage: https://github.com/catalystneuro/ecogVIS
- Documentation: https://ecogvis.readthedocs.io/
- License: bsd-3-clause
-
Latest release: 1.2.2
published over 5 years ago
Rankings
Maintainers (2)
Dependencies
- PyQt5 ==5.15.0
- PyQtWebEngine ==5.15.0
- PyYAML ==5.3.1
- cycler ==0.10.0
- h5py ==2.10.0
- matplotlib ==3.2.1
- ndx-bipolar-scheme >=0.3.1
- ndx-ecog ==0.1.1
- ndx-hierarchical-behavioral-data ==0.1.1
- ndx-icephys-meta ==0.1.0
- ndx-spectrum ==0.2.2
- ndx-survey-data ==0.1.0
- numpy ==1.18.2
- pandas ==1.0.3
- process_nwb ==0.1.0
- pynwb ==1.3.2
- pyopengl ==3.1.5
- pyqtgraph ==0.10.0
- scipy ==1.4.1
- PyQt5 *
- PyQtWebEngine *
- PyYAML *
- cycler *
- h5py *
- matplotlib *
- ndx-bipolar-scheme *
- ndx-ecog *
- ndx-hierarchical-behavioral-data *
- ndx-icephys-meta *
- ndx-spectrum *
- ndx-survey-data *
- numpy *
- pandas *
- process_nwb *
- pynwb ==1.3.2
- pyopengl *
- pyqtgraph *
- scipy *
- tqdm *