Tools and functions for neural acoustic data processing and analysis in python. The documentation can be acccessed at the link below. It contains the API reference as well as example notebooks.
naplib-python is available on PyPi. To install or update this package with pip, run the following command:
pip install naplib
To upgrade the version, run:
pip install --upgrade naplib
The basic data structure for storing neural recording data is the Data
object, which contains neural recordings and other variables associated with different trials such as stimuli and other metadata. Examples of loading and using this data structure can be found in the documentation and the docs/examples/ folder.
In addition to analysis and processing tools, naplib-python contains a suite of visualization tools, including brain plotting for ECoG and intracranial EEG electrodes. The backend can use either pure matplotlib for static plots, or plotly for 3D interactive plots.
naplib-python is built by the Neural Acoustic Processing Lab at Columbia University. We primarily use it for processing neural data coming from electrocorticography (ECoG) and electroencephalography (EEG) along with paired audio stimuli in order to study the auditory cortex. You are free to use the software according to its license, and we welcome contributions if you would like to propose changes, additions, or fixes. See our contribution guide for more details.
If you find naplib-python
useful for your research, please cite the following paper (link):
Gavin Mischler, Vinay Raghavan, Menoua Keshishian, & Nima Mesgarani (2023). naplib-python: Neural acoustic data processing and analysis tools in python. Software Impacts, 17, 100541.
The following items are ToDo items on the backlog:
- Look into data parallelization methods for the Data object and associated methods
- Consider making the Data object a dataclass
- Implement functionality to write Data objects to MATLAB formats (possibly EEGLab formats)