Skip to content

CaImAn features and references

eftychios pnevmatikakis edited this page Oct 9, 2018 · 2 revisions

Features

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

    • Infers neural activity from fluorescence traces [2]
    • Also works in online mode (i.e. one sample at a time) [5]
  • 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

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:

[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]

Deconvolution and demixing of calcium imaging data

[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].

Online Analysis

[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]

Motion Correction

[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].

Behavioral Analysis

[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].

Variance Stabilization

[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]