Skip to content

Releases: Washington-University/HCPpipelines

v4.8.0

20 Jun 21:42
Compare
Choose a tag to compare

Main new features:

  • Add the spatial ICA reclean pipeline (#279) with compiled feature generation (#281)
  • Better support non-HCP/non-Siemens T1w, T2w, and T2w-FLAIR images (match mean of BC reference with mean of the input T1w/T2w image) with a new abstracted myelin map BC module to generate MyelinMap_BC files (#249) and associated changes in MSMAll.sh (#251), DeDriftAndResample.sh (#252), and other scripts (#259)
  • Added correction for Philips (#271) and fix support for GE Healthcare (#285) fieldmap preprocessing
  • Refactor MSMSulc.sh into a module, replacing a section of a PreFreesurfer internal script in the pipelines and to allow different MSMSulc to be run after an initial pipeline run (#290)
  • Add multi-echo support to fMRI preprocessing
  • Add task fMRI level 3 processing script
  • Major improvements to the tICA pipeline, including (#284)

Other additions/changes:

  • Refactoring of all pipelines to simplify the I/O interface code (#254, #280)
  • MR FIX scripts updates and comments to support additional configurations and fewtimepoints icaDim mode for use with legacy data (#241).
  • Modification of aff2rigid and ACPCAlignment for adapting to Non-Human Primates or other brains (#245)
  • Enable frame range selection for fMRI runs in SingleSubjectConcat.sh and allow MSMAll to be run on partial timeseries (#247)
  • Add custom outlier detection functions for tICA feature generation to maintain compatibility with MATLAB runtime r2017b (#263)
  • Update conf2hires to remove reinitialization by bbregister for high resolution data in the FreeSurfer pipeline (#265)
  • Introduce tICA weighted mode in RSN regression (#278)
  • Add a seconds option for diffusion echo spacing to allow for harmonized time units across pipelines (#291)
  • Miscellaneous improvements and bugfixes.

Full list of changes from 4.7.0-->4.8.0 here.

v4.7.0

13 Dec 14:49
Compare
Choose a tag to compare

Main new features:

  • New MR+FIX option for detecting high motion runs that have bad dimensionality fitting, leading to too low of a MR+FIX overall dimensionality relative to the amount of motion. Detected runs above the specified threshold are processed with only a single Wishart Distribution.
  • Beta release of the temporal ICA cleanup Pipeline -- supports only manual classification at this time (#219).
  • Enable custom myelin map template in MSMAll, that can be used (together with the existing setting in PostFreeSurfer) to improve the quality of _BC myelin map bias field corrections when the mean T1w/T2w value and default template value are very different from each other (recommendation is to divide the default template by its mean and then multiply this result by the subject’s mean).
  • Updates to TaskfMRIAnalysis to support additional processing options such as --lowpassfilter and --procstring, or turning off highpass filtering.
  • Updates to TaskfMRIAnalysis to better support situations with Empty EVs or single runs.

Other additions/changes:

  • Convert Matlab CIFTI I/O from legacy CIFTI matlab (based on GIFTI objects and wb_command conversions) to the more performant and fully featured native cifti-matlab package.
  • Add VarCopes to converted CIFTI files for TaskfMRIAnalysis.
  • Support odd numbers of slices in Diffusion Preprocessing (no longer remove a slice) (#218).
  • Change default training file for MR+FIX.
  • Numerous improvements to example scripts and pipeline instructions (#239).
  • Improvements to pipeline versioning and option parsing.
  • FreeSurferPipeline no longer automatically runs with 8 cores (#225).
  • PreFreeSurfer bugfix to use the same template for all linear with skull registrations, enabling HCD scans with a different head shape to be processed successfully (via a customized template).
  • Remove incompletely supported --printcomm from many pipelines.
  • Miscellaneous improvements and bugfixes.

Full list of changes from 4.3.0 -> 4.7.0 available here

v4.3.0

08 Feb 17:07
Compare
Choose a tag to compare

This release will be used for processing of the HCP-Lifespan (Development and Aging) and Connectomes Related to Human Disease projects going forward.

Main new features:

  • Added a Workbench scene for Structural QC (with some automatically generated snapshots) (#201)
  • Added a Workbench scene for fMRI QC (with some automatically generated snapshots) (#203)
  • Added option for distortion correction using Philips fieldmaps (#191, #194)
  • Added option to DiffPreproc (--select-best-b0) to select the "best" (least-distorted) for each phase-encoding direction as input to topup (#158, #198)

Other additions:

  • Added options in DeDriftAndResample to extract a subset of the runs from multi-run FIX into a new concatenated series (#182)
  • Added a single mode of RSNregression, to apply just temporal regression (#170)
  • Added option to OneStepResampling (--wb-resample) for future wb_command -volume-resample resampling of timeseries (to replace slow fslsplit/convertwarp/applywarp/fslmerge code) (#173). Not enabled yet, as not yet supported by public Workbench release.

Bug fixes/changes:

  • Fix incorrect column header names in stats file (MissingGrayordinates.2.txt) that quantifies overlap between subject ROIs and Atlas (f4afdc5 and 64971e3)
  • 91282 template updated to cifti-2 format (e2d5bba)
  • Some minor diffusion bug fixes/enhancements (#192, #193, #199, #202)
  • Catch command errors in DeDriftAndResample (716e9f4). (Need to review error trapping across all scripts at some point...)

Known Issues:

  • Testing revealed that using Octave mode for multi-run ICA-FIX does not always stably converge. Using Octave mode for multi-run ICA-FIX is not advised at this time.
  • Input NIFTI files with a TR that does not use units of seconds result in incorrect TR of outputs - please set the TR in units of seconds before processing (#124)

Lifespan Spatial ICA FIX Processing Release

09 Jun 20:13
Compare
Choose a tag to compare

This release is the version used for HCP Development and HCP Aging data ICA-FIX and MSMAll processing.

Added features:

  • Enabling creation of cleaned movement regressors to apply to spatial ICA-FIX (sICA-FIX) cleaned fMRI data. (#164)
  • Extend the checking of the subcortical segmentation (originally #163) to evaluate, per individual subcortical structure and for the brain mask (at both 1x and 2x voxel resolution dilation), the number of voxels missing, those that overlap, and those that fall outside the Atlas (#165).
  • Changes in sICA-FIX to reduce memory usage when applying hp filtering, estimating the dimensionalities of structured and unstructured noise, and computing variance normalization on volume files (#168).
    Note: the biggest memory reduction is with interpreted matlab mode, with a smaller benefit for compiled matlab mode.

Known Issues:

  • There is a bug in the naming of the column headers of the .txt file that quantifies the missingness/overlap of the subcortical segmentation, which was subsequently fixed with f4afdc5 and 64971e3.
  • Testing revealed that using Octave mode for multi-run ICA-FIX does not always stably converge. Using Octave mode for multi-run ICA-FIX is not advised at this time.
  • Input NIFTI files with a TR that does not use units of seconds result in incorrect TR of outputs - please set the TR in units of seconds before processing (#124)

Lifespan Functional Preprocessing Release

12 Feb 19:57
Compare
Choose a tag to compare

This release is the version used for HCP Development and HCP Aging data functional preprocessing.

Added features and fixed various bugs for processing Lifespan HCP data:

  • New debugging library, with error trapping turned on in all scripts as a default
  • Increase dilation in fMRI subcortical segmentation to avoid invalid CIFTI files being produced, plus add checking for mismatching atlas subcortical segmentation and subject's brain mask (#163)
  • Improve/fix masking of dMRI data for voxels outside of the FOV (#129)
  • Add assessment of spatial coverage completeness within both fMRIVolume and fMRISurface (#138)
  • Add capability to use FLAIR style acquisitions within FreeSurferPipeline.sh (#149)
  • Improvements to dimensionality estimation of multi-run FIX (MR-FIX) (#150)
  • Extend single-run FIX to support the MotionRegression=FALSE condition (#157)
  • Compiled matlab now uses R2017b (same version as used for the current FSL FIX compiled matlab) (#159)
  • dMRI QC report generated using FSL's eddy “QUAD” QC tool (#155)
  • Added option to use custom brain image or mask in PreFreeSurfer pipeline (#133)

Added an option to process legacy (non-HCP style) data (#133, #134, #135, #136, #156). Specifically to:

  • Allow structural processing without a high resolution T2w image
  • Allow functional processing without susceptibility distortion correction
  • Enable use of slice timing correction
  • Enable use of expanded fMRI masks
  • Enable use of a reference fMRI run with linear or additional nonlinear registration to the reference fMRI run

Note: The listed legacy processing functionality has to be explicitly enabled using the --processing-mode parameter. The added options acknowledge the need to process legacy style datasets. However, in these cases, the quality of the results may suffer. Please see related usage information, warnings and processing mode information provided in pipelines for more details.

Known issues:

  • Input NIFTI files with a TR that does not use units of seconds result in incorrect TR of outputs - please set the TR in units of seconds before processing (#124)

Lifespan Processing Bugfix Release

13 Aug 20:20
Compare
Choose a tag to compare

Various bug fixes, minor functionally additions, example script tweaks, and minor across script harmonization, including:

  • Bash command syntax compatibility with standard MacOS installations
  • Fix bug in ReApplyFixPipeline, which affects the volume (NIFTI) data, in which the non-highpass-filtered volume data was being used, rather than the hp-filtered volume data.
  • Make the polynomial detrending option that was added to hcp_fix_multi_run more numerically robust, and limit it to 5th order or less.
  • Adapted RestingStateStats to use a similar approach to the other pipelines for invoking matlab.
  • Created a script (in global/matlab) to compile all matlab code.
  • Modified MSMAll scripts to support use of multi-run FIX-cleaned data.
  • Bug fixes so that calls to topup and flirt work in the context of FSL 6.0+ (necessitated by changes in how FSL 6.0+ treats multi-frame inputs in certain circumstances). [This is not fully resolved, see below, and #118].
  • Revisions to SetUpHCPPipeline.sh to allow some reliance on $PATH environment variable.
  • Some improvements to the logging functions.
  • Add --delete-intermediates flags to FIX and ReApplyFix family of scripts.

Known issues:

  • Input NIFTI files with a TR that does not use units of seconds result in incorrect TR of outputs - please set the TR in units of seconds before processing (#124)
  • FSL 6.0.0 and 6.0.1 changed how they handle reference images when resampling compared to 5.x, and it is likely that not all pipeline scripts take care to use a single-frame file as reference image (#118)
  • Due to a limitation in FIX's argument parsing, hcp_fix cannot currently be run with motion regression disabled (#108)

Initial LifeSpan Processing Release

15 Mar 13:50
Compare
Choose a tag to compare
  • Moved many FIX related scripts into the ICAFIX folder
  • Added motion regression argument to FIX and related
  • Added polynomial detrending option to MR FIX
  • Improved Octave compatibility in FIX and related
  • Accepted i/j/k notation in Topup scripts
  • Added FSL 6.0.1 compatibility
  • Added better support for compiled MATLAB
  • Added support for FreeSurfer 6 with customizations
  • Numerous minor bugfixes and tool version checks

Task fMRI Analysis Code Improvements

01 Jun 17:31
Compare
Choose a tag to compare

Improvements

  • Includes improvements to the Task fMRI Analysis codebase
    • Code reorganization
    • Improved comments and log messages
    • Moved some FSL version detection related functions into a script function library

Bug Fixes

  • Bug fixed in interactive MATLAB use in MSMAll
    • Correct the MATLAB path entries used when using interactive MATLAB for invoking MSMregression function so that GIFTI library functions are found.

v3.26 Bugfix 1

27 Apr 20:07
Compare
Choose a tag to compare

Correct basic cleanup code in IntensityNormalization.sh

TaskfMRI Consolidation and Back out of FreeSurfer v6 requirement

27 Apr 16:54
Compare
Choose a tag to compare

This release includes:

  1. Changes associated with #65 - Task fMRI analysis consolidation

    • Change Task fMRI Analysis pipeline to run with FSL version 5.0.7 or greater
    • No longer works with FSL version 5.0.6
    • Simplify file names since FSL version 5.0.6 is no longer supported
    • Remove files that are no longer needed since no longer supporting v5.0.6 and earlier
  2. Back out changes introduced in v3.25.0 that were FreeSurfer v6 specific.

    • The version of FreeSurferPipeline.sh included in this release is the same as the one that was in v3.24.0.
    • It does not require FreeSurfer v6 and does not use the special version of the recon-all script.
  3. Change to using "Pos" and "Neg" in file names for specification of phase encoding directions in Diffusion Preprocessing code instead of using RL and LR or PA and AP.

  4. More consistently use EchoSpacing as a variable name instead of DwellTime in Functional Preprocessing code.

  5. Changes associated with #66 - Don't include b0 files in merging of final data

  6. Changes associated with #67 - Additions to consolidated TaskfMRILevel{1,2}.sh scripts

  7. Some improved comments

NOTE

This release contains a version of PostFreeSurfer/scripts/FreeSurfer2CaretConvertAndRegisterNonLinear.sh that uses an option on the Connectome Workbench command line tool (wb_command) that will be supported in Connectome Workbench v1.3.0. Using this release for Structural Preprocessing prior to the release of Connectome Workbench v1.3.0, will require the use of a development release of Connectome Workbench subsequent to v1.2.3.