コード例 #1
0
ファイル: test_zoomd.py プロジェクト: yfzheng11/MONAI
    def test_keep_size(self):
        key = "img"
        zoom_fn = Zoomd(key, zoom=0.6, keep_size=True)
        zoomed = zoom_fn({key: self.imt[0]})
        self.assertTrue(np.array_equal(zoomed[key].shape, self.imt.shape[1:]))

        zoom_fn = Zoomd(key, zoom=1.3, keep_size=True)
        zoomed = zoom_fn({key: self.imt[0]})
        self.assertTrue(np.array_equal(zoomed[key].shape, self.imt.shape[1:]))
コード例 #2
0
ファイル: test_zoomd.py プロジェクト: Nic-Ma/MONAI
    def test_keep_size(self):
        key = "img"
        zoom_fn = Zoomd(key,
                        zoom=0.6,
                        keep_size=True,
                        padding_mode="constant",
                        constant_values=2)
        for p in TEST_NDARRAYS_ALL:
            zoomed = zoom_fn({key: p(self.imt[0])})
            np.testing.assert_array_equal(zoomed[key].shape,
                                          self.imt.shape[1:])

            zoom_fn = Zoomd(key, zoom=1.3, keep_size=True)
            zoomed = zoom_fn({key: self.imt[0]})
            self.assertTrue(
                np.array_equal(zoomed[key].shape, self.imt.shape[1:]))
コード例 #3
0
ファイル: test_zoomd.py プロジェクト: yang20085936/MONAI
 def test_gpu_zoom(self, _, zoom, order, mode, cval, prefilter):
     key = "img"
     if importlib.util.find_spec("cupy"):
         zoom_fn = Zoomd(
             key,
             zoom=zoom,
             interp_order=order,
             mode=mode,
             cval=cval,
             prefilter=prefilter,
             use_gpu=True,
             keep_size=False,
         )
         zoomed = zoom_fn({key: self.imt[0]})
         expected = list()
         for channel in self.imt[0]:
             expected.append(
                 zoom_scipy(channel,
                            zoom=zoom,
                            mode=mode,
                            order=order,
                            cval=cval,
                            prefilter=prefilter))
         expected = np.stack(expected).astype(np.float32)
         self.assertTrue(np.allclose(expected, zoomed[key]))
コード例 #4
0
ファイル: test_zoomd.py プロジェクト: yang20085936/MONAI
 def test_correct_results(self, zoom, order, mode, cval, prefilter, use_gpu,
                          keep_size):
     key = "img"
     zoom_fn = Zoomd(
         key,
         zoom=zoom,
         interp_order=order,
         mode=mode,
         cval=cval,
         prefilter=prefilter,
         use_gpu=use_gpu,
         keep_size=keep_size,
     )
     zoomed = zoom_fn({key: self.imt[0]})
     expected = list()
     for channel in self.imt[0]:
         expected.append(
             zoom_scipy(channel,
                        zoom=zoom,
                        mode=mode,
                        order=order,
                        cval=cval,
                        prefilter=prefilter))
     expected = np.stack(expected).astype(np.float32)
     self.assertTrue(np.allclose(expected, zoomed[key]))
コード例 #5
0
ファイル: test_zoomd.py プロジェクト: zymale/MONAI
 def test_correct_results(self, zoom, mode, keep_size):
     key = "img"
     zoom_fn = Zoomd(key, zoom=zoom, mode=mode, keep_size=keep_size,)
     zoomed = zoom_fn({key: self.imt[0]})
     _order = 0
     if mode.endswith("linear"):
         _order = 1
     expected = list()
     for channel in self.imt[0]:
         expected.append(zoom_scipy(channel, zoom=zoom, mode="nearest", order=_order, prefilter=False))
     expected = np.stack(expected).astype(np.float32)
     np.testing.assert_allclose(expected, zoomed[key], atol=1.0)
コード例 #6
0
def _zoom(x, scale: uniform = 1.0):
    zoom = Zoomd(keys=['image'],
                 zoom=scale,
                 order=0,
                 mode='constant',
                 cval=0,
                 prefilter=True,
                 use_gpu=False,
                 keep_size=True)
    data_dict = {'image': x.data}
    zoom_dict = zoom(data_dict)
    x = zoom_dict['image'][0]

    x = torch.Tensor(x[None])
    return x
コード例 #7
0
ファイル: test_zoomd.py プロジェクト: juampatronics/MONAI
    def test_correct_results(self, zoom, mode, keep_size):
        key = "img"
        zoom_fn = Zoomd(key, zoom=zoom, mode=mode, keep_size=keep_size)
        for p in TEST_NDARRAYS:
            zoomed = zoom_fn({key: p(self.imt[0])})
            _order = 0
            if mode.endswith("linear"):
                _order = 1
            expected = [
                zoom_scipy(channel,
                           zoom=zoom,
                           mode="nearest",
                           order=_order,
                           prefilter=False) for channel in self.imt[0]
            ]

            expected = np.stack(expected).astype(np.float32)
            assert_allclose(zoomed[key], p(expected), atol=1.0)
コード例 #8
0
ファイル: test_inverse.py プロジェクト: slohani-ai/MONAI
    RandRotate90d(KEYS, prob=1, spatial_axes=(1, 2)),
))

TESTS.append(
    ("Spacingd 3d", "3D", 3e-2, Spacingd(KEYS, [0.5, 0.7, 0.9],
                                         diagonal=False)))

TESTS.append(("Resized 2d", "2D", 2e-1, Resized(KEYS, [50, 47])))

TESTS.append(("Resized 3d", "3D", 5e-2, Resized(KEYS, [201, 150, 78])))

TESTS.append((
    "Zoomd 1d",
    "1D odd",
    0,
    Zoomd(KEYS, zoom=2, keep_size=False),
))

TESTS.append((
    "Zoomd 2d",
    "2D",
    2e-1,
    Zoomd(KEYS, zoom=0.9),
))

TESTS.append((
    "Zoomd 3d",
    "3D",
    3e-2,
    Zoomd(KEYS, zoom=[2.5, 1, 3], keep_size=False),
))
コード例 #9
0
ファイル: test_zoomd.py プロジェクト: yfzheng11/MONAI
 def test_invalid_inputs(self, _, zoom, mode, raises):
     key = "img"
     with self.assertRaises(raises):
         zoom_fn = Zoomd(key, zoom=zoom, mode=mode)
         zoom_fn({key: self.imt[0]})
コード例 #10
0
ファイル: test_zoomd.py プロジェクト: Nic-Ma/MONAI
 def test_invalid_inputs(self, _, zoom, mode, raises):
     key = "img"
     for p in TEST_NDARRAYS_ALL:
         with self.assertRaises(raises):
             zoom_fn = Zoomd(key, zoom=zoom, mode=mode)
             zoom_fn({key: p(self.imt[0])})
コード例 #11
0
                      overwrite=True)))

TESTS.append((
    "RandLambdad 3d",
    "3D",
    5e-2,
    False,
    RandLambdad(KEYS,
                func=lambda x: x * 10,
                inv_func=lambda x: x / 10,
                overwrite=True,
                prob=0.5),
))

TESTS.append(
    ("Zoomd 1d", "1D odd", 0, True, Zoomd(KEYS, zoom=2, keep_size=False)))

TESTS.append(("Zoomd 2d", "2D", 2e-1, True, Zoomd(KEYS, zoom=0.9)))

TESTS.append(("Zoomd 3d", "3D", 3e-2, True,
              Zoomd(KEYS, zoom=[2.5, 1, 3], keep_size=False)))

TESTS.append(("RandZoom 3d", "3D", 9e-2, True,
              RandZoomd(KEYS,
                        1, [0.5, 0.6, 0.9], [1.1, 1, 1.05],
                        keep_size=True)))

TESTS.append(("RandRotated, prob 0", "2D", 0, True,
              RandRotated(KEYS, prob=0, dtype=np.float64)))

TESTS.append((
コード例 #12
0
ファイル: test_zoomd.py プロジェクト: simhaonline/MONAI
 def test_invalid_inputs(self, _, zoom, order, raises):
     key = "img"
     with self.assertRaises(raises):
         zoom_fn = Zoomd(key, zoom=zoom, interp_order=order)
         zoom_fn({key: self.imt[0]})