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.7 Beta (May 03, 2024)¶
New Features
Newly-Integrated Packages - these functionalities are now accessible via the cpac command-line wrapper:
cpac tsconcat: Timeseries Concatenation via the DAIR group’s [tsconcat](https://github.com/childmindresearch/tsconcat)
cpac gradients: Gradients via the DAIR group’s [ba-timeseries-gradients](https://github.com/childmindresearch/ba-timeseries-gradients)
The
FSL-BET
brain mask generation option in C-PAC now has an optionalRobustFOV
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.
Improvements
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 allmask-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¶
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).