Skip to main content

Timeseries visualizer for Electrocorticography (ECoG) signals stored in NWB files.

Project description

ecogVIS

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

codecov

A collaboration with with Chang Lab.

Installation

To clone the repository and set up a conda environment, do:

$ git clone https://github.com/ben-dichter-consulting/ecogVIS
$ conda env create -f ecogVIS/make_env.yml
$ source activate ecog_vis

Alternatively, to install ecogVIS directly in an existing environment:

$ pip install git+https://github.com/ben-dichter-consulting/ecogVIS

After activating the correct environment, ecogVIS can be imported and run from python. 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.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

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

ecogvis-1.0.1.tar.gz (60.0 kB view details)

Uploaded Source

Built Distribution

ecogvis-1.0.1-py3-none-any.whl (66.4 kB view details)

Uploaded Python 3

File details

Details for the file ecogvis-1.0.1.tar.gz.

File metadata

  • Download URL: ecogvis-1.0.1.tar.gz
  • Upload date:
  • Size: 60.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/46.1.3.post20200330 requests-toolbelt/0.9.1 tqdm/4.44.1 CPython/3.7.7

File hashes

Hashes for ecogvis-1.0.1.tar.gz
Algorithm Hash digest
SHA256 c5af4b175eb0c5d449bc81a7a8467f4acbf2cb90086b1b8574a685efd0d204c2
MD5 8b0086bac13d9cf460d3cf9e3889f35a
BLAKE2b-256 163e297980d35b1e766747adc4b4ee5b51091853b4abc1b15ea6f82413e62929

See more details on using hashes here.

File details

Details for the file ecogvis-1.0.1-py3-none-any.whl.

File metadata

  • Download URL: ecogvis-1.0.1-py3-none-any.whl
  • Upload date:
  • Size: 66.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.1.1 pkginfo/1.5.0.1 requests/2.23.0 setuptools/46.1.3.post20200330 requests-toolbelt/0.9.1 tqdm/4.44.1 CPython/3.7.7

File hashes

Hashes for ecogvis-1.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 7f90189559c07e5b656f35b048189a49a5a4b218effb88b98e5f956239756d5f
MD5 76cc92e2ef1f4eba4b30f802f3b6b88f
BLAKE2b-256 06446dd9fe7315fb1b5dd887a514b6a07ee52e46a524db4464402a72d234c137

See more details on using hashes here.

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