CIPipeline (imported as ci_pipe) is a Python library for building and running calcium-imaging processing pipelines. It provides core pipeline primitives, optional adapters for Inscopix (isx) and CaImAn (caiman), utilities, plotters and example Jupyter notebooks.
This project was developed as a final project by students from Facultad de Ingeniería, Universidad de Buenos Aires, under the supervision of Dr. Fernando Chaure, in collaboration with the CGK Laboratory.
- González Agustín
- Loyarte Iván
- Rueda Nazarena
- Singer Joaquín
- Install the library from PyPI
pip install cipipeline-
Install libraries/packages required for specific modules
Currently, CIPipeline supports the following optional modules:
-
Inscopix
isx(required for theisxmodule): Software and installation instructions can be downloaded from the vendor site: https://www.inscopix.comNote: Do not confuse this with the public
isxlibrary available on PyPI or GitHub. This project requires the proprietary Inscopix software package. -
CaImAn (required for the
caimanmodule):CaImAn strongly recommends installing via conda for full functionality; follow the CaImAn docs.
-
-
Jupyter (recommended for opening example notebooks)
pip install jupyterlab
# or
pip install notebookHere's a simple example of creating and running a calcium imaging pipeline with ISX:
import isx
from ci_pipe.pipeline import CIPipe
# Create a pipeline from videos in a directory
pipeline = CIPipe.with_videos_from_directory(
'input_dir',
outputs_directory='output_dir',
isx=isx
)
# Run a complete processing pipeline
(
pipeline
.set_defaults(
isx_bp_subtract_global_minimum=False,
isx_mc_max_translation=25,
isx_acr_filters=[('SNR', '>', 3), ('Event Rate', '>', 0), ('# Comps', '=', 1)]
)
.isx.preprocess_videos()
.isx.bandpass_filter_videos()
.isx.motion_correction_videos(isx_mc_series_name="series1")
.isx.normalize_dff_videos()
.isx.extract_neurons_pca_ica()
.isx.detect_events_in_cells()
.isx.auto_accept_reject_cells()
.isx.longitudinal_registration(isx_lr_reference_selection_strategy='by_num_cells_desc')
)For more examples, including CaImAn integration and advanced workflows, see the notebooks in docs/examples.
- PyPI package: https://pypi.org/project/cipipeline
- CGK Lab: https://cgk-laboratory.github.io
- Inscopix: https://www.inscopix.com
- CaImAn: https://github.com/flatironinstitute/CaImAn and https://caiman.readthedocs.io
- Jupyter starter guide: https://jupyter.org/install
Example Jupyter notebooks are available in docs/examples. To run them locally:
git clone https://github.com/CGK-Laboratory/ci_pipe
cd ci_pipe
pip install -e .
# install optional dependencies if needed (isx, caiman)
jupyter lab
# open notebooks in docs/examplesRead the Spanish version in README_es.md