Skip to content

Commit 39ce629

Browse files
committed
enh: remove code that does not pertain to this PR, hit more lines
1 parent 6bd56c5 commit 39ce629

File tree

2 files changed

+12
-75
lines changed

2 files changed

+12
-75
lines changed

nitransforms/base.py

Lines changed: 0 additions & 74 deletions
Original file line numberDiff line numberDiff line change
@@ -443,80 +443,6 @@ def map(self, x, inverse=False):
443443
return x
444444

445445

446-
class TransformMapping(TransformBase):
447-
"""Implements a four-dimensional series of transforms."""
448-
449-
__slots__ = ('_transforms', )
450-
451-
def __init__(self, transforms=None):
452-
"""Initialize a chain of transforms."""
453-
self._transforms = None
454-
if transforms is not None:
455-
self.transforms = transforms
456-
457-
def __getitem__(self, i):
458-
"""
459-
Enable indexed access of transform chains.
460-
461-
Example
462-
-------
463-
>>> T1 = TransformBase()
464-
>>> xfm4d = TransformMapping([T1, TransformBase(), TransformBase()])
465-
>>> xfm4d[0] is T1
466-
True
467-
468-
"""
469-
return self.transforms[i]
470-
471-
def __len__(self):
472-
"""Enable using len()."""
473-
return len(self.transforms)
474-
475-
@property
476-
def transforms(self):
477-
"""Get the internal list of transforms."""
478-
return self._transforms
479-
480-
@transforms.setter
481-
def transforms(self, value):
482-
self._transforms = value
483-
484-
def append(self, x):
485-
"""
486-
Concatenate one element to the chain.
487-
488-
Example
489-
-------
490-
>>> xfm4d = TransformMapping([TransformBase(), TransformBase()])
491-
>>> xfm4d.append(TransformBase())
492-
>>> len(xfm4d)
493-
3
494-
495-
"""
496-
self.transforms.append(x)
497-
498-
def insert(self, i, x):
499-
"""
500-
Insert an item at a given position.
501-
502-
Example
503-
-------
504-
>>> xfm4d = TransformMapping([TransformBase(), TransformBase()])
505-
>>> xfm4d.insert(1, TransformBase())
506-
>>> len(xfm4d)
507-
3
508-
509-
"""
510-
self.transforms.insert(i, x)
511-
512-
def map(self, x, inverse=False):
513-
"""Apply a map of transforms, e.g., :math:`y_t = f_t(x_t)`."""
514-
if not self.transforms:
515-
raise TransformError('Cannot apply an empty transforms mapping.')
516-
517-
return [xfm(x, inverse=inverse) for xfm in self.transforms]
518-
519-
520446
def _as_homogeneous(xyz, dtype='float32', dim=3):
521447
"""
522448
Convert 2D and 3D coordinates into homogeneous coordinates.

nitransforms/tests/test_linear.py

Lines changed: 12 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -76,13 +76,17 @@ def test_loadsave(tmp_path, data_path, fmt):
7676
fname = tmp_path / '.'.join(('transform-mapping', fmt))
7777
xfm.to_filename(fname, fmt=fmt)
7878
xfm == ntl.load(fname, fmt=fmt, reference=ref_file)
79+
xfm.to_filename(fname, fmt=fmt, moving=ref_file)
80+
xfm == ntl.load(fname, fmt=fmt, reference=ref_file)
7981

8082
ref_file = data_path / 'someones_anatomy.nii.gz'
8183
xfm = ntl.load(data_path / 'affine-LAS.itk.tfm', fmt='itk')
8284
xfm.reference = ref_file
8385
fname = tmp_path / '.'.join(('single-transform', fmt))
8486
xfm.to_filename(fname, fmt=fmt)
8587
xfm == ntl.load(fname, fmt=fmt, reference=ref_file)
88+
xfm.to_filename(fname, fmt=fmt, moving=ref_file)
89+
xfm == ntl.load(fname, fmt=fmt, reference=ref_file)
8690

8791

8892
@pytest.mark.xfail(reason="Not fully implemented")
@@ -185,7 +189,8 @@ def test_LinearTransformsMapping_apply(tmp_path, data_path):
185189
assert isinstance(hmc, ntl.LinearTransformsMapping)
186190

187191
# Test-case: realing functional data on to sbref
188-
nii = hmc.apply(data_path / 'func.nii.gz', order=1)
192+
nii = hmc.apply(data_path / 'func.nii.gz', order=1,
193+
reference=data_path / 'sbref.nii.gz')
189194
assert nii.dataobj.shape[-1] == len(hmc)
190195

191196
# Test-case: write out a fieldmap moved with head
@@ -194,3 +199,9 @@ def test_LinearTransformsMapping_apply(tmp_path, data_path):
194199
reference=data_path / 'func.nii.gz')
195200
nii = hmcinv.apply(data_path / 'fmap.nii.gz', order=1)
196201
assert nii.dataobj.shape[-1] == len(hmc)
202+
203+
# Ensure a ValueError is issued when trying to do weird stuff
204+
hmc = ntl.LinearTransformsMapping(hmc.matrix[:1, ...])
205+
with pytest.raises(ValueError):
206+
hmc.apply(data_path / 'func.nii.gz', order=1,
207+
reference=data_path / 'sbref.nii.gz')

0 commit comments

Comments
 (0)