diff --git a/.github/workflows/contrib.yml b/.github/workflows/contrib.yml index f15ed2187..266ea29a3 100644 --- a/.github/workflows/contrib.yml +++ b/.github/workflows/contrib.yml @@ -4,11 +4,9 @@ on: push: branches: - master - - maint/* pull_request: branches: - master - - maint/* defaults: run: diff --git a/CHANGES.rst b/CHANGES.rst index b67a2e7f3..728df74d2 100644 --- a/CHANGES.rst +++ b/CHANGES.rst @@ -1,3 +1,18 @@ +23.2.1 (March 06, 2024) +======================= +Bug fix release in the 23.2.x series. + +Masks, BOLD references and T2\* maps resampled into template spaces had +their order of transforms inverted. BOLD files were unaffected. + +This release also preserves the TR in the NIfTI header of BOLD series. + +* FIX: Preserve pixdim4+ of resampled images (#3239) +* FIX: Flip order of transforms in ``init_ds_volumes_wf`` (#3238) +* DOCKER: restore mincinfo binary (#3249) +* CI: Move to new CircleCI machine tags (#3247) + + 23.2.0 (January 10, 2024) ========================= New feature release in the 23.2.x series. diff --git a/fmriprep/interfaces/resampling.py b/fmriprep/interfaces/resampling.py index 6413b4a4d..788739bfc 100644 --- a/fmriprep/interfaces/resampling.py +++ b/fmriprep/interfaces/resampling.py @@ -588,6 +588,8 @@ def resample_image( ) resampled_img = nb.Nifti1Image(resampled_data, target.affine, target.header) resampled_img.set_data_dtype('f4') + # Preserve zooms of additional dimensions + resampled_img.header.set_zooms(target.header.get_zooms()[:3] + source.header.get_zooms()[3:]) return resampled_img diff --git a/fmriprep/workflows/bold/outputs.py b/fmriprep/workflows/bold/outputs.py index 40868a4a3..fdc3beda3 100644 --- a/fmriprep/workflows/bold/outputs.py +++ b/fmriprep/workflows/bold/outputs.py @@ -735,8 +735,10 @@ def init_ds_volumes_wf( workflow.connect([ (inputnode, raw_sources, [('source_files', 'in_files')]), (inputnode, boldref2target, [ - ('boldref2anat_xfm', 'in1'), - ('anat2std_xfm', 'in2'), + # Note that ANTs expects transforms in target-to-source order + # Reverse this for nitransforms-based resamplers + ('anat2std_xfm', 'in1'), + ('boldref2anat_xfm', 'in2'), ]), (inputnode, ds_bold, [ ('source_files', 'source_file'),