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 tsconcatcpac gradients
: Gradients via the DAIR group’s 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.