MCPcopy Create free account
hub / github.com/Project-MONAI/MONAI / pad_test_combine_ops

Method pad_test_combine_ops

tests/padders.py:150–178  ·  view source on GitHub ↗
(self, funcs, input_shape, expected_shape)

Source from the content-addressed store, hash-verified

148 self.assertEqual(inverted.shape, im.shape)
149
150 def pad_test_combine_ops(self, funcs, input_shape, expected_shape):
151 for mode in TESTS_PENDING_MODE:
152 # non-lazy
153 _funcs = []
154 for func in funcs:
155 for _func, _params in func.items():
156 _funcs.append(_func(mode=mode[0], **_params))
157 trans = Compose(_funcs)
158 data = self.get_arr(input_shape)
159 is_map = isinstance(_funcs[0], MapTransform)
160 im = MetaTensor(data, meta={"a": "b", "affine": np.eye(len(input_shape))})
161 input_data = {"img": im} if is_map else im
162 result_non_lazy = trans(input_data)
163 expected = result_non_lazy["img"] if is_map else result_non_lazy
164 self.assertIsInstance(expected, MetaTensor)
165 # lazy
166 pending_result = input_data
167 for _func in _funcs:
168 _func.lazy = True
169 pending_result = _func(pending_result)
170 pending_result = pending_result["img"] if is_map else pending_result
171 self.assertIsInstance(pending_result, MetaTensor)
172 assert_allclose(pending_result.peek_pending_affine(), expected.affine)
173 assert_allclose(pending_result.peek_pending_shape(), expected.shape[1:])
174 # TODO: mode="bilinear" may report error
175 overrides = {"mode": "nearest", "padding_mode": mode[1], "align_corners": False}
176 result = apply_pending(pending_result, overrides=overrides)[0]
177 # compare
178 assert_allclose(result, expected, rtol=1e-5)

Callers 1

test_combine_opsMethod · 0.80

Calls 8

get_arrMethod · 0.95
ComposeClass · 0.90
MetaTensorClass · 0.90
assert_allcloseFunction · 0.90
apply_pendingFunction · 0.90
peek_pending_affineMethod · 0.80
peek_pending_shapeMethod · 0.80
appendMethod · 0.45

Tested by 1

test_combine_opsMethod · 0.64