from abc import ABC, abstractmethod class FeatureExtractor(ABC): def __init__(self): pass def __call__(self, input_data, frequency, baseline_data=None, normalization_method=None): return self.extract_features(input_data, frequency, baseline_data, normalization_method) @abstractmethod def extract_features(self, input_data, baseline_data, frequency, normalization_method): pass @abstractmethod def normalize_features(self, features, baseline_features, normalization_method=None): pass