Source code for darsia.restoration.median
"""Module wrapping median algoriths from skimage into the realm of DarSIA."""
import numpy as np
import skimage
[docs]
class Median:
"""Median through skimage.filter.rank."""
def __init__(self, key: str = "", **kwargs) -> None:
"""Constructor.
Args:
key (str): Prefix for kwargs arguments.
"""
self.disk_radius: int = kwargs.get(key + "disk radius", 1)
def __call__(self, img: np.ndarray) -> np.ndarray:
return skimage.filters.rank.median(
skimage.img_as_ubyte(img), # type: ignore[attr-defined]
skimage.morphology.disk(self.disk_radius),
)