Commit dd48efe0 authored by Paul McCarthy's avatar Paul McCarthy 🚵
Browse files

Merge branch 'enh/nonlinear' into 'master'

Enh/nonlinear

See merge request fsl/fslpy!212
parents 0e5e0aa7 ff0a371b
Pipeline #5128 passed with stages
in 11 minutes and 46 seconds
......@@ -62,6 +62,8 @@ Fixed
split.
* Fixed some bugs in the :func:`.fslsub.info` and :func:`.fslinfo.wait`
functions.
* Fixed the :func:`.DeformationField.transform` method so it works with
a single set of coordinates.
2.8.4 (Monday 2nd March 2020)
......
......@@ -251,7 +251,9 @@ class DeformationField(NonLinearTransform):
if from_ is None: from_ = self.refSpace
if to is None: to = self.srcSpace
coords = np.asanyarray(coords)
coords = np.asanyarray(coords)
outshape = coords.shape
coords = coords.reshape((-1, 3))
# We may need to pre-transform the
# coordinates so they are in the
......@@ -299,7 +301,7 @@ class DeformationField(NonLinearTransform):
outcoords = np.full(coords.shape, np.nan)
outcoords[voxmask] = disps
return outcoords
return outcoords.reshape(outshape)
class CoefficientField(NonLinearTransform):
......
......@@ -205,6 +205,10 @@ def test_DeformationField_transform():
got = absfield.transform(rcoords)
assert np.all(np.isclose(got, scoords))
# test single set of coords
got = absfield.transform(rcoords[0])
assert np.all(np.isclose(got, scoords[0]))
got = relfield.transform(rvoxels, from_='voxel', to='voxel')
assert np.all(np.isclose(got, svoxels))
got = absfield.transform(rvoxels, from_='voxel', to='voxel')
......
Supports Markdown
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment