Skip to content
Snippets Groups Projects
Commit dd48efe0 authored by Paul McCarthy's avatar Paul McCarthy :mountain_bicyclist:
Browse files

Merge branch 'enh/nonlinear' into 'master'

Enh/nonlinear

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