Efficient Software and Algorithms for the Representation and Analysis of Neural Data
Kemere, Caleb T
Master of Science
Recent technological advances have enabled neural recordings consisting of hundreds to thousands of channels. As the pace of these developments continues to grow rapidly, it is imperative to have fast, flexible tools supporting the analysis of neural data gathered by such large scale modalities. Here we introduce the nelpy (neuroelectrophysiology in Python) ecosystem, a software suite that enables the neuroscientist and engineer to represent data in a containerized manner and perform typical operations on those objects. The base nelpy package supports a variety of common experimental types encountered by electrophysiologists, including sampled continuous signals, spike trains, and binned spike trains, all defined over an arbitrary domain. Additional features include a highly customizable plotting library for rapid data exploration and visualization. The essential nelpy functionality of data representation can be augmented by other modules that perform a variety of analyses. As an example of extensibility, we focus on signal processing and spectral analyses provided by ghostipy (grand harmonization of spectral techniques in Python). Besides providing functionality such as optimal digital filters and time-frequency transforms, ghostipy implements analyses that outperform commercial software in both time and space complexity for high channel count data. Overall, our software suite reduces frequently encountered bottlenecks in the experimental pipeline, and we believe this toolset will enhance both the portability and scalability of neural data analysis.