Features¶
CaImAn includes a variety of scalable methods for the analysis of calcium (and voltage) imaging data:
Motion correction [NoRMCorre]
Fast parallelizable OpenCV and FFT-based motion correction of large movies
Can be run also in online mode (i.e. one frame at a time)
Corrects for non-rigid artifacts due to raster scanning or non-uniform brain motion
FFTs can be computed on GPUs (experimental). Requires pycuda and skcuda to be installed.
Source extraction
Separates different sources based on constrained nonnegative matrix Factorization [CNMF], [SNMF], [CaImAn]
Deals with heavily overlapping and neuropil contaminated movies
Suitable for both 2-photon [CNMF] and 1-photon [CNMF_E] calcium imaging data
Selection of inferred sources using a pre-trained convolutional neural network classifier
Online processing available for both 2-photon [OnACID] and 1-photon data streams [OnACID-E]
Denoising, deconvolution and spike extraction
Automatic ROI registration across multiple days [CaImAn]
Handling of very large datasets
Utilizes memory mapping for efficient loading of large datasets.
Parallel processing in patches.
Frame-by-frame online processing.
OpenCV-based efficient movie playing and resizing.
Pipeline for Voltage Imaging Analysis [VolPY]
Uses a Mask R-CNN to identify neurons in the FOV
Extracts spiking activity using adaptive template matching.
Fully integrated with CaImAn, inherits all its capabilities.
Behavioral Analysis [Behavior]
Unsupervised algorithms based on optical flow and NMF to automatically extract motor kinetics
Scales to large datasets by exploiting online dictionary learning
We also developed a tool for acquiring movies at high speed with low cost equipment [Github repository].
Variance Stabilization [VST]
Noise parameters estimation under the Poisson-Gaussian noise model
Fast algorithm that scales to large datasets
A basic demo can be found at
CaImAn/demos/notebooks/demo_VST.ipynb
References¶
The following references provide the theoretical background and original code for the included methods.
Software package detailed description and benchmarking¶
If you use this code please cite the corresponding papers where original methods appeared (see References below), as well as:
Deconvolution and demixing of calcium imaging data¶
Pnevmatikakis, E.A., Soudry, D., Gao, Y., Machado, T., Merel, J., … & Paninski, L. (2016). Simultaneous denoising, deconvolution, and demixing of calcium imaging data. Neuron 89(2):285-299, [paper], [Github repository].
Pnevmatikakis, E.A., Gao, Y., Soudry, D., Pfau, D., Lacefield, C., … & Paninski, L. (2014). A structured matrix factorization framework for large scale calcium imaging data analysis. arXiv preprint arXiv:1409.2903. [paper].
Zhou, P., Resendez, S. L., Stuber, G. D., Kass, R. E., & Paninski, L. (2016). Efficient and accurate extraction of in vivo calcium signals from microendoscopic video data. eLife 2018;7:e28728. [paper], [Github repository].
Friedrich J. and Paninski L. Fast active set methods for online spike inference from calcium imaging. NIPS, 29:1984-1992, 2016. [paper], [Github repository].
Online Analysis¶
Motion Correction¶
Pnevmatikakis, E.A., and Giovannucci A. (2017). NoRMCorre: An online algorithm for piecewise rigid motion correction of calcium imaging data. Journal of Neuroscience Methods, 291:83-92 [paper], [Github repository].
Behavioral Analysis¶
Variance Stabilization¶
Tepper, M., Giovannucci, A., and Pnevmatikakis, E (2018). Anscombe meets Hough: Noise variance stabilization via parametric model estimation. In ICASSP, 2018. [paper]. [Github repository]