Source code for smpy.filters.plotting
"""Filtering utilities for plotting and visualization.
This module provides filtering functions used in mass map visualization
and post-processing, primarily focused on Gaussian smoothing operations.
"""
from scipy.ndimage import gaussian_filter
[docs]
def apply_filter(data, filter_config):
"""Apply filtering to input data.
Apply the specified filter to input data according to the provided
configuration parameters. Currently supports Gaussian smoothing.
Parameters
----------
data : `numpy.ndarray`
Input data array to be filtered.
filter_config : `dict` or None
Filter configuration dictionary containing:
- type: type of filter ('gaussian' or None)
- sigma: smoothing scale (for gaussian)
Returns
-------
filtered_data : `numpy.ndarray`
Filtered data array.
Raises
------
ValueError
If unknown filter type is specified.
Notes
-----
If filter_config is None or filter_config['type'] is None,
returns the input data unchanged.
"""
if filter_config is None or filter_config.get('type') is None:
return data
filter_type = filter_config['type'].lower()
if filter_type == 'gaussian':
sigma = filter_config.get('sigma', 1.0)
return gaussian_filter(data, sigma=sigma)
else:
raise ValueError(f"Unknown filter type: {filter_type}")