From 8e17b430a4b14dc6052478df945ed997360e2efa Mon Sep 17 00:00:00 2001 From: RobBuchananCompPhys Date: Fri, 14 Feb 2025 14:27:38 +0000 Subject: [PATCH] filter abstract base class --- MDANSE/Src/MDANSE/Mathematics/Signal.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/MDANSE/Src/MDANSE/Mathematics/Signal.py b/MDANSE/Src/MDANSE/Mathematics/Signal.py index ed4172c63..1a9f279b4 100644 --- a/MDANSE/Src/MDANSE/Mathematics/Signal.py +++ b/MDANSE/Src/MDANSE/Mathematics/Signal.py @@ -20,6 +20,7 @@ from typing import Tuple import scipy.signal +from abc import ABC, abstractmethod from MDANSE.Mathematics.Arithmetic import weight from scipy import signal, fftpack @@ -305,7 +306,7 @@ def get_spectrum(signal, window=None, timeStep=1.0, axis=0, fft="fft"): DEFAULT_FILTER_CUTOFF = 25.0 -class Filter: +class Filter(ABC): """Base class for a filter operating on a signal.""" # Symbolic variable for analog filter transfer function (Laplace plane) @@ -344,6 +345,7 @@ class FrequencyRangeMethod(Enum): CUSTOM: int = 0 FFT: int = 1 + @abstractmethod def __init__(self, **kwargs): if not hasattr(self, "default_settings"): self.__class__.set_defaults()