User Documentation#

Welcome to C-PAC’s user guide!#

The C-PAC Mission#

Once a distant goal, discovery science for the human connectome is now a reality. Researchers who previously struggled to obtain neuroimaging data from 20-30 participants are now exploring the functional connectome using data acquired from thousands of participants, made publicly available through the 1000 Functional Connectomes Project and the International Neuroimaging Data-sharing Initiative (INDI). However, in addition to access to data, scientists need access to tools that will facilitate data exploration. Such tools are particularly important for those who are inexperienced with the nuances of fMRI image analysis, or those who lack the programming support necessary for handling and analyzing large-scale datasets.

The Configurable Pipeline for the Analysis of Connectomes (C-PAC) is a configurable, open-source, Nipype-based, automated processing pipeline for resting state functional MRI (R-fMRI) data, for use by both novice and expert users. C-PAC was designed to bring the power, flexibility and elegance of the Nipype platform to users in a plug and play fashion—without requiring the ability to program. Using an easy to read, text-editable configuration file or a graphical user interface, C-PAC users can rapidly orchestrate automated R-fMRI processing procedures, including:

Importantly, C-PAC makes it possible to use a single configuration file to launch a factorial number of pipelines differing with respect to specific processing steps (e.g., spatial/temporal filter settings, global correction strategies, motion correction strategies, group analysis models). Additional noteworthy features include the ability to easily:

  • customize C-PAC to handle any systematic directory organization

  • specify Nipype distributed processing settings

C-PAC maintains key Nipype strengths, including the ability to:

  • interface with different software packages (e.g., FSL, AFNI, ANTS)

  • protect against redundant computation and/or storage

  • automatically carry out input checking, bug tracking and reporting

Future updates will include more configurability, advanced analytic features (e.g., support vector machines, cluster analysis) and diffusion tensor imaging (DTI) capabilities.

For more information and additional tutorials, check out our YouTube channel, as well as slides from our previous presentations:

Latest Release: Version 1.8.6 Beta (Jan 15, 2024)#

New Features

  • C-PAC can now ingress` fMRIPrep <>`_ output data.

    • Users can now perform further processing on fMRIPrep-processed data through C-PAC, using any template-space processing they wish to employ. This includes using the nuisance confounds generated by fMRIPrep to perform nuisance denoising on the preprocessed BOLD data.

    • A fMRIPrep-ingress pre-configured pipeline configuration (pre-config) has been created to make it easy to get started. This pre-config can be modified to suit a user’s specific processing needs.

    • This is part of a wider project leading to the ability to easily ingress any BIDS-format output directory.


  • The motion parameter and motion derivative outputs have been converted to BIDS-compliant formats.

  • A tip box has been added to appear when C-PAC returns with a “missing outputs” error.

  • The data configuration builder tool can now easily add` FreeSurfer <>`_ output directories for the purpose of ingressing FreeSurfer data into your C-PAC pipeline.

  • A large number of C-PAC’s dependencies has been upgraded to more recent versions, including

    • Ubuntu (18.04 ‘Bionic Beaver’→22.04 ‘Jammy Jellyfish’)

    • Python (3.7.13→3.10.6)

    • AFNI (21.1.00 ‘Domitian’→23.3.09 ‘Septimius Severus’)

    • ANTs (2.3.3 ‘Leptomyrmex’→2.4.3 ‘Emplastus’)

    • FSL (5.0.9→

    • Nipype (1.5.1→1.8.6)

  • Please refer to the “Upgraded dependencies” section of the changelog for 1.8.6 or the release notes in the user guide for a full list of these upgrades.

  • torch, a large dependency that is used by U-Net and nothing else in C-PAC, has been removed from the pre-installed dependencies in the C-PAC image and is now installed in the container at runtime if U-Net is selected in the configuration being run.

Bug Fixes

  • When motion parameters are filtered, C-PAC now uses the filtered version of the motion parameters downstream - for example, in nuisance regression/denoising.

  • Fixed a bug where some connectivity matrices wouldn’t generate if anatomical and functional outputs were in different resolutions.

  • Repaired the handling of 3dECM (network centrality) outputs for AFNI≥21.1.1.

  • Fixed a bug (introduced in v1.8.0) where sparsity thresholds were not being scaled for network centrality.

  • Fixed a bug where calculate_motion_first would not calculate motion at all.

  • Fixed an error message that was reporting missing resources in pipeline nodeblocks, but was referring to the incorrect nodeblock in question.

The C-PAC Team#

Primary Development Team:
Michael Milham (Founder, Co-Principal Investigator)
Greg Kiar (Co-Principal Investigator)
Steven Giavasis (Lead Developer)
Jon Clucas (Developer)
Teresa George (Developer)
Amy Gutierrez (Developer)

Project Alumni:
Cameron Craddock (Co-Principal Investigator)
Hecheng Jin
Xinhui Li
Lei Ai
Anibal Solon Heinsfeld
Nanditha Rajamani
Alison Walensky
David O’Connor
Carol Froehlich
John Pellman
Amalia MacDonald
Daniel Clark
Rosalia Tungaraza
Daniel Lurie
Zarrar Shehzad
Krishna Somandepali
Aimi Watanabe
Qingyang Li
Ranjit Khanuja
Sharad Sikka
Brian Cheung

Other Contributors:
Ivan J. Roijals-Miras (Google Summer of Code)
Florian Gesser (Google Summer of Code)
Asier Erramuzpe (Google Summer of Code)
Chao-Gan Yan
Joshua Vogelstein
Adriana Di Martino
F. Xavier Castellanos
Sebastian Urchs
Bharat Biswal

Funding Acknowledgements#

Primary support for the work by Michael P. Milham, Cameron Craddock and the INDI team was provided by gifts from Joseph P. Healey and the Stavros Niarchos Foundation to the Child Mind Institute, as well as by NIMH awards to Dr. Milham (R03MH096321) and F.X. Castellanos (R01MH083246).

User Guide Index#