CIPipeline (referido en imports como ci_pipe) es una biblioteca Python para construir y ejecutar pipelines de procesamiento de imágenes de calcio. Provee primitivas de pipeline, adaptadores opcionales para Inscopix (isx) y CaImAn (caiman), utilidades y notebooks de ejemplo.
Este proyecto fue desarrollado como trabajo final por estudiantes de la Facultad de Ingeniería, Universidad de Buenos Aires, bajo la supervisión del Dr. Fernando Chaure, en colaboración con el Laboratorio CGK.
- González Agustín
- Loyarte Iván
- Rueda Nazarena
- Singer Joaquín
- Instalar la librería desde PyPI
pip install cipipeline-
Instalar bibliotecas/paquetes requeridos para módulos específicos
Actualmente, CIPipeline soporta los siguientes módulos opcionales:
-
Inscopix
isx(requerido para el módulo deisx): El software y las instrucciones de instalación pueden descargarse del sitio del fabricante: https://www.inscopix.comNota: No confundir con la biblioteca pública
isxdisponible en PyPI o GitHub. Este proyecto requiere el paquete de software propietario de Inscopix. -
CaImAn (requerido para el módulo de
caiman):CaImAn recomienda usar conda para una instalación completa; sigue la documentación de CaImAn.
-
-
Jupyter (recomendado para abrir los notebooks de ejemplo)
pip install jupyterlab
# o
pip install notebookAquí hay un ejemplo simple de cómo crear y ejecutar un pipeline de imágenes de calcio con ISX:
import isx
from ci_pipe.pipeline import CIPipe
# Crear un pipeline desde videos en un directorio
pipeline = CIPipe.with_videos_from_directory(
'input_dir',
outputs_directory='output_dir',
isx=isx
)
# Ejecutar un pipeline completo de procesamiento
(
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')
)Para más ejemplos, incluyendo integración con CaImAn y flujos de trabajo avanzados, consulta los notebooks en docs/examples.
- Paquete PyPI: https://pypi.org/project/cipipeline
- CGK Lab: https://cgk-laboratory.github.io
- Inscopix: https://www.inscopix.com
- CaImAn: https://github.com/flatironinstitute/CaImAn y https://caiman.readthedocs.io
- Guía de inicio de Jupyter: https://jupyter.org/install
Los notebooks de ejemplo están disponibles en docs/examples. Para ejecutarlos localmente:
git clone https://github.com/CGK-Laboratory/ci_pipe
cd ci_pipe
pip install -e .
# instalar dependencias opcionales si es necesario (isx, caiman)
jupyter lab
# abrir los notebooks en docs/examples