-
Notifications
You must be signed in to change notification settings - Fork 1.4k
Closed
Labels
enhancementNew feature or requestNew feature or request
Milestone
Description
Is your feature request related to a problem? Please describe.
Issue reported from internal SA team, OneOf compose method can't support non-invertible transforms.
Program to reproduce the issue:
transform = Compose([
Resized(keys="img", spatial_size=[100, 100, 100]),
OneOf([
RandScaleIntensityd(keys="img", factors=0.5, prob=1.0),
RandShiftIntensityd(keys="img", offsets=0.5, prob=1.0),
]),
])
transform.set_random_state(seed=0)
result = transform({"img": np.ones((1, 101, 102, 103))})
result = transform.inverse(result)
print(result["img"].shape)Got the error:
Traceback (most recent call last):
File "/workspace/data/medical/MONAI/monai/transforms/transform.py", line 82, in apply_transform
return _apply_transform(transform, data, unpack_items)
File "/workspace/data/medical/MONAI/monai/transforms/transform.py", line 53, in _apply_transform
return transform(parameters)
File "/workspace/data/medical/MONAI/monai/transforms/compose.py", line 264, in inverse
raise RuntimeError(f"Applied OneOf transform is not invertible (applied index: {index}).")
RuntimeError: Applied OneOf transform is not invertible (applied index: 1).
The above exception was the direct cause of the following exception:
...
Metadata
Metadata
Assignees
Labels
enhancementNew feature or requestNew feature or request