| Total Complexity | 5 |
| Total Lines | 29 |
| Duplicated Lines | 0 % |
| Changes | 0 | ||
| 1 | import torch |
||
| 2 | |||
| 3 | import torchio as tio |
||
| 4 | from ...utils import TorchioTestCase |
||
| 5 | |||
| 6 | |||
| 7 | class TestCopyAffine(TorchioTestCase): |
||
| 8 | """Tests for `CopyAffine`.""" |
||
| 9 | |||
| 10 | def test_missing_reference(self): |
||
| 11 | transform = tio.CopyAffine(target='missing') |
||
| 12 | with self.assertRaises(RuntimeError): |
||
| 13 | transform(self.sample_subject) |
||
| 14 | |||
| 15 | def test_wrong_target_type(self): |
||
| 16 | with self.assertRaises(ValueError): |
||
| 17 | tio.CopyAffine(target=[1]) |
||
| 18 | |||
| 19 | def test_same_affine(self): |
||
| 20 | image = tio.ScalarImage(tensor=torch.rand(2, 2, 2, 2)) |
||
| 21 | mask = tio.LabelMap(tensor=torch.rand(2, 2, 2, 2)) |
||
| 22 | mask.affine *= 1.1 |
||
| 23 | subject = tio.Subject(t1=image, mask=mask) |
||
| 24 | transform = tio.CopyAffine('t1') |
||
| 25 | transformed = transform(subject) |
||
| 26 | self.assertTensorEqual( |
||
| 27 | transformed['t1'].affine, |
||
| 28 | transformed['mask'].affine, |
||
| 29 | ) |
||
| 30 |