pystorm3

Python implementation of some Brainstorm functions


Keywords
neuroscience, neuroimaging, neural, oscillations, time, series, analysis, frequency, neuroimaging-analysis, signal-processing, time-series-analysis
License
xpp
Install
pip install pystorm3==0.1.8

Documentation

Pystorm

Python implementation of various functions from the Brainstorm repository, often written for GPU compatibility and/or jit compilation.

Note on the current scope of Pystorm

Pystorm does not handle interactions with Brainstorm or matlab and, in its current state, does not handle loading of data files.

It mainly operates as a library of functions to perform operations on data directly (e.g., numpy array of sensor signals and imaging kernel).

It aims to be lightweight, fast, and hopefully easily scalable to parallel computing and high performance computing.

It can be installed using pip through pypi where it is named pystorm3:

python -m pip install pystorm3

or

pip install pystorm3.

Pystorm functions

Currently implemented

  • Power spectral density estimation (PSD Welch method, physical units only) in source and sensor space (can operate on GPU)
  • Band-pass filtering (equivalent to "bst-hfilter-2019")
  • Hilbert transform
  • Amplitude envelope correlation (equivalent to "penv" and "oenv"). Can only be applied on signal directly for now: does not work with (sensor, kernel) input.

Coming soon

Currently not implemented

  • Handling of unconstrained sources