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.7 Beta (May 03, 2024)

New Features

  • Newly-Integrated Packages - these functionalities are now accessible via the cpac command-line wrapper:

  • The FSL-BET brain mask generation option in C-PAC now has an optional RobustFOV sub-workflow to crop images ensuring removal of neck regions that may appear in the skull-stripped images for some harder-to-skullstrip data.

  • C-PAC can now throttle memory usage of workflow steps to mitigate excessive memory usage, an issue which can cause C-PAC runs to be canceled when users pass a memory usage limit on a shared cluster.

    • For these throttled steps, C-PAC will allocate all available resources to each such step, so a multithreaded pipeline will run linearly at each of these steps.


  • Ingress of FreeSurfer outputs into C-PAC is now much more convenient, with the new ability to provide the FreeSurfer output directory path to C-PAC directly from the command line. This also facilitates easier automation of large-scale runs with many different FreeSurfer paths.

  • Writing out the DVARS motion measure output is now optional.

Contributor Improvements

  • Autoversioning and the documentation auto-updating of pipeline configuration files have been moved from the CI infrastructure to pre-commit.

    • In addition to simplifying the auto-updating process, this also keeps the versioning, config documentation, and Dockerfile setup updates within the same commit as the original contribution.

Bug Fixes

  • Fixed a bug where ingressing fmriprep outputs into C-PAC with a blank nuisance confounds field in the C-PAC pipeline configuration file would cause a crash.

  • Fixed a bug where spatial smoothing and z-scoring of final outputs would sometimes fail to run when running a C-PAC pipeline that would ingress fmriprep outputs.

  • Fixed a bug where ingress of distortion correction-related field map metadata would sometimes fail to recognize both echo times, when there were two present, leading to an error message claiming an echo time is missing.

  • Changed an extraneous default pipeline configuration setting - surface_connectivity is now disabled in the default configuration as intended.

  • Updated the FSL-BET configuration options to automatically default -mask-boolean flag as on, and removed all mask-boolean keys from configs. This error caused the possibility of masking the brain too early in the pipeline which could have led to crashes when a downstream node expected a binary mask.

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