AccumulateCalibrationData¶
Accumulate calibration data and emit it in one large chunk.
This node is for setups where you have streaming data and some of your processing nodes need to be calibrated, and you intend to collect the calibration data on the fly at the beginning of the live session, instead of using a recording of previously collected calibration data (in the latter case you would use the Inject Calibration Data node instead of this node). If all your processing nodes are capable of incremental calibration on streaming data, you do not need this node -- however, only very few nodes can do that: instead, most adaptive processing nodes require a long chunk that has all the calibration data, on which they then perform a one-step calibration calculation. This node handles the task of buffering up your streaming calibration data into one chunk, and then emits it all in one go, so that subsequent nodes can adapt themselves on it. For this to work, the accumulate node needs to know where the calibration data begin, and where they end: you are responsible for telling it by inserting special marker in the data at the beginning of the calibration period, and another special marker at the end (the marker strings to look for can be customized). This node also supports a few options only visible in expert mode to decide what happens to any streaming data prior to the beginning of the calibration section: usually you want to drop such data since your pipeline would not be able to process it yet anyway, but this can be overridden with a parameter. The other option is what happens when there is another calibration section some time after the first one: you may choose to either ignore that section, or to trigger another recalibration. Also, other than the mere length of the chunk, the way in which the calibration data that this node emits is distinguished from the regular streaming data which it also emits, is that this node marks the calibration chunk that it outputs as 'non-streaming' by setting the corresponding flag on the packet (since most adaptive nodes will only be able to update themselves on non-streaming data). Limitations: While it is possible to use this node to demarcate multiple successive calibration windows, and it will then emit a calibration chunk for each of them, this node basically assumes that a single input chunk is intersected by at most one such calibration time window. If that assumption is violated, this node will default to fusing the successive calibration windows into a longer one that covers all calibration data. Warnings will be generated in such cases. 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
begin_marker¶
Marker string that indicates that calibration data is beginning. As explained in the help text for the node, a marker is necessary to inform the node about when the data that it should accumulate begins (and ends). The recommended way to get this marker into the data is by emitting it from the same program that also generates any other calibration-relevant markers (e.g., those that are picked up in the Assign Targets Markers node). Can also be a time offset, see Marker mode argument.
- verbose name: Begin Marker
- default value: calib-begin
- port type: Port
- value type: object (can be None)
end_marker¶
Marker string that indicates that calibration data is ending. As for the begin marker, the best way to get it embedded into the data stream is to emit it from the program that manages the calibration process (that program would usually emit markers that are used e.g., by the Segmentation or the machine learning nodes). Can also be a time offset, see Marker mode argument.
- verbose name: End Marker
- default value: calib-end
- port type: Port
- value type: object (can be None)
marker_mode¶
How to interpret the begin_marker and end_marker. In the default setting 'markers', the are matched to event markers that are assumed to be present in the data. In the 'relative-times' mode, they are interpreted as time offsets counting from the beginning of the data, in seconds.
- verbose name: Marker Mode
- default value: markers
- port type: EnumPort
- value type: str (can be None)
print_markers¶
Print markers. This prints markers during the calibration period for debugging/inspection.
- verbose name: Print Markers
- default value: False
- port type: BoolPort
- value type: bool (can be None)
verbose¶
Verbose output.
- verbose name: Verbose
- default value: False
- port type: BoolPort
- value type: bool (can be None)
emit_calib_data¶
Emit the calibration data. If set to False, the calibration data portion is dropped.
- verbose name: Emit Calibration Data
- default value: True
- port type: BoolPort
- value type: bool (can be None)
emit_predict_data¶
Emit the non-calibration ('streaming') data. If set to False, the data outside the calibration markers will be dropped.
- verbose name: Emit Streaming Data
- default value: True
- port type: BoolPort
- value type: bool (can be None)
calibration_first¶
Do not emit any streaming data before the first calibration chunk has ended. This is needed for many methods that can only predict after they have been calibrated.
- verbose name: No Output Before Calibration Data
- default value: True
- port type: BoolPort
- value type: bool (can be None)
can_recalibrate¶
Allow re-calibration. If false, only a single calibration period will be allowed and subsequent calibration markers will be ignored.
- verbose name: Allow Recalibration
- default value: False
- port type: BoolPort
- value type: bool (can be None)
suppress_empty_packets¶
Do not emit packets that contain only empty data. In cases where this node would emit a packet with all- empty data, enabling this option will cause the node to emit None instead.
- verbose name: Suppress Empty Packets
- default value: False
- port type: BoolPort
- value type: bool (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)