Source code for medipt.transforms.intensity.clamp_intensity

from typing import Union, Tuple, List
import numpy as np
from .intensity_utils_np import clamp_intensity_np
from .intensity_utils_sitk import clamp_intensity_sitk
import SimpleITK as sitk



[docs]class ClampIntensity: def __init__(self, window_min: Union[int, float] = None, window_max: Union[int, float] = None, *args, **kwargs): self.window_min = window_min self.window_max = window_max def __call__(self, image: Union[np.ndarray, sitk.Image], *args, **kwargs) -> Union[np.ndarray, sitk.Image]: if isinstance(image, np.ndarray): return clamp_intensity_np(image, window_min=self.window_min, window_max=self.window_max, *args, **kwargs) elif isinstance(image, sitk.Image): return clamp_intensity_sitk(image, window_min=self.window_min, window_max=self.window_max, *args, **kwargs) else: raise ImportError("image must be either a numpy array or a SimpleITK image.")