CIPipeline
Description
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.
Authors
- González Agustín
- Loyarte Iván
- Rueda Nazarena
- Singer Joaquín
Installation
- 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 notebook
Quick Start
Here'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.
Documentation and Resources
- 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
Examples
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/examples
Read the Spanish version in README_es.md
Release files for cipipeline 0.3.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| cipipeline-0.3.0.tar.gz | 26.3 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| cipipeline-0.3.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 60.6 kB
Release files / cipipeline-0.3.0.tar.gz
| Download URL | cipipeline-0.3.0.tar.gz |
|---|---|
| Size | 26.3 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
c929011def08571775fedcf24bb92152c04fc6807c3993b02f3b41cbce294d58
|
|
BLAKE2b-256 checksum How to use checksums |
cdd0ddb2fa123330b1c115b4fea30275c954c26771e1fd89fe1579b23174c3f0
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.10.19
|
Release files / cipipeline-0.3.0-py3-none-any.whl
| Download URL | cipipeline-0.3.0-py3-none-any.whl |
|---|---|
| Size | 34.3 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
694c363b7195338d5f8879908852dc4faa6fb6d0236eaa40c646234d65b0b63b
|
|
BLAKE2b-256 checksum How to use checksums |
edef9934dd752b8603e6ad4baf3cf6b98fa0aed2910023fe717b4c7086bdcd8b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.10.19
|