-
Notifications
You must be signed in to change notification settings - Fork 370
CaImAn features and references
CaImAn includes a variety of scalable methods for the analysis of calcium imaging data:
-
Handling of very large datasets
- Memory mapping
- Parallel processing in patches
- Frame-by-frame online processing [6]
- OpenCV-based efficient movie playing and resizing
-
Motion correction [7]
- 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) [1-3]
- Deals with heavily overlapping and neuropil contaminated movies
- Suitable for both 2-photon [2] and 1-photon [4] calcium imaging data
- Selection of inferred sources using a pre-trained convolutional neural network classifier
- Online processing available [6]
-
Denoising, deconvolution and spike extraction
-
Automatic ROI registration across multiple days [1]
-
Behavioral Analysis [8]
- 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 [9]
- 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
The following references provide the theoretical background and original code for the included methods.
If you use this code please cite the corresponding papers where original methods appeared (see References below), as well as:
[1] Giovannucci A., Friedrich J., Gunn P., Kalfon J., Koay S.A., Taxidis J., Najafi F., Gauthier J.L., Zhou P., Tank D.W., Chklovskii D.B., Pnevmatikakis E.A. (2018). CaImAn: An open source tool for scalable Calcium Imaging data Analysis. bioarXiv preprint. [paper]
[2] 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].
[3] 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].
[4] 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. arXiv preprint arXiv:1605.07266. [paper], [Github repository].
[5] Friedrich J. and Paninski L. Fast active set methods for online spike inference from calcium imaging. NIPS, 29:1984-1992, 2016. [paper], [Github repository].
[6] Giovannucci, A., Friedrich J., Kaufman M., Churchland A., Chklovskii D., Paninski L., & Pnevmatikakis E.A. (2017). OnACID: Online analysis of calcium imaging data in real data. NIPS 2017, pp. 2378-2388. [paper]
[7] 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].
[8] Giovannucci, A., Pnevmatikakis, E. A., Deverett, B., Pereira, T., Fondriest, J., Brady, M. J., ... & Masip, D. (2017). Automated gesture tracking in head-fixed mice. Journal of Neuroscience Methods, 300:184-195. [paper].
[9] Tepper, M., Giovannucci, A., and Pnevmatikakis, E (2018). Anscombe meets Hough: Noise variance stabilization via parametric model estimation. In ICASSP, 2018. [paper]. [Github repository]