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

Function _get_scan_interval

monai/inferers/utils.py:399–420  ·  view source on GitHub ↗

Compute scan interval according to the image size, roi size and overlap. Scan interval will be `int((1 - overlap) * roi_size)`, if interval is 0, use 1 instead to make sure sliding window works.

(
    image_size: Sequence[int], roi_size: Sequence[int], num_spatial_dims: int, overlap: Sequence[float]
)

Source from the content-addressed store, hash-verified

397
398
399def _get_scan_interval(
400 image_size: Sequence[int], roi_size: Sequence[int], num_spatial_dims: int, overlap: Sequence[float]
401) -> tuple[int, ...]:
402 """
403 Compute scan interval according to the image size, roi size and overlap.
404 Scan interval will be `int((1 - overlap) * roi_size)`, if interval is 0,
405 use 1 instead to make sure sliding window works.
406
407 """
408 if len(image_size) != num_spatial_dims:
409 raise ValueError(f"len(image_size) {len(image_size)} different from spatial dims {num_spatial_dims}.")
410 if len(roi_size) != num_spatial_dims:
411 raise ValueError(f"len(roi_size) {len(roi_size)} different from spatial dims {num_spatial_dims}.")
412
413 scan_interval = []
414 for i, o in zip(range(num_spatial_dims), overlap):
415 if roi_size[i] == image_size[i]:
416 scan_interval.append(int(roi_size[i]))
417 else:
418 interval = int(roi_size[i] * (1 - o))
419 scan_interval.append(interval if interval > 0 else 1)
420 return tuple(scan_interval)
421
422
423def _flatten_struct(seg_out):

Callers 1

sliding_window_inferenceFunction · 0.85

Calls 1

appendMethod · 0.45

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…