Passed
Push — master ( e04781...438aae )
by Fernando
01:47
created

tests.transforms.augmentation.test_random_gamma.TestRandomGamma.test_negative_values()   A

Complexity

Conditions 2

Size

Total Lines 3
Code Lines 3

Duplication

Lines 0
Ratio 0 %

Importance

Changes 0
Metric Value
cc 2
eloc 3
nop 1
dl 0
loc 3
rs 10
c 0
b 0
f 0
1
import torch
2
from torchio import RandomGamma
3
from ...utils import TorchioTestCase
4
5
6
class TestRandomGamma(TorchioTestCase):
7
    """Tests for `RandomGamma`."""
8
    def get_random_tensor_zero_one(self):
9
        return torch.rand(4, 5, 6, 7)
10
11
    def test_with_zero_gamma(self):
12
        transform = RandomGamma(log_gamma=0)
13
        tensor = self.get_random_tensor_zero_one()
14
        transformed = transform(tensor)
15
        self.assertTensorAlmostEqual(tensor, transformed)
16
17
    def test_with_non_zero_gamma(self):
18
        transform = RandomGamma(log_gamma=(0.1, 0.3))
19
        tensor = self.get_random_tensor_zero_one()
20
        transformed = transform(tensor)
21
        self.assertTensorNotEqual(tensor, transformed)
22
23
    def test_with_high_gamma(self):
24
        transform = RandomGamma(log_gamma=(100, 100))
25
        tensor = self.get_random_tensor_zero_one()
26
        transformed = transform(tensor)
27
        self.assertTensorAlmostEqual(
28
            tensor == 1, transformed
29
        )
30
31
    def test_with_low_gamma(self):
32
        transform = RandomGamma(log_gamma=(-100, -100))
33
        tensor = self.get_random_tensor_zero_one()
34
        transformed = transform(tensor)
35
        self.assertTensorAlmostEqual(
36
            tensor > 0, transformed
37
        )
38
39
    def test_wrong_gamma_type(self):
40
        with self.assertRaises(ValueError):
41
            RandomGamma(log_gamma='wrong')
42