Skip to content

← utilities package

DejitterTimestamps

De-jitter the time-stamps of the given data.

This can be useful (or necessary) when working with streams whose time stamps are jittered (e.g., because they were not time-stamped by the hardware but stamps were read off the computer clock at receive time, in which case they are subject to jitter from the operating system and driver stack). This is particularly important when multiple streams need to be time-synchronized, such as event markers versus data, and if you plan to segment the data into epochs around events (e.g., using the Segmentation node). Note that this filter should be used before the removal of bad time windows from the data (e.g., using the RemoveBadTimeWindows node), as otherwise the time stamps will be skewed. This node will work on both streaming and non-streaming data, the latter being processed incrementally (similar to how streaming data is processed). If you're importing an XDF file, the recommended approach is to apply de-jittering with the ImportXDF node (on by default) which is more accurate on non-streaming data since it can use the full data set, instead of using this node after import. (Note that the ImportFile node does not do de-jittering, only ImportXDF.) More Info... Version 1.0.0

Ports/Properties

data

Data to process.

  • verbose name: Data
  • default value: None
  • port type: DataPort
  • value type: Packet (can be None)
  • data direction: INOUT

forget_halftime

Exponential forget factor. This is the time, in seconds, until a past measurement will be weighted by 1/2. This value ideally roughly corresponds to the rate at which the sampling rate changes due to things like room temperature fluctuations, but excessively large values can cause numeric problems.

  • verbose name: Forget Factor (Halftime)
  • default value: 90
  • port type: FloatPort
  • value type: float (can be None)

force_monotonic

Enforce monotonic timestamps. This is needed for certain subsequent filters that assume that time-stamps are monotonically increasing (you will see warnings in subsequent filters when data does not satisfy this requirement).

  • verbose name: Enforce Monotonic Timestamps
  • default value: True
  • port type: BoolPort
  • value type: bool (can be None)

max_updaterate

Max internal update rate in Hz. If the signal's sampling rate is higher than this, updates will only be performed on every k'th sample (k being an integer). If this is set very high and a very high rate signal is dejittered (e.g., audio), this node can consume a significant amount of CPU.

  • verbose name: Max Internal Update Rate
  • default value: 500
  • port type: IntPort
  • value type: int (can be None)

warmup_samples

Number of warmup samples. The number of samples for which we warm up the timing statistics. The first few samples will be updated in a blockwise manner, because there will be significant uncertainty in the first few samples, followed by regular sample-wise updates once statistics have settled. If set to -1, this will equal the forget_halftime in samples.

  • verbose name: Number Of Warmup Samples
  • default value: -1
  • port type: IntPort
  • value type: int (can be None)

set_breakpoint

Set a breakpoint on this node. If this is enabled, your debugger (if one is attached) will trigger a breakpoint.

  • verbose name: Set Breakpoint (Debug Only)
  • default value: False
  • port type: BoolPort
  • value type: bool (can be None)

metadata

User-definable meta-data associated with the node. Usually reserved for technical purposes.

  • verbose name: Metadata
  • default value: {}
  • port type: DictPort
  • value type: dict (can be None)