image thumbnail

CIAtah

version 3.35.1 (19.4 MB) by Biafra Ahanonu
CIAtah is a software package for calcium imaging analysis of one- and two-photon imaging datasets. https://github.com/bahanonu/ciatah

183 Downloads

Updated 26 Jul 2021

From GitHub

View license on GitHub

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.

Currently requires MATLAB and runs on all major operating systems (Windows, Linux [e.g. Ubuntu], and macOS).

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

Below are recordings and additional documents for users who want to learn more about calcium imaging analysis/experiments and the CIAtah pipeline.

Webinar

This webinar gives an overview of calcium imaging analysis (with a focus on CIAtah) along with tips for improving experiments and analysis: https://info.inscopix.com/inscopix-inspire-view-webinarbiafra-ahanonu-signal-in-the-noise-distinguishing-relevant-neural-activity-in-calcium-imaging.

Workshop tutorial

This recording gives an overview of setting up and using CIAtah: https://www.youtube.com/watch?v=I6abW3uuJJw.

GRINjector

A surgical device to help with implanting gradient-refractive index (GRIN) lens probes into the brain or other regions: https://github.com/bahanonu/GRINjector.

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 (i.e. CLEAN algorithm, coming soon!),
    • cross-session cell alignment, and more.
  • Includes example one- and two-photon calcium imaging datasets for testing ciatah.
  • Supports a plethora of major imaging movie file formats: HDF5, NWB, AVI, ISXD [Inscopix], TIFF, and Bio-Formats compatible formats (Olympus [OIR] and Zeiss [CZI and LSM] currently, additional support to be added or upon request).
  • Supports Neurodata Without Borders data standard (see calcium imaging tutorial) for reading/writing cell-extraction and imaging movie files.
  • Animal position tracking (e.g. in open-field assay).
  • Requires MATLAB and runs on all major operating systems (Windows, Linux [e.g. Ubuntu], and macOS).

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.

Download and install CIAtah

  • 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.
try; cd(userpath); catch; end;

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

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

Check required toolboxes are installed

CIAtah depends on several MATLAB toolboxes to run properly. Run the below command to have CIAtah check whether dependencies have been installed properly. If not use the Add-Ons (https://www.mathworks.com/help/matlab/matlab_env/get-add-ons.html) explorer to install each toolbox.

ciapkg.io.matlabToolboxCheck;

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.
  • [Optional] If run into issues opening certain AVI files (e.g. due to codec issues) with CIAtah/MATLAB, install K-Lite Codec Pack (https://codecguide.com/download_kl.htm) or similar for added support.

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.

Using the ciatah GUI class, users can select loaded folders and change the regular expression to match the name of the files in the movie, both for the raw data and for any processed movies in the folder. See below:

ciapkgMovie

Alternatively, users can run via the command-line:

% 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 project is licensed under the terms of the MIT license.

Repository stats

  • visitors (starting 2020.09.22)
  • (starting 2020.09.16)

Cite As

Biafra Ahanonu (2021). CIAtah (https://github.com/bahanonu/ciatah/releases/tag/v3.35.1), GitHub. Retrieved .

MATLAB Release Compatibility
Created with R2019a
Compatible with R2017a and later releases
Platform Compatibility
Windows macOS Linux

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

+ciapkg

+ciapkg/+api

+ciapkg/+demo

+ciapkg/+download

+ciapkg/+inscopix

+ciapkg/+io

+ciapkg/+nwb

+ciapkg/+overloaded

+ciapkg/+overloaded/private

+ciapkg/+serial

+ciapkg/+signal_extraction

+ciapkg/+view

@ciatah

@ciatah/old

ciapkg/behavior

ciapkg/classification

ciapkg/download

ciapkg/hdf5

ciapkg/image

ciapkg/inscopix

ciapkg/io

ciapkg/motion_correction

ciapkg/movie_processing

ciapkg/neighbor

ciapkg/settings

ciapkg/signal_extraction

ciapkg/signal_extraction/pca_ica

ciapkg/signal_extraction/pca_ica_2

ciapkg/signal_processing

ciapkg/tracking

ciapkg/video

ciapkg/view

docs/docs

file_exchange

file_exchange/BinaryFisherLDA_v2.0

file_exchange/DataDensity/DataDensity

file_exchange/DataHigh1.1

file_exchange/DataHigh1.1/examples

file_exchange/DataHigh1.1/gpfa

file_exchange/DataHigh1.1/gpfa/core_gpfa

file_exchange/DataHigh1.1/gpfa/core_twostage

file_exchange/DataHigh1.1/gpfa/plotting

file_exchange/DataHigh1.1/gpfa/util

file_exchange/DataHigh1.1/gpfa/util/invToeplitz

file_exchange/DataHigh1.1/gpfa/util/precomp

file_exchange/DataHigh1.1/gui

file_exchange/DataHigh1.1/tools

file_exchange/DataHigh1.1/util

file_exchange/FMINSEARCHBND/FMINSEARCHBND

file_exchange/FMINSEARCHBND/FMINSEARCHBND/test

file_exchange/JAAdrian-MatlabProgressBar-eb40902

file_exchange/JAAdrian-MatlabProgressBar-eb40902/demos

file_exchange/Kehl

file_exchange/MI_GG

file_exchange/MutualInformation

file_exchange/MutualInformation/Entropy

file_exchange/MutualInformation/JointEntropy

file_exchange/NearestSymmetricPositiveDefinite

file_exchange/RandomWalks

file_exchange/area_intersect_circle_analytical

file_exchange/binned_plot

file_exchange/densityplot

file_exchange/deptoolbox

file_exchange/dirrec

file_exchange/dispstat

file_exchange/distributionPlot/distributionPlot

file_exchange/efficient_subpixel_registration

file_exchange/export_fig

file_exchange/fieldnamesr

file_exchange/filtering

file_exchange/findjobj

file_exchange/finput

file_exchange/fn_structdisp

file_exchange/fwhm

file_exchange/gaussianbpf

file_exchange/ginputc

file_exchange/group_equally

file_exchange/hexscatter

file_exchange/imoverlay

file_exchange/jsonlab-1.5

file_exchange/jsonlab-1.5/examples

file_exchange/kakearney-plotboxpos-pkg-96927f2

file_exchange/kakearney-plotboxpos-pkg-96927f2/plotboxpos

file_exchange/m2html

file_exchange/m2html/@template

file_exchange/mmread

file_exchange/movingstat

file_exchange/natsortfiles

file_exchange/ndSparse_G3_2013_03_13

file_exchange/ndhist

file_exchange/oopsi-master

file_exchange/parfor_progress

file_exchange/plotboxpos-pkg-master

file_exchange/plotboxpos-pkg-master/plotboxpos

file_exchange/pulldown

file_exchange/readBigTiffStack

file_exchange/reorderableListbox_1.1.1

file_exchange/rotateXLabels

file_exchange/rpcode

file_exchange/saveastiff_4.4

file_exchange/savemultfigs

file_exchange/sigm_fit

file_exchange/simbin

file_exchange/subaxis

file_exchange/tight_subplot

file_exchange/tightfig

file_exchange/vectCircShift

file_exchange/venn

file_exchange/vennX

file_exchange/violin

file_exchange/wildcardsearch

file_exchange/xml2struct

file_exchange/FMINSEARCHBND/FMINSEARCHBND/demo

file_exchange/NearestSymmetricPositiveDefinite

file_exchange/RandomWalks

file_exchange/efficient_subpixel_registration

file_exchange/natsortfiles

To view or report issues in this GitHub add-on, visit the GitHub Repository.
To view or report issues in this GitHub add-on, visit the GitHub Repository.