SPATZ/spatz/sensors/compound.py

22 lines
615 B
Python

import numpy as np
from typing import List
from numpy.typing import ArrayLike
from sensor import Sensor
from spatz.dataset import Dataset, List
from spatz.logger import Logger
from spatz.transforms import Transform
class CompoundSensor(Sensor):
def __init__(self, dataset: Dataset, logger: Logger, sensors: List[Sensor], transforms: List[Transform] = []):
super().__init__(dataset, logger, transforms)
self.__sensors = sensors
def _get_data(self) -> ArrayLike:
x = np.stack([sensor() for sensor in self.__sensors])
x = self._sensor_specific_effects(x)
return x