Skip to content

Latest commit

 

History

History
234 lines (182 loc) · 13.5 KB

README.md

File metadata and controls

234 lines (182 loc) · 13.5 KB

CIAtah

Maintenance GitHub release (latest by date) GitHub top language GitHub license GitHub code size in bytes visitors


CIAtah (pronounced cheetah; formerly calciumImagingAnalysis [ciapkg]) is a software package for analyzing one- and two-photon calcium imaging datasets.

Full documentation at https://bahanonu.github.io/ciatah/.

ciatah_logo

Contents

Contact: Biafra Ahanonu, PhD (github [at] bahanonu [dot] com).

Made in USA.
USA


CIAtah features:

  • A GUI with different modules for large-scale batch analysis.
  • CIAtah functions (in ciapkg/+ciapkg folders) can be used to create GUI-less, command line-ready analysis pipelines.
  • Includes all major calcium imaging analysis steps:
    • movie visualization (including reading from disk, for fast viewing of large movies)
    • pre-processing (motion correction, spatiotemporal downsampling, spatial filtering, relative fluorescence calculation, etc.)
    • support for multiple cell-extraction methods (CELLMax, PCA-ICA, CNMF, CNMF-E, EXTRACT, etc.)
    • manual classification of cells via GUIs,
    • automated cell classification (coming soon!),
    • cross-session cell alignment, and more.
  • Includes example one- and two-photon calcium imaging datasets for testing ciatah.
  • Animal position tracking (e.g. in open-field assay).
  • Supports most major imaging movie file formats: HDF5, NWB, AVI, ISXD [Inscopix], and TIFF.
  • Supports Neurodata Without Borders data standard (see calcium imaging tutorial) for reading/writing cell-extraction and imaging movie files.
  • Requires MATLAB.

CIAtah example features

Support for entire calcium imaging pipeline.

Movie processing, cell extraction, and analysis validation.

ciapkgMovie

Movie processing, cell extraction, and analysis validation.

ciapkgMovie

Cell sorting GUI and stable cell alignment across imaging sessions.

ciapkgMovie m121_matchedCells


Quick start guide

Below are steps needed to quickly get started using the CIAtah software package in MATLAB.

Install

  • Clone the CIAtah repository (using GitHub desktop or command line) or download the repository zip and unzip (e.g. run below MATLAB command).
% Optional: this will set MATLAB working folder to the default user path. Make sure you have read/write permissions.
cd(userpath);

% Download and unzip current repository
unzip('https://github.com/bahanonu/calciumImagingAnalysis/archive/master.zip');

% Make CIAtah the working folder
cd('calciumImagingAnalysis-master')

Setup CIAtah

  • Run CIAtah using the below MATLAB commands. Call obj; in the MATLAB command window each time you want to go back to the main GUI. Note: calciumImagingAnalysis class is now called ciatah, all functionality is the same.
% Loads the class into an object for use in this session
obj = ciatah;

% Runs routines to check dependencies and help user get setup.
obj.setup;

% Open the class menu (always type `obj` then enter load the class/modules menu)
obj % then hit enter, no semicolon!
  • Afterwards, run the modelAddNewFolders module to add data folders the current CIAtah class object.
  • Run obj; in the command window to see the main GUI.
  • Full documentation at https://bahanonu.github.io/ciatah/.
  • [Optional] Users on Windows systems can download Everything (https://www.voidtools.com/). It is a very useful and extremely fast search engine for files and folders that allows users to quickly obtain lists of full folder paths for analysis in CIAtah.

Visualize movies quickly using read from disk

Users can quickly visualize movies in any of the supported formats (HDF5, NWB, AVI, TIFF, and ISXD) using the playMovie function. This will read directly from disk, allowing users to scroll through frames to visually check movies before or after processing. See below code:

% Use the absolute path to the movie file or a valid relative path.
playMovie('ABSOLUTE\PATH\TO\MOVIE');

When using HDF5 files, check the dataset name containing movie with h5disp then input the full dataset name (e.g. below is for a standard NWB-formatted HDF5 file):

playMovie('ABSOLUTE\PATH\TO\MOVIE','inputDatasetName','/acquisition/TwoPhotonSeries/data');

Quick start (command line or GUI-less batch analysis)

After downloading CIAtah and running the setup as above, users interested in command-line processing can open up the example M-file by running the below command. By running individual code-block cells, users are guided from pre-processing through cell-extraction to cross-session analysis.

edit ciapkg.demo.cmdLinePipeline

Acknowledgments

Thanks to Jones G. Parker, PhD (https://parker-laboratory.com/) for providing extensive user feedback during the development of the CIAtah software package.

Additional thanks to Drs. Jesse Marshall, Jérôme Lecoq, Tony H. Kim, Hakan Inan, Lacey Kitch, Maggie Larkin, Elizabeth Otto Hamel, Laurie Burns, and Claudia Schmuckermair for providing feedback, specific functions, or helping develop aspects of the code used in CIAtah.

References

Please cite Corder*, Ahanonu*, et al. 2019 Science publication or the Ahanonu, 2018 Zenodo release if you used the software package or code from this repository to advance/help your research:

@article{corderahanonu2019amygdalar,
  title={An amygdalar neural ensemble that encodes the unpleasantness of pain},
  author={Corder, Gregory and Ahanonu, Biafra and Grewe, Benjamin F and Wang, Dong and Schnitzer, Mark J and Scherrer, Gr{\'e}gory},
  journal={Science},
  volume={363},
  number={6424},
  pages={276--281},
  year={2019},
  publisher={American Association for the Advancement of Science}
}

Questions?

Please email any additional questions not covered in the repository to github [at] bahanonu [dot] com or open an issue.

License

Copyright (C) 2013-2021 Biafra Ahanonu

This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program. If not, see http://www.gnu.org/licenses/.

Repository stats

  • visitors (starting 2020.09.22)
  • Hits (starting 2020.09.16)