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:
standard quality assurance measurements
standard image preprocessing based upon user specified preferences
generation of functional connectivity maps (e.g., seed-based correlation analyses)
customizable extraction of time-series data
generation of graphical representations of the connectomes at various scales (e.g., voxel, parcellation unit)
generation of local R-fMRI measures (e.g., regional homogeneity, voxel-matched homotopic connectivity, frequency amplitude measures)
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 <https://www2.childmind.org/e/908232/en-stable-/3mvpmy/2326103788/h/_5fpbWs4zmSoHM8JlOMzlLaQ62nt_LTCkOtj1s5TL_E>`_ 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.
Improvements
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 <https://www2.childmind.org/e/908232/2023-12-21/3mvpn2/2326103788/h/_5fpbWs4zmSoHM8JlOMzlLaQ62nt_LTCkOtj1s5TL_E>`_ 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→6.0.6.5)
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#
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).