ezmsg.xdf.source#

Classes

class PlaybackClock(rate=1.0, step_dur=0.005)[source]#

Bases: object

Parameters:
__init__(rate=1.0, step_dur=0.005)[source]#

Create an object that provides a timer that can run at a specified rate, and with a specified step duration.

Parameters:
  • rate (float) – Speed of playback. 1.0 is real time.

  • step_dur (float) – The duration of each step in seconds. Provide the duration using the unmodified rate.

reset()[source]#
Return type:

None

async astep()[source]#
Return type:

None

step()[source]#
Return type:

None

class XDFIteratorUnit(*args, settings=None, **kwargs)[source]#

Bases: _XDFUnitBase, BaseProducerUnit[XDFIteratorSettings, AxisArray, XDFAxisArrayIterator]

Parameters:

settings (Settings | None)

SETTINGS#

alias of XDFIteratorSettings

OUTPUT_SIGNAL = OutputStream:unlocated[AxisArray](self.num_buffers=32, self.force_tcp=None, self.allow_local=None)#
async produce()[source]#
Return type:

AsyncGenerator

class XDFMultiIteratorUnit(*args, settings=None, **kwargs)[source]#

Bases: _XDFUnitBase, BaseProducerUnit[XDFMultiIteratorSettings, AxisArray, XDFMultiAxArrIterator]

Parameters:

settings (Settings | None)

SETTINGS#

alias of XDFMultiIteratorSettings

OUTPUT_SIGNAL = OutputStream:unlocated[AxisArray](self.num_buffers=32, self.force_tcp=None, self.allow_local=None)#
async produce()[source]#
Return type:

AsyncGenerator

class PlaybackClock(rate=1.0, step_dur=0.005)[source]#

Bases: object

Parameters:
__init__(rate=1.0, step_dur=0.005)[source]#

Create an object that provides a timer that can run at a specified rate, and with a specified step duration.

Parameters:
  • rate (float) – Speed of playback. 1.0 is real time.

  • step_dur (float) – The duration of each step in seconds. Provide the duration using the unmodified rate.

reset()[source]#
Return type:

None

async astep()[source]#
Return type:

None

step()[source]#
Return type:

None

class XDFIteratorSettings(filepath, select='', chunk_dur=1.0, start_time=None, stop_time=None, rezero=True, playback_rate=None, self_terminating=False)[source]#

Bases: Settings

Settings shared by both AxisArray iterators.

playback_rate and self_terminating belong to the unit rather than to the reader, and are listed in NONRESET_SETTINGS_FIELDS so changing either does not reopen the file.

Parameters:
filepath: PathLike | str#
select: str = ''#
chunk_dur: float = 1.0#
start_time: float | None = None#
stop_time: float | None = None#
rezero: bool = True#
playback_rate: float | None = None#
self_terminating: bool = False#

If True, the unit will raise a ez.NormalTermination exception when the file is exhausted. Note, however, that this will terminate the pipeline even if the data published by this unit are still in transit, which will lead to the pipeline output being truncated before it has finished processing the stream. self_terminating should only be used when it is not important that the pipeline finish processing data, such as during prototyping and testing.

__init__(filepath, select='', chunk_dur=1.0, start_time=None, stop_time=None, rezero=True, playback_rate=None, self_terminating=False)#
Parameters:
Return type:

None

class XDFIteratorUnit(*args, settings=None, **kwargs)[source]#

Bases: _XDFUnitBase, BaseProducerUnit[XDFIteratorSettings, AxisArray, XDFAxisArrayIterator]

Parameters:

settings (Settings | None)

SETTINGS#

alias of XDFIteratorSettings

OUTPUT_SIGNAL = OutputStream:unlocated[AxisArray](self.num_buffers=32, self.force_tcp=None, self.allow_local=None)#
async produce()[source]#
Return type:

AsyncGenerator

class XDFMultiIteratorSettings(filepath: Union[os.PathLike, str], select: set[str] | None = None, chunk_dur: float = 1.0, start_time: float | None = None, stop_time: float | None = None, rezero: bool = True, playback_rate: float | None = None, self_terminating: bool = False, force_single_sample: set = <factory>)[source]#

Bases: XDFIteratorSettings

Parameters:
select: set[str] | None = None#
force_single_sample: set#
__init__(filepath, select=None, chunk_dur=1.0, start_time=None, stop_time=None, rezero=True, playback_rate=None, self_terminating=False, force_single_sample=<factory>)#
Parameters:
Return type:

None

class XDFMultiIteratorUnit(*args, settings=None, **kwargs)[source]#

Bases: _XDFUnitBase, BaseProducerUnit[XDFMultiIteratorSettings, AxisArray, XDFMultiAxArrIterator]

Parameters:

settings (Settings | None)

SETTINGS#

alias of XDFMultiIteratorSettings

OUTPUT_SIGNAL = OutputStream:unlocated[AxisArray](self.num_buffers=32, self.force_tcp=None, self.allow_local=None)#
async produce()[source]#
Return type:

AsyncGenerator

XDFMultiIteratorUnitSettings#

alias of XDFMultiIteratorSettings