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

Method test_inverse

tests/transforms/inverse/test_inverse.py:426–453  ·  view source on GitHub ↗
(self, _, data_name, acceptable_diff, is_meta, *transforms)

Source from the content-addressed store, hash-verified

424
425 @parameterized.expand(TESTS)
426 def test_inverse(self, _, data_name, acceptable_diff, is_meta, *transforms):
427 name = _
428
429 data = self.all_data[data_name]
430 if is_meta:
431 data = ToMetaTensord(KEYS)(data)
432
433 forwards = [data.copy()]
434
435 # Apply forwards
436 for t in transforms:
437 if isinstance(t, Randomizable):
438 t.set_random_state(seed=get_seed())
439 forwards.append(t(forwards[-1]))
440
441 # Apply inverses
442 fwd_bck = forwards[-1].copy()
443 for i, t in enumerate(reversed(transforms)):
444 if isinstance(t, InvertibleTransform):
445 if isinstance(fwd_bck, list):
446 for j, _fwd_bck in enumerate(fwd_bck):
447 fwd_bck = t.inverse(_fwd_bck)
448 self.check_inverse(
449 name, data.keys(), forwards[-i - 2], fwd_bck, forwards[-1][j], acceptable_diff
450 )
451 else:
452 fwd_bck = t.inverse(fwd_bck)
453 self.check_inverse(name, data.keys(), forwards[-i - 2], fwd_bck, forwards[-1], acceptable_diff)
454
455 # skip this test if multiprocessing uses 'spawn', as the check is only basic anyway
456 @skipUnless(torch.multiprocessing.get_start_method() == "spawn", "requires spawn")

Callers

nothing calls this directly

Calls 6

check_inverseMethod · 0.95
ToMetaTensordClass · 0.90
get_seedFunction · 0.90
set_random_stateMethod · 0.45
appendMethod · 0.45
inverseMethod · 0.45

Tested by

no test coverage detected