WaveletFilter¶
class WaveletFilter(settings: Optional[dict] = None)
Bases: MetaFilter
Subclass for defining a Wavelete filter to be applied to a dataset
Public Methods¶
- WaveletFilter.close_resources(channel: int | None = None) None¶
Perform any actions necessary to gracefully close resources before app exit. If channel is not None, handle only that channel, else close all of them.
- Parameters:
channel (Optional[int]) – channel ID
- WaveletFilter.get_empty_settings(globally_available_plugins: Dict[str, List[str]] | None = None, standalone: bool = False) Dict[str, Dict[str, Any]]¶
Get a dict populated with keys needed to initialize the filter if they are not set yet. This dict must have the following structure, but Min, Max, and Options can be skipped or explicitly set to None if they are not used. Type is required; Value may be omitted or set to None, both meaning there is no default and the user must supply one. All values provided must be consistent with Type.
settings = {'Parameter 1': {'Type': <int, float, str, bool>, 'Value': <value> or None, 'Options': [<option_1>, <option_2>, ... ] or None, 'Min': <min_value> or None, 'Max': <max_value> or None }, ... }
- Parameters:
- Returns:
the dict that must be filled in to initialize the filter
- Return type:
- WaveletFilter.reset_channel(channel: int | None = None) None¶
Reset the state of a specific channel for a new operation or run. If channel is not None, handle only that channel, else reset all of them. No-op here, since this filter holds no persistent per-channel state between calls.
- Parameters:
channel (Optional[int]) – channel ID
Private Methods¶
- WaveletFilter._apply_filter(data: ndarray[tuple[int, ...], dtype[float64]]) ndarray[tuple[int, ...], dtype[float64]]¶
Apply the specified filter to the data, callable only privately. Must be implemented by subclasses.
- Parameters:
data (npt.NDArray[np.float64]) – The data to be filtered
- Returns:
The filtered data
- Return type:
npt.NDArray[np.float64]
- WaveletFilter._finalize_initialization() None¶
Apply the provided filter paramters and intialize any internal structures needed by self.apply_filter(). Should Raise if initialization fails, but corner cases should be handled by _validate_settings already
- WaveletFilter._validate_settings(settings: dict) None¶
Validate that the settings dict contains the correct information for use by the subclass. Must be implemented by subclasses.
- Parameters:
settings (dict) – A dict specifying the parameters of the filter to be created. Required keys depend on subclass.
- Raises:
ValueError – If the settings dict does not contain the correct information for the given subclass.