Skip to main content

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

  1. Install the library from PyPI
pip install cipipeline
  1. Install libraries/packages required for specific modules

    Currently, CIPipeline supports the following optional modules:

    • Inscopix isx (required for the isx module): Software and installation instructions can be downloaded from the vendor site: https://www.inscopix.com

      Note: Do not confuse this with the public isx library available on PyPI or GitHub. This project requires the proprietary Inscopix software package.

    • CaImAn (required for the caiman module):

      CaImAn strongly recommends installing via conda for full functionality; follow the CaImAn docs.

  2. 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

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)

Source distribution for cipipeline 0.3.0
File Size Uploaded
cipipeline-0.3.0.tar.gz 26.3 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for cipipeline 0.3.0
File Interpreter ABI Platform
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

Release history Release notifications | RSS feed

This release

0.3.0 This release

2 release files

0.2.1

2 release files

0.1.4

2 release files

0.1.3

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page