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

Method __init__

monai/transforms/smooth_field/array.py:59–96  ·  view source on GitHub ↗
(
        self,
        rand_size: Sequence[int],
        pad: int = 0,
        pad_val: float = 0,
        low: float = -1.0,
        high: float = 1.0,
        channels: int = 1,
        spatial_size: Sequence[int] | None = None,
        mode: str = InterpolateMode.AREA,
        align_corners: bool | None = None,
        device: torch.device | None = None,
    )

Source from the content-addressed store, hash-verified

57 backend = [TransformBackends.TORCH]
58
59 def __init__(
60 self,
61 rand_size: Sequence[int],
62 pad: int = 0,
63 pad_val: float = 0,
64 low: float = -1.0,
65 high: float = 1.0,
66 channels: int = 1,
67 spatial_size: Sequence[int] | None = None,
68 mode: str = InterpolateMode.AREA,
69 align_corners: bool | None = None,
70 device: torch.device | None = None,
71 ):
72 self.rand_size = tuple(rand_size)
73 self.pad = pad
74 self.low = low
75 self.high = high
76 self.channels = channels
77 self.mode = mode
78 self.align_corners = align_corners
79 self.device = device
80
81 self.spatial_size: Sequence[int] | None = None
82 self.spatial_zoom: Sequence[float] | None = None
83
84 if low >= high:
85 raise ValueError("Value for `low` must be less than `high` otherwise field will be zeros")
86
87 self.total_rand_size = tuple(rs + self.pad * 2 for rs in self.rand_size)
88
89 self.field = torch.ones((1, self.channels) + self.total_rand_size, device=self.device) * pad_val
90
91 self.crand_size = (self.channels,) + self.rand_size
92
93 pad_slice = slice(None) if self.pad == 0 else slice(self.pad, -self.pad)
94 self.rand_slices = (0, slice(None)) + (pad_slice,) * len(self.rand_size)
95
96 self.set_spatial_size(spatial_size)
97
98 def randomize(self, data: Any | None = None) -> None:
99 self.field[self.rand_slices] = torch.from_numpy(self.R.uniform(self.low, self.high, self.crand_size)) # type: ignore[index]

Callers 3

__init__Method · 0.45
__init__Method · 0.45
__init__Method · 0.45

Calls 1

set_spatial_sizeMethod · 0.95

Tested by

no test coverage detected