SpectrallyWhitenTimeSeries¶
IIR filter a time series to produce a flat spectrum.
Coefficients are calculated from the calibration data to be the AR coefficients that reconstruct a white noise signal from the calibration signal. Note that a different filter is used for each feature (i.e. each channel), thus there are variable phase delays across features, destroying connectivity information. This filter should only be used in specific applications when you are fully aware of these consequences. One such application is when extracting broadband power from ECoG data for the purpose of classification of data segments. Version 0.1.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
order¶
Yule Walker AR order. This determines the complexity of the spectrum that can be accounted for.
- verbose name: Model Order
- default value: 10
- port type: IntPort
- value type: int (can be None)
init_on¶
Time range to calibrate (initialize) the filter on. This parameter can take a single number or two numbers. In case of streaming data, this should always be a single number, representing the number of seconds to buffer from the start of the data for calibration. In case of offline (recorded) data, this can either be a single number, in which case it represents the window of time in seconds from the beginning of the recording to be used; or, it can be a list of two numbers, in which case this refers to a range of data in seconds, relative to the start of the data, to be used for calibration. The latter allows you to calibrate on data other than the first segment of the data (i.e., if known to be bad), or to avoid running the (fairly expensive) filter on a very long file or on each fold of a cross-validation. Note that a value of 0 here will in the case of offline data be interpreted as the entire file, and in the case of streaming data will raise an error.
- verbose name: Calibration Range
- default value: []
- port type: ListPort
- value type: list (can be None)
calib_seconds¶
Amount of data, in seconds, to buffer for calibration on streaming data, used to compute its filter coefficients before any output is produced. For offline (non-streaming) data use the "calibration range" (init_on) parameter instead.
- verbose name: Calib Seconds
- default value: 45
- port type: IntPort
- value type: int (can be None)
emit_calib_data¶
Emit the data buffer that was used for calibration, after calibration is complete, in a single chunk. If False, this filter will discard the calibration data. Since this chunk can be quite long, it is often preferable to discard it in a real-time pipeline, but if subsequent nodes need to see the processed calibration data to calibrate themselves (quite likely the case), it needs to be emitted.
- verbose name: Emit Calibration Data
- default value: True
- 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)