Skip to content

Commit eb1bb73

Browse files
committed
fix: Check fieldmap reference orientation when interpolating
1 parent f41f77c commit eb1bb73

File tree

1 file changed

+9
-0
lines changed

1 file changed

+9
-0
lines changed

fmriprep/interfaces/resampling.py

Lines changed: 9 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -671,6 +671,15 @@ def reconstruct_fieldmap(
671671
target.__class__(target.dataobj, projected_affine, target.header),
672672
)
673673
else:
674+
# Hack. Sometimes the reference array is rotated relative to the fieldmap
675+
# and coefficient grids. As far as I know, coefficients are always RAS,
676+
# but good to check before doing this.
677+
if (
678+
nb.aff2axcodes(coefficients[-1].affine)
679+
== ('R', 'A', 'S')
680+
!= nb.aff2axcodes(fmap_reference.affine)
681+
):
682+
fmap_reference = nb.as_closest_canonical(fmap_reference)
674683
if not aligned(fmap_reference.affine, coefficients[-1].affine):
675684
raise ValueError('Reference passed is not aligned with spline grids')
676685
reference, _ = ensure_positive_cosines(fmap_reference)

0 commit comments

Comments
 (0)