nifreeze.data.filtering module¶
Filtering data.
- nifreeze.data.filtering.DEFAULT_DTYPE = 'int16'¶
The default image’s data type.
- nifreeze.data.filtering.advanced_clip(data: np.ndarray, p_min: float = 35, p_max: float = 99.98, nonnegative: bool = True, dtype: str | np.dtype = 'int16', invert: bool = False) np.ndarray [source]¶
Clips outliers from a n-dimensional array and scales/casts to a specified data type.
This function removes outliers from both ends of the intensity distribution in a n-dimensional array using percentiles. It optionally enforces non-negative values and scales the data to fit within a specified data type (e.g., uint8 for image registration). To remove outliers more robustly, the function first applies a median filter to the data before calculating clipping thresholds.
- Parameters:
data (
ndarray
) – The input n-dimensional data array.p_min (
float
, optional) – The lower percentile threshold for clipping. Values below this percentile are set to the threshold value.p_max (
float
, optional) – The upper percentile threshold for clipping. Values above this percentile are set to the threshold value.nonnegative (
bool
, optional) – If True, only consider non-negative values when calculating thresholds.dtype (
str
ordtype
, optional) – The desired data type for the output array. Supported types are “uint8” and “int16”.invert (
bool
, optional) – IfTrue
, inverts the intensity values after scaling (1.0 -data
).
- Returns:
The clipped and scaled data array with the specified data type.
- Return type: