Describe the bug
Given the following image and label:

When applying RandAffined, the image and labels no longer match:

To Reproduce
Steps to reproduce the behavior:
- Load these files: example_files.zip
- Execute this pipeline:
from pathlib import Path
import numpy as np
from monai.transforms.compose import Compose
from monai.transforms.io.dictionary import LoadImaged, SaveImaged
from monai.transforms.spatial.dictionary import RandAffined
from monai.transforms.utility.dictionary import (EnsureChannelFirstd, ToTensord)
from monai.utils.enums import GridSampleMode
path = Path('scratch/rand_affine')
T1_KEY = 't1'
LABEL_KEY = 'labels'
FILE_KEYS = [T1_KEY, LABEL_KEY]
SAMPLE_MODES = [GridSampleMode.BILINEAR, GridSampleMode.NEAREST]
data = {
T1_KEY: path / 't1.nii.gz',
LABEL_KEY: path / 'labels.nii.gz',
}
process = Compose([
LoadImaged(FILE_KEYS),
ToTensord(FILE_KEYS),
EnsureChannelFirstd(FILE_KEYS),
RandAffined(
FILE_KEYS,
rotate_range=5.0 * np.pi / 180.0, # type: ignore
prob=1.0,
mode=SAMPLE_MODES,
allow_missing_keys=True,
),
SaveImaged(
FILE_KEYS,
output_dir=path,
output_postfix=f"out",
resample=False,
output_dtype=np.float32,
separate_folder=False,
print_log=False,
)
])
process([data])
Expected behavior
The same random affine transformation is applied to all images.
After the transform the labels still match the image.
Additional context
I did not yet identify the issue.
Describe the bug
Given the following image and label:

When applying
RandAffined, the image and labels no longer match:To Reproduce
Steps to reproduce the behavior:
Expected behavior
The same random affine transformation is applied to all images.
After the transform the labels still match the image.
Additional context
I did not yet identify the issue.