Source code for ezmsg.sigproc.math.clip
import numpy as np
import ezmsg.core as ez
from ezmsg.util.messages.axisarray import AxisArray
from ezmsg.util.messages.util import replace
from ..base import BaseTransformer, BaseTransformerUnit
[docs]
class ClipSettings(ez.Settings):
a_min: float
"""Lower clip bound."""
a_max: float
"""Upper clip bound."""
[docs]
class Clip(BaseTransformerUnit[ClipSettings, AxisArray, AxisArray, ClipTransformer]):
SETTINGS = ClipSettings
[docs]
def clip(a_min: float, a_max: float) -> ClipTransformer:
"""
Clips the data to be within the specified range. See :obj:`np.clip` for more details.
Args:
a_min: Lower clip bound
a_max: Upper clip bound
Returns: :obj:`ClipTransformer`.
"""
return ClipTransformer(ClipSettings(a_min=a_min, a_max=a_max))