m3resp.SignalStream#

class m3resp.SignalStream(*, signal_id=<factory>, session_id, device_id, signal_type, unit=None, sampling_frequency_hz=None, sample_count=None, start_time=None, device_local_start_time=None, time_zone=None, time_base=None, sync_method=None, sync_reference_stream=None, clock_drift_ppm=None, time_offset_ms=None, sync_uncertainty_ms=None, sync_quality_label=None)[source]#

Base type for every continuous signal (doc Sec 7.4).

Time fields (all timestamps are Unix epoch seconds, UTC - see TimeBase for what varies is how much to trust them, not their units):

  • start_time: the best available real-world start time for this stream. Always required (see the store’s completeness check) even for sources with no reliable clock - in that case it holds a best-effort estimate (e.g. when acquisition was triggered), and time_base tells a consumer how much precision to expect from it.

  • device_local_start_time: the device’s own raw, uncorrected start time as reported by the device itself, kept separately from start_time for provenance/debugging even after any correction or calibration has been applied to produce start_time.

  • time_zone: the zone assumed when converting a naive local wall-clock reading (e.g. a hand-noted approximate timestamp) into an epoch value. Not needed for sources that already report an unambiguous absolute or epoch time.

  • time_base: see TimeBase.

Attributes

Parameters:
  • signal_id (str)

  • session_id (str)

  • device_id (str)

  • signal_type (Literal['eit_waveform', 'eit_frame', 'emg_raw', 'emg_envelope', 'ventilator_pressure', 'ventilator_flow', 'ventilator_volume'] | str)

  • unit (str | None)

  • sampling_frequency_hz (float | None)

  • sample_count (int | None)

  • start_time (float | None)

  • device_local_start_time (float | None)

  • time_zone (str | None)

  • time_base (Literal['absolute', 'approximate', 'relative', 'device_local', 'synchronized'] | None)

  • sync_method (Literal['common_clock', 'ntp', 'trigger', 'manual', 'breath_matching', 'none'] | str | None)

  • sync_reference_stream (str | None)

  • clock_drift_ppm (float | None)

  • time_offset_ms (float | None)

  • sync_uncertainty_ms (float | None)

  • sync_quality_label (Literal['good', 'acceptable', 'uncertain', 'failed'] | None)

clock_drift_ppm: float | None#
device_id: str#
device_local_start_time: float | None#
model_config = {'extra': 'forbid'}#

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

sample_count: int | None#
sampling_frequency_hz: float | None#
session_id: str#
signal_id: str#
signal_type: SignalType#
start_time: float | None#
sync_method: SyncMethod | None#
sync_quality_label: SyncQualityLabel | None#
sync_reference_stream: str | None#
sync_uncertainty_ms: float | None#
time_base: TimeBase | None#
time_offset_ms: float | None#
time_zone: str | None#
unit: str | None#