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.

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 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.