All Projects → catalystneuro → ecogVIS

catalystneuro / ecogVIS

Licence: BSD-3-Clause license
Time series visualizer and data processing tools for Electrocorticography (ECoG) signals stored in NWB files, for Python.

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to ecogVIS

Mne Python
MNE: Magnetoencephalography (MEG) and Electroencephalography (EEG) in Python
Stars: ✭ 1,766 (+9711.11%)
Mutual labels:  neuroscience, electrocorticography
inferring-hidden-structure-retinal-circuits
Data and example scripts used in the paper `Inferring hidden structure in multilayered neural circuits`
Stars: ✭ 13 (-27.78%)
Mutual labels:  neuroscience
pyRiemann
Python machine learning package based on sklearn API for multivariate data processing and statistical analysis of symmetric positive definite matrices via Riemannian geometry
Stars: ✭ 470 (+2511.11%)
Mutual labels:  neuroscience
nix
Neuroscience information exchange format
Stars: ✭ 64 (+255.56%)
Mutual labels:  neuroscience
brian2cuda
A brian2 extension to simulate spiking neural networks on GPUs
Stars: ✭ 46 (+155.56%)
Mutual labels:  neuroscience
ITKTubeTK
TubeTK is an open-source toolkit for the segmentation, registration, and analysis of tubes and surfaces in images, developed by Kitware, Inc.
Stars: ✭ 29 (+61.11%)
Mutual labels:  neuroscience
CellExplorer
CellExplorer is a graphical user interface, a standardized processing module and data structure for exploring and classifying single cells acquired using extracellular electrodes.
Stars: ✭ 55 (+205.56%)
Mutual labels:  neuroscience
BrainPy
Brain Dynamics Programming in Python
Stars: ✭ 242 (+1244.44%)
Mutual labels:  neuroscience
alyx
Database for experimental neuroscience laboratories
Stars: ✭ 39 (+116.67%)
Mutual labels:  neuroscience
PsyNeuLink
A block modeling system for cognitive neuroscience
Stars: ✭ 73 (+305.56%)
Mutual labels:  neuroscience
arbor
The Arbor multi-compartment neural network simulation library.
Stars: ✭ 87 (+383.33%)
Mutual labels:  neuroscience
ndstore
code for storing neurodata images and image annotations
Stars: ✭ 39 (+116.67%)
Mutual labels:  neuroscience
awesome-cogsci
An Awesome List of Cognitive Science Resources
Stars: ✭ 71 (+294.44%)
Mutual labels:  neuroscience
nftsim
C++ library for simulation of multiscale neural field dynamics
Stars: ✭ 24 (+33.33%)
Mutual labels:  neuroscience
brainGraph
Graph theory analysis of brain MRI data
Stars: ✭ 136 (+655.56%)
Mutual labels:  neuroscience
Pyllusion
A Parametric Framework to Generate Visual Illusions using Python
Stars: ✭ 35 (+94.44%)
Mutual labels:  neuroscience
spikeinterface
A Python-based module for creating flexible and robust spike sorting pipelines.
Stars: ✭ 193 (+972.22%)
Mutual labels:  neuroscience
elephant
Elephant is the Electrophysiology Analysis Toolkit
Stars: ✭ 140 (+677.78%)
Mutual labels:  neuroscience
nidb
NeuroInformatics Database
Stars: ✭ 26 (+44.44%)
Mutual labels:  neuroscience
brainreg
Automated 3D brain registration with support for multiple species and atlases.
Stars: ✭ 73 (+305.56%)
Mutual labels:  neuroscience

ecogVIS

Timeseries visualizer and data processing tools for Electrocorticography (ECoG) signals stored in NWB files, for Python.

PyPI version codecov

A collaboration with the Chang Lab.

Installation

From PyPI

$ pip install ecogVIS

From source

First download the ecogVIS source code from this repo.

$ git clone https://github.com/catalystneuro/ecogVIS.git
$ cd ecogVIS

If you're installing into an active environment:

$ pip install -e . -r requirements.txt

You can also create a fresh environment with ecogVIS installed:

$ 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.yml to 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 ~/.bashrc or ~/.bash_profile):
    $ export QT_MAC_WANTS_LAYER=1

Use

After activating the correct environment, ecogVIS can be started from the terminal:

$ ecogvis

You can also directly pass a file to be opened:

$ 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.

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.
The resulting detected intervals, 'TimeIntervals_mic' and 'TimeIntervals_speaker', are saved as TimeIntervals objects in the intervals group of the current NWB file and can be used later for ERP analysis. A preview allows for testing of the detection parameters before running it for the whole duration of the audio signals.

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
The grid items are coloured to mark specific cortical areas and can be rotated to correspond anatomically to them. Emphasis can be given to specific areas of interest and double-clicking an item allows for fast inspection of the single electrode's ERP in detail.

Periodograms Grid visualization of Periodograms:
  • Raw and preprocessed data
  • FFT and Welch methods
  • Individual devices
The grid items are coloured to mark specific cortical areas and can be rotated to correspond anatomically to them. Emphasis can be given to specific areas of interest and double-clicking an item allows for fast inspection of the single electrode's Periodogram in detail.

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
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].