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 |