Source code for stonesoup.feeder.multi

import heapq
from typing import Collection

from .base import DetectionFeeder, GroundTruthFeeder
from ..base import Property
from ..buffered_generator import BufferedGenerator
from ..reader import Reader


[docs] class MultiDataFeeder(DetectionFeeder, GroundTruthFeeder): """Multi-data Feeder This returns states from multiple data readers as a single stream, yielding from the reader yielding the lowest timestamp first. """ reader = None readers: Collection[Reader] = Property(doc='Readers to yield from') @BufferedGenerator.generator_method def data_gen(self): yield from heapq.merge(*self.readers)