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.2 Beta (Dec 02, 2021)

  • Usability testing and optimization for the following minimal processing pipelines employed in the Li et al., Milham manuscript (BioRxiv) is complete and they are available:

    • CPAC:CCS

    • CPAC:ABCD-BIDS

    • CPAC:fMRIPrep

    • CPAC:Default

  • The ABCD-BIDS surface-based postprocessing pipeline is implemented, though final usability testing and optimization is pending and will be in next release.

Added

  • Added FSL-TOPUP as an option for distortion correction.

  • Added changelog

  • Added CHD8 mouse template (/cpac_templates/chd8_functional_template_noise_mask_ag.nii.gz)

  • Added commandline flags --T1w_label and --bold_label

  • Added the ability to ingress an entire FreeSurfer output directory to bypass surface analysis if already completed elsewhere

  • Added AFNI and Nilearn implementations of Pearson and partial correlation matrices

Changed

  • Expanded meta-data ingress for EPI field maps to include more fields when parsing BIDS sidecar JSONs.

  • Updated possible inputs for T2w processing and ACPC-alignment blocks to increase the modularity of these pipeline options.

  • master branch renamed main

  • Packaged templates in https://github.com/FCP-INDI/C-PAC_templates

Deprecated

  • master branch name (renamed main)

Fixed

  • Fixed bug in which the preprocessed T2w data would not be found in the resource pool when expected.

  • Fixed bug in which distortion correction-related field map ingress would raise IndexError: list index out of range when ingressing the field maps.

  • Fixed bug in which some nodes would raise KeyError: 'in_file' when estimating memory allocation

  • Improved memory management for multi-core node allocation.

  • Fixed bug where --participant_label [A B C] would skip first and last labels (A and C).

  • Stripped the ABI tag note (which was preventing the library from loading dynamically on some host operating systems) from libQt5Core.so.5 in the ABCD-HCP variant image.

  • Fixed an issue blocking non-C-PAC output data from being read in without sidecar meta-data.

The C-PAC Team

Primary Development Team:
Michael Milham (Founder, Co-Principal Investigator)
Cameron Craddock (Co-Principal Investigator)
Steven Giavasis (Lead Developer)
Jon Clucas (Developer)
Hecheng Jin (Developer)
Xinhui Li (Developer)

Project Alumni:
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