"""Generic event-based dataset structure."""
from __future__ import annotations
import sys
from qualia_core.dataset.Dataset import Dataset
from qualia_plugin_snn.datamodel.EventDataModel import EventData, EventDataModel
if sys.version_info >= (3, 12):
from typing import override
else:
from typing_extensions import override
[docs]
class EventDataset(Dataset[EventData]):
"""Generic superclass for event-based datasets."""
h: int
w: int
[docs]
def __init__(self) -> None:
"""Construct :class:`qualia_plugin_snn.dataset.EventDataset.EventDataset`."""
super().__init__(sets=list(EventDataModel.Sets.fieldnames()))
[docs]
@override
def import_data(self) -> EventDataModel:
"""Import data for event-based dataset.
Relies on :meth:`qualia_plugin_snn.datamodel.EventDataModel.import_data`
:return: Data model with imported data
"""
edm = EventDataModel(name=self.name, h=self.h, w=self.w)
edm.import_sets(set_names=self.sets)
return edm