Module: diagnostics
Diagnostic output.
These nodes allow you to print diagnostics and debug your pipelines or your code, and offer feature such as sanity-checking the data, or printing node properties.
AddSampleCounter
Add a sample counter channel to the signal.
This node can sometimes be useful as a debugging aid -- it will simply replace the content of the first channel along time with a sample index. This helps in identifying time points in the data where bugs occur, and in tracking these times points through various nodes.
Version 1.0.0
Ports/Properties
-
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)
-
data
Data to process.- verbose name: Data
- default value: None
- port type: DataPort
- value type: Packet (can be None)
- data direction: INOUT
-
enabled
Whether this stage is enabled.- verbose name: Enabled
- 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)
Alert
Shows and/or sounds an alert if incoming values are a 1 (ON), otherwise does nothing (this node does not pass data through).
It is assumed the incoming packet contains a data tensor with either 1s or 0s (ON or OFF). The require_all parameter determines behavior if there are some 1s and some 0s. Use an upstream node, such as the Step node, to set this value (i.e., based on a threshold). Alternatively, this node can be configured to trigger an alert when a given event marker(s) is received in a marker stream (see stream_properties
property). This node also creates a new marker stream with alerts which can be wired into an LSLOutput node for notification via LSL.
Version 0.10.1
Ports/Properties
-
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)
-
data
Data to process.- verbose name: Data
- default value: None
- port type: DataPort
- value type: Packet (can be None)
- data direction: IN
-
notifs
Notifications/alerts as markers in a marker stream- verbose name: Notifs
- default value: None
- port type: DataPort
- value type: Packet (can be None)
- data direction: OUT
-
popup_window
Pop up a notification window when alert is ON.- verbose name: Popup Window
- default value: False
- port type: BoolPort
- value type: bool (can be None)
-
play_sound
Play a sound (computer beep) when alert is ON. On linux this requires the sox library to be installed on the system (i.e.,sudo apt install sox
) and may also require pulseaudio (i.e.,sudo apt install pulseaudio
).- verbose name: Play Sound
- default value: False
- port type: BoolPort
- value type: bool (can be None)
-
sound_properties
Properties of the sound to play. This can either be a two element list with frequency (Hz) and duration (seconds) of the sound to play (i.e.,[440, 0.5]
for a 440 Hz tone lasting 0.5 seconds), or a string representing the filename of a sound file (.wav) to play. Note that, while file playback is asynchronous, the frequency/duration format will block NeuroPype for the duration of the audio.- verbose name: Sound Properties
- default value: [440, 0.5]
- port type: Port
- value type: object (can be None)
-
continuous_alert
If true, the alert will be sent with each packet, if an alert is triggered. If false, the alert will only be sent if the previous packet did not trigger an alert. Set to false if you only want an alert when i.e. a threshold (or other trigger) is first tripped; set to true if you want a continuous alert while the threshold or trigger is tripped.- verbose name: Continuous Alert
- default value: False
- port type: BoolPort
- value type: bool (can be None)
-
require_all
Require all values in the incoming packet to be 1 (ON) before sending an alert. If false, an alert will be sent if any value in the packet is 1.- verbose name: Require All
- default value: False
- port type: BoolPort
- value type: bool (can be None)
-
alert_on_marker
If this is set, an alert will be triggered when a matching event marker is received instead of when the data stream has a value of 1. Wildcards (*
,?
) are supported (so*on
will trigger on any marker ending inon
. If this is empty or None, then an alert will be triggered if the data tensor of the incoming packet has a value of 1 (or multiple values of 1 ifrequire_all
is set).- verbose name: Alert On Marker
- default value: None
- port type: StringPort
- value type: str (can be None)
-
alert_message
Message to display in the alert window or print in the logs.- verbose name: Alert Message
- default value: Alert triggered
- port type: StringPort
- value type: str (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)
AssertEqual
Assert that the given data is equal to the configured value throw an error otherwise.
This will throw an error of type AssertionError, which can be caught with an enclosing Except node if desired. This node will pass the data out unchanged.
Version 1.0.0
Ports/Properties
-
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)
-
data
Data to process.- verbose name: Data
- default value: None
- port type: DataPort
- value type: object (can be None)
- data direction: INOUT
-
value
Constant value to compare with.- verbose name: Value
- default value: None
- port type: Port
- value type: object (can be None)
-
ignore_if_none
Ignore the assertion if the data is None.- verbose name: Ignore If None
- default value: False
- port type: BoolPort
- value type: bool (can be None)
-
msg
Message to show if the condition is not met.- verbose name: Msg
- default value: The value was not equal to the expected value.
- port type: StringPort
- value type: str (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)
AssertIdentical
Ensure that the two input signals have identical data.
This node compares the packets of two data inlets, and ensures that their content (numeric data and optionally also meta-data) is identical to within a given tolerance.
Version 1.0.0
Ports/Properties
-
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)
-
data1
First data stream.- verbose name: Data1
- default value: None
- port type: DataPort
- value type: object (can be None)
- data direction: IN
-
data2
Second data stream.- verbose name: Data2
- default value: None
- port type: DataPort
- value type: object (can be None)
- data direction: IN
-
check_metadata
Also check meta-data. If false, only the numeric contents are checked.- verbose name: Check Metadata
- default value: False
- port type: BoolPort
- value type: bool (can be None)
-
tolerance
Numerical tolerance. This is relative to the scale of the data values.- verbose name: Tolerance
- default value: 0.001
- port type: FloatPort
- value type: float (can be None)
-
verbose
Print verbose debug output.- verbose name: Verbose
- 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)
AssertMonotonicTime
Assert that the time stamps in the given data are monotonically increasing.
This can be used to debug certain situations where this is not the case, e.g., jittery time stamps, repeated data packets, and the like. Some nodes require time stamps to be non-decreasing to function correctly, for instance the Segmentation node.
Version 1.0.0
Ports/Properties
-
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)
-
data
Data to process.- verbose name: Data
- default value: None
- port type: DataPort
- value type: Packet (can be None)
- data direction: INOUT
-
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)
AssertNoDropouts
Assert that the given data's time stamps contain no dropouts.
This node works with streaming and non-streaming data, and ensure that successive timestamps in the time axis are congruent with the advertised sampling rate (within a certain tolerance). It warns if this is not the case.
Version 1.0.0
Ports/Properties
-
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)
-
data
Data to process.- verbose name: Data
- default value: None
- port type: DataPort
- value type: Packet (can be None)
- data direction: INOUT
-
tolerance
Tolerated jitter. If the sampling interval differs by more than this jitter, you will see spurious dropout warnings.- verbose name: Tolerance
- default value: 0.0001
- port type: FloatPort
- value type: float (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)
AssertNoDuplicateChunks
Check for (and optionally remove) successive duplicate chunks from the data.
This node checks if a chunk matches the previous chunk and if so, it can drop it from the data. Note that it would be advisable to fix the root cause instead, which is likely a buggy data acquisition or transmission process.
Version 1.0.0
Ports/Properties
-
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)
-
data
Data to process.- verbose name: Data
- default value: None
- port type: DataPort
- value type: Packet (can be None)
- data direction: INOUT
-
show_warnings
Show warnings when dropping chunks.- verbose name: Show Warnings
- default value: True
- port type: BoolPort
- value type: bool (can be None)
-
drop_duplicates
Drop duplicate chunks.- verbose name: Drop Duplicates
- 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)
ChannelDiagnostics
This node calls several other nodes, such as LineNoise, CorrelationMetric and HighFrequencyNoise, to compute and display those metrics as topoplots, along with a single weighted "Bad Channel" signal quality metric also displayed as a topoplot.
This node can also optionally take in a stream of impedance values, such as those produced by the ComputeImpedance node, or which may be provided by a device (the channel names must match the channel names in the data packet coming into this node.) If provided, the impedance will be used in the bad channel classification. In the Bad Channel Classification, each channel is marked as "good" (1, green), "acceptable" (2, yellow), or "bad" (3, red). The classification is based on whether any of the following metrics are above the threshold (or below in the case of a metric where a lower value is worse, such as channel correlation) for the given channel: channel correlation, high frequency noise, impedance (if provided). There is a special case where if only the high frequency noise metric is "bad" (3), while the other metric(s) are either "good" (1) or "acceptable" (2), that channel will be set to a value of 4 and shown in purple. This allows you to distinguish cases where a channel is "bad" due to high frequency noise (which may not be immediately remediable in some situations) from cases where a channel is bad due to poor contact (which may be remediable). Note also that when computing the high frequency metric, there is the option to exclude the line noise frequency (e.g., 50 or 60 Hz) from the computation, which is set to True by default. In some cases where you don't have a separate line noise plot and are relying on the bad channel classification only, it may be preferable to set this to False. The computed metrics are also output via DataPorts, i.e., to wire into LSLOutput nodes for visualization elsewhere. You can also turn off the plots in this node and wire the desired metric(s) directly into TopoPlot node(s) for more control over the plot displays or to display only certain metrics only. You should use a highpass filter at 0.5 or 1 Hz before this node (i.e., FIRFilter). This node is for streaming data only.
Version 2.0.0
Ports/Properties
-
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)
-
data
Data to process.- verbose name: Data
- default value: None
- port type: DataPort
- value type: Packet (can be None)
- data direction: IN
-
impedance
Incoming impedance values; if present, will be used in the bad channel classification.- verbose name: Impedance
- default value: None
- port type: DataPort
- value type: Packet (can be None)
- data direction: IN
-
ln_data
Line Noise values to plot. See Line Noise node for details.- verbose name: Ln Data
- default value: None
- port type: DataPort
- value type: Packet (can be None)
- data direction: OUT
-
cm_data
Correlation Metric values to plot. See Correlation Metric node for details.- verbose name: Cm Data
- default value: None
- port type: DataPort
- value type: Packet (can be None)
- data direction: OUT
-
hf_data
High Frequency Noise values to plot. See High Frequency Noise node for details.- verbose name: Hf Data
- default value: None
- port type: DataPort
- value type: Packet (can be None)
- data direction: OUT
-
bc_data
Bad Channel Classification values to plot. These are output as values of either 1, 2, or 3 (with a special case of 4, see documentation), which correspond to good, acceptable, or bad, respectively; in the Bad Channel topoplot these values are represented by green, yellow, red, respectively.)- verbose name: Bc Data
- default value: None
- port type: DataPort
- value type: Packet (can be None)
- data direction: OUT
-
line_noise_frequency
Frequency in Hz that line noise is expected due to AC power (e.g . USA is 60 Hz, Europe is 50 Hz).- verbose name: Line Noise Frequency (Hz)
- default value: 60Hz
- port type: EnumPort
- value type: str (can be None)
-
min_corr
Channel correlation threshold used in the Bad Channel Classification metric. This takes a list of two values. The first is the lower minimum threshold, below which channels are marked as "bad" (red in the Bad Channel topoplot), while the second is the upper minimum threshold, below which channels are marked as "acceptable" (yellow in the Bad Channel topoplot). See the Correlation Metric node for details on this metric. Note: This node presently also takes a single float instead of a list of two floats, for backward compatibility; this will be changed in a future version to only accept a list.- verbose name: Channel Correlation Threshold
- default value: [0.7, 0.8]
- port type: Port
- value type: object (can be None)
-
hf_thresh
High frequency noise threshold used in the Bad Channel Classification metric. This takes a list of two values. The first is the lower bound minimum threshold, below which channels are marked as "good" (green in the Bad Channel topoplot), above which channels are marked as "acceptable" (yellow in the Bad Channel topoplot). The second in the upper bound minimum threshold, above which channels are marked as "bad" (red in the Bad Channel topoplot). See the High Frequency Noise node for details on this metric.- verbose name: High Frequency Noise Threshold
- default value: [3, 4]
- port type: ListPort
- value type: list (can be None)
-
exclude_line_noise
Do not take line noise into account in the High Frequency Noise metric.- verbose name: Exclude Line Noise
- default value: True
- port type: BoolPort
- value type: bool (can be None)
-
impedance_thresh
Impedance threshold used in the Bad Channel Classification metric. This takes a list of two values. The first is the lower bound minimum threshold, below which channels are marked as "good" (green in the Bad Channel topoplot), and above which channels are marked as "acceptable" (yellow in the Bad Channel topoplot). The second is the upper bound minimum threshold, above which channels are marked as "bad" (red in the Bad Channel topoplot). The unit is expected to be in kOhms, and can be taken from the Compute Impedance node, or provided in an LSL stream by the device.- verbose name: Impedance Threshold
- default value: [1000, 2500]
- port type: ListPort
- value type: list (can be None)
-
title_prefix
Prefix to prepend to all plot titles.- verbose name: Plot Title Prefix
- default value:
- port type: StringPort
- value type: str (can be None)
-
initial_dims_hf
Initial position of the plot window on the monitor, in pixels, as [x, y, width, height]. If x, y are set to 0 the plot window will appear in the top left corner of the screen.- verbose name: High Freq Noise Plot
- default value: [0, 500, 500, 400]
- port type: ListPort
- value type: list (can be None)
-
initial_dims_ln
Initial position of the plot window on the monitor, in pixels, as [x, y, width, height]. If x, y are set to 0 the plot window will appear in the top left corner of the screen.- verbose name: Line Noise Plot
- default value: [0, 950, 500, 400]
- port type: ListPort
- value type: list (can be None)
-
initial_dims_cm
Initial position of the plot window on the monitor, in pixels, as [x, y, width, height]. If x, y are set to 0 the plot window will appear in the top left corner of the screen.- verbose name: Correlation Plot
- default value: [0, 0, 500, 400]
- port type: ListPort
- value type: list (can be None)
-
initial_dims_bc
Initial position of the plot window on the monitor, in pixels, as [x, y, width, height]. If x, y are set to 0 the plot window will appear in the top left corner of the screen.- verbose name: Bad Channel Plot
- default value: [600, 500, 500, 400]
- port type: ListPort
- value type: list (can be None)
-
no_plots
Do not show any plots. Use this if you only want to output the computed metrics (i.e., to be streamed over LSL for plotting elsewhere, or saved to disk, etc.), or if you want to plot only some of the metrics (wire them into a TopoPlot node directly).- verbose name: No Plots
- default value: False
- port type: BoolPort
- value type: bool (can be None)
-
always_on_top
Plot windows should be always appear on top of other windows.- verbose name: Always On Top
- 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)
ComputeImpedance
Compute channel impedance for Cognionics (CGX) EEG devices.
The impedance values are output in a separate packet called 'impedance' with a Space axis with the channels. If there are multiple incoming EEG streams with impedance the 'impedance' packet will contain one stream of values for each incoming EEG stream, and given the same name. This node is designed for realtime use, but the output values can then be average over time in an offline pipeline. This node also optionally removes the sine wave injected by the device and used to compute channel impedance, therefore modifying the packet passing through the Data port. It is assumed that AssignChannelLocations is placed before this node to remove any non-EEG channels from being computed. Once the buffer (equal to window_length) is full, impedance is recomputed (for window_length) with each incoming sample. Impedance values are expressed in kOhms. Impedance values of typically indicate that the reference channel is not connected, or an electrode is not in contact with the body at all.
Version 1.1.1
Ports/Properties
-
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)
-
data
Data from a CGX device that includes an impedance signal.- verbose name: Data
- default value: None
- port type: DataPort
- value type: Packet (can be None)
- data direction: INOUT
-
impedance
Output, a packet containing the impedance values.- verbose name: Impedance
- default value: None
- port type: DataPort
- value type: Packet (can be None)
- data direction: OUT
-
window_length
Window length, in samples, over which the impedance value is computed. Minimum should be 500 to ensure proper computation.- verbose name: Window Length
- default value: 500
- port type: IntPort
- value type: int (can be None)
-
perform_offset_check
When true, the offset of the signal power is computed for each channel, and channels with an abnormally high offset (indicating the electrode is not touching the head) will have their impedance value set to 0 (typically indicating no/invalid impedance data). This should usually be set to True, but you can set to False to see the actual impedance values for such channels (bearing in mind that such low values may not be a reliable indicator of channel signal quality.)- verbose name: Perform Offset Check
- default value: True
- port type: BoolPort
- value type: bool (can be None)
-
data_passthrough_threshold
Number of channels that can have an impedance value of 0 (high offset), beyond which the data packet will be set to None (so the EEG data will not be passed through). Set to 0 or None to pass data through without this check.- verbose name: Data Passthrough Threshold
- default value: 7
- port type: IntPort
- value type: int (can be None)
-
remove_carrier_wave
Remove the impedance carrier wave inserted into the signal by the device and used to compute the channel impedance. (Not yet implemented.)- verbose name: Remove Carrier Wave
- default value: True
- port type: BoolPort
- value type: bool (can be None)
-
verbose
Print impedance values to log stream.- verbose name: Verbose
- 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)
CopyData
Copy the given data.
This node is for testing and debugging purposes. The node can skip None values, and optionally skip empty values, which means that these values will not be output, but rather the most recent value that was not skipped. The node can also optionally record a history of the (non-skipped) data values that it received. (This node will copy whatever data type that is wired into from the preceeding node.)
Version 1.1.0
Ports/Properties
-
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)
-
data
Data to process.- verbose name: Data
- default value: None
- port type: DataPort
- value type: object (can be None)
- data direction: INOUT
-
history
List of collected data packets. Only if store_history was enabled.- verbose name: History
- default value: []
- port type: ListPort
- value type: list (can be None)
-
ignore_none
Ignore None values. If a None value comes in, the previous data value will be retained.- verbose name: Ignore None
- default value: False
- port type: BoolPort
- value type: bool (can be None)
-
ignore_empty
Ignore empty values. If an empty packet comes in, the previous data value will be retained.- verbose name: Ignore Empty
- default value: False
- port type: BoolPort
- value type: bool (can be None)
-
store_history
Store history of incoming data.- verbose name: Store History
- 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)
CorrelationMetric
A meta-node that repairs bad channels and evaluates the correlation of each channel to its neighbors.
Version 1.0.0
Ports/Properties
-
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)
-
data
Data to process.- verbose name: Data
- default value: None
- port type: DataPort
- value type: Packet (can be None)
- data direction: INOUT
-
min_corr
Correlation threshold. Higher values (above 0.7) are more aggressive and will cause channels to be repaired even when they have only moderate artifacts. Values below 0.5 would be considered rather lax (i.e., only the worst channel artifacts get repaired). This threshold is based on the correlation between a channel and what one would expect the channel to be based on the other channels.- verbose name: Correlation Threshold
- default value: 0.8
- port type: FloatPort
- value type: float (can be None)
-
window_len
Window length to compute correlations. The length of the time windows, in seconds, for which channel quality is computed, i.e. time granularity of the measure. Ideally this is short enough to reasonably capture periods where artifacts happen, but no shorter (otherwise the statistic becomes too noisy and thus unreliable).- verbose name: Sliding Window Length
- default value: 5
- port type: FloatPort
- value type: float (can be None)
-
subset_size
Size of random channel subsets to use. This is for use in a RANSAC estimator, and can be given as number of channels or, if below 1.0, as a fraction of the total number of channels. Smaller subsets (e.g., 0.1-0.15) together with higher number of Ransac samples (e.g., 50-100) gives a more robust estimate, at increased computational cost, which can be quite substantial.- verbose name: Ransac Subset Size
- default value: 0.15
- port type: FloatPort
- value type: float (can be None)
-
num_samples
Number of random channel subsets to use. This for use in a RANSAC estimator. Higher numbers (e.g., 50-100) together with smaller subset sizes (e.g., 0.1-0.15) give a more robust estimate, at higher computational cost.- verbose name: Ransac Subset Count
- default value: 200
- port type: IntPort
- value type: int (can be None)
-
location_wise_corr
Calculate correlation based on channel locations, instead of calibration statistics (experimental). If the amount of collected calibration data was very small, then using channel locations, if known a priori, can result in better correlation statisics, and thus better identification of artifacts. This is primarily for the case where this method is used without a preceding removal of bad channels, and with little initial calibration data.- verbose name: Prefer Location-Based Statistics
- default value: True
- port type: BoolPort
- value type: bool (can be None)
-
linenoise_aware
Use line-noise aware processing. Whether the operation should be performed in a line-noise aware manner. If enabled, the correlation measure will not be affected by the presence or absence of line noise. May be turned off if line noise has already been removed.- verbose name: Line Noise Aware Processing
- 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)
DataCounter
Counts data passing through the node in a given stream, and prints a log message every n seconds (configurable) with the number of samples received (along the time axis), since last check as well as total so far.
This information is also output in a separate port in the form of a dictionary. Counts signal streams with time axes only. Optionally updates a popup window with this information.
Version 0.2.1
Ports/Properties
-
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)
-
data
Data to process.- verbose name: Data
- default value: None
- port type: DataPort
- value type: Packet (can be None)
- data direction: INOUT
-
stream_names
The stream(s) for which to count the data packets passing through. If empty, counts data for all signal streams. (Event streams are ignored.)- verbose name: Stream Names
- default value: []
- port type: ListPort
- value type: list (can be None)
-
notification_interval
Interval, in seconds, at which a log message is printed and the counter window updated (if popup_window is True).- verbose name: Notification Interval
- default value: 5
- port type: IntPort
- value type: int (can be None)
-
popup_window
Pop up and update a counter in a window. If false, only log messages will be printed.- verbose name: Popup Window
- 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)
EegQualityMetrics
Computes quality metrics for an EEG dataset/file (average for the entire dataset/file).
For offline (non-streaming) data only (expects an incoming packet to contain a full file/dataset to process). If multiple packets (datasets) are received in succession, (i.e., if multiple files are being processed), average metrics for all datasets will be generated if the concatenate files option is selected; the metrics for each individual dataset/file will be exported to CSV if that option is selected. (Non-EEG channels should be removed before running this node (i.e., using Assign Channel Locations and Remove Unlocalized Channels). The output from this node can be wired into the QualityMetricsPlots node for generating plots (providing the Reporting package is installed).
Version 2.4.0
Ports/Properties
-
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)
-
data
Data to process.- verbose name: Data
- default value: None
- port type: DataPort
- value type: Packet (can be None)
- data direction: IN
-
all_quality_metrics_out
A dictionary containing all the quality metrics, to be wired into the QualityMetricsPlots node. This can take the place of all the other outgoing data ports.- verbose name: All Quality Metrics Out
- default value: None
- port type: DataPort
- value type: dict (can be None)
- data direction: OUT
-
diag_flat_out
Flatline channels (session average)- verbose name: Diag Flat Out
- default value: None
- port type: DataPort
- value type: Packet (can be None)
- data direction: OUT
-
diag_bad_out
Bad Channel metric (session average)- verbose name: Diag Bad Out
- default value: None
- port type: DataPort
- value type: Packet (can be None)
- data direction: OUT
-
diag_drop_out
Channel Dropout metric (session average)- verbose name: Diag Drop Out
- default value: None
- port type: DataPort
- value type: Packet (can be None)
- data direction: OUT
-
diag_cor_out
Channel Correlation metric (session average)- verbose name: Diag Cor Out
- default value: None
- port type: DataPort
- value type: Packet (can be None)
- data direction: OUT
-
diag_noise_out
Noise Level metric (session average)- verbose name: Diag Noise Out
- default value: None
- port type: DataPort
- value type: Packet (can be None)
- data direction: OUT
-
art_rem_out
Artifact Ratio metric (session average)- verbose name: Art Rem Out
- default value: None
- port type: DataPort
- value type: Packet (can be None)
- data direction: OUT
-
ln_data_out
Line Noise metric (session average)- verbose name: Ln Data Out
- default value: None
- port type: DataPort
- value type: Packet (can be None)
- data direction: OUT
-
diag_drop_time_out
Channel Dropout metric (by time)- verbose name: Diag Drop Time Out
- default value: None
- port type: DataPort
- value type: Packet (can be None)
- data direction: OUT
-
ln_data_time_out
Line Noise metric (by time)- verbose name: Ln Data Time Out
- default value: None
- port type: DataPort
- value type: Packet (can be None)
- data direction: OUT
-
data_badtime_out
Data after bad time windows removed (by time)- verbose name: Data Badtime Out
- default value: None
- port type: DataPort
- value type: Packet (can be None)
- data direction: OUT
-
bad_channels
A list of the channel removed (names).- verbose name: Bad Channels
- default value: None
- port type: DataPort
- value type: list (can be None)
- data direction: OUT
-
channel_range
Channel range to retain. Use a Python slice (0:10) or range (0..10) syntax with the indexes of the channels as they appear in the data.- verbose name: Channel Range
- default value: :
- port type: Port
- value type: object (can be None)
-
highpass_frequencies
Low noise frequencies to be filtered out with a highpass filter. You can either give the cutoff frequency as a single value, or two frequencies (separated by a comma), to specify the rolloff curve.- verbose name: Highpass Frequencies
- default value: [0.5, 1.0]
- port type: ListPort
- value type: list (can be None)
-
highpass_stop_atten
Minimum attenuation in stopband for the highpass filter. This is the minimum acceptable attenuation, in dB, in the stopband, which is ideally infinitely suppressed, but in practice 30-80 dB are enough, depending on the amplitudes of the signals to attenuate.- verbose name: Highpass Min Stopband Attenuation
- default value: 50.0
- port type: FloatPort
- value type: float (can be None)
-
line_noise_frequency
Frequency in Hz that line noise is expected due to AC power (e.g . USA is 60 Hz, Europe is 50 Hz). Use 'auto' to detect the mains frequency automatically.- verbose name: Line Noise Frequency (Hz)
- default value: auto
- port type: EnumPort
- value type: str (can be None)
-
use_notch_filter
Use a notch filter to remove line noise. If true, this will be applied at the beginning of the preprocessing chain before bad channel and artifact removal.- verbose name: Use Notch Filter
- default value: False
- port type: BoolPort
- value type: bool (can be None)
-
notch_frequency
Target frequency in Hz to remove using a notch filter at the beginning of the preprocessing chain.- verbose name: Notch Frequency
- default value: 60.0
- port type: FloatPort
- value type: float (can be None)
-
convolution_method
FIRFilter coefficients can be convolved with the input signal using multiple methods. The standard method performs time-domain convolution. For long signals (>214 samples) using filters with a modest number of coefficients (>24), it can be faster to do the convolution in the frequency domain using the overlap-add method.- verbose name: Method Of Convolution
- default value: standard
- port type: EnumPort
- value type: str (can be None)
-
flatline_max_fraction
Maximum fraction of time, relative to the session length, a channel must be flatlined to be flagged as "flatlined".- verbose name: Flatline Max Fraction
- default value: 0.2
- port type: FloatPort
- value type: float (can be None)
-
bad_channel_corr_threshold
Correlation threshold. Higher values (above 0.7) are more stringent and will remove more channels (i.e., moderately bad channels get removed). Values below 0.6 would be considered very lax (i.e., only the worst channels get removed). This threshold is based on the correlation between a channel and what one would expect the channel to be given the other channels. Note that this parameter is only used when channel locations are available.- verbose name: Correlation Threshold
- default value: 0.8
- port type: FloatPort
- value type: float (can be None)
-
bad_channel_noise_threshold
High-frequency noise threshold. Lower values (below 3.5) are more stringent and will remove more channels (i.e., moderately bad channels will get removed). Values above 5 would be considered very lax (i.e., only the worst channels get removed). This threshold is based on the amount of high frequency noise compared to other channels, and is measured in standard deviations.- verbose name: Bad Channel Noise Threshold
- default value: 4
- port type: FloatPort
- value type: float (can be None)
-
bad_channel_subset_size
Size of random channel subsets to use. This is for use in a RANSAC estimator, and is given as a fraction of the total number of channels. Smaller subsets together with higher number of Ransac samples gives a more robust estimate, at increased computational cost during calibration.- verbose name: Bad Channel Subset Size
- default value: 0.15
- port type: FloatPort
- value type: float (can be None)
-
bad_channel_num_samples
Number of random channel subsets to use. This for use in a RANSAC estimator. Higher numbers together with smaller subset sizes give a more robust estimate, at higher computational cost during calibration.- verbose name: Bad Channel Num Samples
- default value: 200
- port type: IntPort
- value type: int (can be None)
-
bad_channel_use_clean_window
Use clean time windows for calibration for the bad channel metric computation. Setting this to False will flag channels as bad if they are across the entire file including time windows when the data is considered bad. Set to True (default) is a more stringent test that only flags channels as bad if they are deemed so (uncorrelated with neighboring channels, HF noise) during time windows when the data is considered "good" overall (other channels are ok).- verbose name: Bad Channel Use Clean Window
- default value: True
- port type: BoolPort
- value type: bool (can be None)
-
burst_removal_cutoff
Threshold for burst-type artifact removal, in standard deviations. Data portions whose amplitude is larger than this threshold (relative to the calibration data) are considered bad data and will be removed. The most aggressive value that can be used without losing too much EEG is 3. A quite conservative value would be 10.0.- verbose name: Burst Removal Cutoff
- default value: 10.0
- port type: FloatPort
- value type: float (can be None)
-
use_clean_window
Use clean time windows to calibrate artifact removal thresholds. (For the Bad Channel setting, see bad_channel_use_clean_window.)- verbose name: Use Clean Window
- default value: True
- port type: BoolPort
- value type: bool (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 of0
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. For offline (non-streaming) data use the "calibration range" (init_on) parameter instead.- verbose name: Calib Seconds
- default value: 0
- port type: IntPort
- value type: int (can be None)
-
clean_signal_range
Minimum and maximum of clean signal range, in multiples of standard deviation. The minimum and maximum standard deviations within which the power of a channel must lie (relative to a robust estimate of the clean EEG power distribution in the channel) for it to be considered not bad.- verbose name: Clean Signal Range
- default value: [-4, 6]
- port type: ListPort
- value type: list (can be None)
-
max_bad_channels
Maximum fraction of bad channels allowed . The maximum fraction of bad channels that a retained window may still contain (more than this and it is removed). Reasonable range is 0.05 (very clean output) to 0.3 (very lax cleaning of only coarse artifacts).- verbose name: Max Bad Channels
- default value: 0.2
- port type: FloatPort
- value type: float (can be None)
-
montage
Optionally a montage file (.l ocs format) to use. This may be a montage file that ships with Neuropype (available in resources/montages), in which case only the filename is needed, or the full path to a montage located elsewhere. This is only needed if electrodes locations are not accurately determined using one of the standard montages.- verbose name: Montage File
- default value:
- port type: StringPort
- value type: str (can be None)
-
concatenate_files
Concatenates the result of each incoming file, to generate multi-file averages. Uncheck if generating a single report for each file.- verbose name: Concatenate Files
- default value: False
- port type: BoolPort
- value type: bool (can be None)
-
use_caching
Enable caching. This will significantly speed up re-use of the same data.- verbose name: Use Caching
- default value: True
- port type: BoolPort
- value type: bool (can be None)
-
compute_time
Compute metrics over time. Set to false if concatenating multiple files.- verbose name: Compute Time
- default value: True
- port type: BoolPort
- value type: bool (can be None)
-
win_len
Sliding window length for line noise metric over time. A longer window will yield a better estimate, but the spectrum will change more slowly and will also react more slowly to changes. Typical settings for EEG phenomena are 0.5 to 5 seconds, but for very slowly (or rapidly) changing brain dynamics, longer (or shorter) windows may be used.- verbose name: Sliding Window Length
- default value: 2
- port type: FloatPort
- value type: float (can be None)
-
offset_len
Amount of shift or offset between the beginning of the time window segments. If this value is not set, it is assumed that the overlap length is half of the window length, corresponding to 50% overlap.- verbose name: Offset Length
- default value: None
- port type: FloatPort
- value type: float (can be None)
-
unit
Unit in which the window and offset length is given.- verbose name: Unit Of Measurement For Window Length
- default value: seconds
- port type: EnumPort
- value type: str (can be None)
-
use_legacy
Use legacy method for computing artifact ratio.- verbose name: Use Legacy
- 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)
EstimateLag
Estimate the lag (delay) of the data in seconds, as computed by the difference between the timestamp of the incoming data and the LSL or wallclock time it was received.
This node is for use with online data only. The lag values are also output through a separate port with a Time x Feature axis. This node operates on signal streams only.
Version 0.8.0
Ports/Properties
-
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)
-
data
Data to process.- verbose name: Data
- default value: None
- port type: DataPort
- value type: Packet (can be None)
- data direction: INOUT
-
lag
Lag values.- verbose name: Lag
- default value: None
- port type: DataPort
- value type: Packet (can be None)
- data direction: INOUT
-
timebase
Time base to use. The neuropype/lsl setting uses the standard NP/LSL clock. If you have a data source that uses the wall clock as time stamps, then use wallclock.- verbose name: Time Base
- default value: neuropype/lsl
- port type: EnumPort
- value type: str (can be None)
-
verbose
Display lag in console with every tick.- verbose name: Verbose
- default value: False
- port type: BoolPort
- value type: bool (can be None)
-
threshold
Lag threshold, in seconds. If the lag exceeds this threshold, an error message is printed to the log (and console). Set to 0 to ignore any threshold; this will log the log in the console if verbose is True but otherwise set no .- verbose name: Threshold
- default value: 0.5
- port type: FloatPort
- value type: float (can be None)
-
popup_window
Pop up a notification window when the threshold if exceeded. When set to false, an error is printed to the log stream only.- verbose name: Popup Window
- default value: False
- port type: BoolPort
- value type: bool (can be None)
-
print_label
Optional label. This allows you to place the node at multiple points in the pipeline while being able to tell the result apart in the console printout (if verbose set to True).- verbose name: Print Label
- default value: default
- port type: StringPort
- value type: str (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)
EstimateUpdateRate
Estimate the update rate of NeuroPype.
Technically, the node simply estimates how many times per second NeuroPype updates this node. Typically this is the rate at which the entire pipeline updates, unless some special nodes were added to skip updating this node.
Version 1.0.0
Ports/Properties
-
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)
-
data
Data to process.- verbose name: Data
- default value: None
- port type: DataPort
- value type: Packet (can be None)
- data direction: INOUT
-
time_window
Estimation time window. In seconds.- verbose name: Time Window
- default value: 5
- port type: IntPort
- value type: int (can be None)
-
ignore_empty_packets
Do not count empty packets. If this is enabled, the node essentially tracks the rate at which new non-empty data chunks are being received.- verbose name: Ignore Empty Packets
- default value: False
- port type: BoolPort
- value type: bool (can be None)
-
measure_type
Whether to estimate the tick rate (in Hz) or the tick interval (in ms).- verbose name: Measure Type
- default value: rate
- port type: EnumPort
- value type: str (can be None)
-
estimator
Estimator to use for the measure.- verbose name: Estimator
- default value: mean
- port type: EnumPort
- value type: str (can be None)
-
display
Display result in console.- verbose name: Display
- default value: True
- port type: BoolPort
- value type: bool (can be None)
-
display_interval
Display no more than every this many seconds.- verbose name: Display Interval
- default value: 5
- port type: FloatPort
- value type: float (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)
GateCheck
Check that the data packet meets certain criteria before allowing it to pass through.
For example, that it is of a minimum length along a certain axis (time, space). If the data passes the gate check, the packet is passed through unchanged, otherwise, None is passed (or optionally an exception is raised to terminate the pipeline).
Version 1.0.1
Ports/Properties
-
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)
-
data
Data- verbose name: Data
- default value: None
- port type: DataPort
- value type: Packet (can be None)
- data direction: INOUT
-
signal_stream
Name of the signal stream to check data. If empty, the first signal stream found will be checked.- verbose name: Signal Stream
- default value: None
- port type: StringPort
- value type: str (can be None)
-
marker_stream
Name of the marker stream to check for markers (if required_markers is specified. If empty, the first marker stream found will be checked.- verbose name: Marker Stream
- default value: None
- port type: StringPort
- value type: str (can be None)
-
axis
The axis along which to check that the minimum threshold of elements exist- verbose name: Axis
- default value: time
- port type: ComboPort
- value type: str (can be None)
-
required_streams
List of stream names which must be present in the data packet.- verbose name: Required Streams
- default value: []
- port type: ListPort
- value type: list (can be None)
-
min_length
Minimum number of elements which must appear in the selected axis (i.e ., samples if time, channels if space. If set to None or 0, this check is skipped.- verbose name: Min Length
- default value: None
- port type: IntPort
- value type: int (can be None)
-
unit
Unit in which the minimum length is specified. For most axes, 'elements' is the right choice and would count the number of elements, or items, along that axis (i.e., the number of channels in the space axis, or frequencies in the frequency axis, samples in the time axis). For the time axis, 'seconds' is provided to allow you to specify the minimum length in seconds rather than in samples.- verbose name: Min Length Unit
- default value: seconds
- port type: EnumPort
- value type: str (can be None)
-
check_no_nans
If True, will check that the data packet contains no NaNs.- verbose name: Check No Nans
- default value: False
- port type: BoolPort
- value type: bool (can be None)
-
required_markers
List of markers which must appear at least once in the marker stream. Leave empty to skip this check.- verbose name: Required Markers
- default value: []
- port type: ListPort
- value type: list (can be None)
-
raise_on_fail
If any checks fail, raise an exception and terminate the pipeline rather than pass None and continue.- verbose name: Raise On Fail
- default value: False
- port type: BoolPort
- value type: bool (can be None)
-
verbose
Output pass/fail log message.- verbose name: Verbose
- 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)
HighFrequencyNoise
A meta-node that obtains a ratio of high frequencies (e.g
. >50 Hz) to all frequencies. Used to diagnose potentially bad channels. (Lower values are better.). You should use a highpass filter at 0.5 or 1 Hz before this node (i.e., FIRFilter).
Version 1.1.0
Ports/Properties
-
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)
-
data
Data to process.- verbose name: Data
- default value: None
- port type: DataPort
- value type: Packet (can be None)
- data direction: INOUT
-
window_length
Sliding window length. A longer window will yield a better estimate, but the spectrum will change more slowly and will also react more slowly to changes. Typical settings for EEG phenomena are 0.5 to 5 seconds, but for very slowly (or rapidly) changing brain dynamics, longer (or shorter) windows may be used.- verbose name: Sliding Window Length
- default value: 10
- port type: FloatPort
- value type: float (can be None)
-
unit
Unit in which the window length is given.- verbose name: Unit Of Measurement For Window Length
- default value: seconds
- port type: EnumPort
- value type: str (can be None)
-
frequencies
Transition frequencies for the highpass filter. Provide two frequencies to determine the rolloff curve.- verbose name: Frequencies
- default value: [45, 50]
- port type: ListPort
- value type: list (can be None)
-
exclude_line_noise
Do not take line noise into account. If true, the line noise frequencies are filtered out before calculating the high frequency noise metric.- verbose name: Exclude Line Noise
- 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)
IsDebugMode
Determine if the pipeline is running in debug mode.
This will return True if an external debugger is attached to NeuroPype (e.g. PyCharm) and False otherwise.
Version 1.0.0
Ports/Properties
-
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)
-
data
Running in debug mode.- verbose name: Data
- default value: None
- port type: DataPort
- value type: bool (can be None)
- data direction: OUT
-
override
Override the actual debug-mode status. This can be used to simulate the behavior of the pipeline for output values of this node.- verbose name: Override
- default value: keep
- port type: EnumPort
- value type: str (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)
LineNoise
A meta-node that performs a standard line noise chain to compute potential line noise contamination (for diagnostics).
The output values are a ratio of the amplitude of a band of frequencies close to the mains frequency to a band of frequencies on either side of that band. Lower values are better.
Version 1.1.1
Ports/Properties
-
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)
-
data
Data to process.- verbose name: Data
- default value: None
- port type: DataPort
- value type: Packet (can be None)
- data direction: INOUT
-
line_noise_frequency
Frequency in Hz that line noise is expected due to AC power (e.g . USA is 60 Hz, Europe is 50 Hz)- verbose name: Line Noise Frequency (Hz)
- default value: 60Hz
- port type: EnumPort
- value type: str (can be None)
-
window_length
Sliding window length. A longer window will yield a better estimate, but the spectrum will change more slowly and will also react more slowly to changes. Typical settings for EEG phenomena are 0.5 to 5 seconds, but for very slowly (or rapidly) changing brain dynamics, longer (or shorter) windows may be used.- verbose name: Sliding Window Length
- default value: 2
- port type: FloatPort
- value type: float (can be None)
-
unit
Unit in which the window length is given.- verbose name: Unit Of Measurement For Window Length
- default value: seconds
- port type: EnumPort
- value type: str (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)
NirsIntensityQualityMetrics
Compute various quality metrics from NIRS "raw" Intensity signal data.
The quality metric values themselves are stored in a Feature axis along with a corresponding _mask feature that contains a 1 or a 0 depnding on where the channel passed that criteria (is "good") or not. For example, a Feature axis might contain 'snr', 'snr_mask' where the former has the snr values for each channel, and the latter a 1 or 0 for each channel depending on whether it was below the threshold. The time axis is dropped on the output. This node expects a chunk with space and time axes, the Metadata.quantity property set to 'intensity' and the Origin.modality set to 'NIRS'.
Version 0.6.0
Ports/Properties
-
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)
-
data
Data to process.- verbose name: Data
- default value: None
- port type: DataPort
- value type: Packet (can be None)
- data direction: INOUT
-
zscore_threshold
Max acceptable z-score of the raw intensity. Channels having an absolute z-score below this are marked "good".- verbose name: Zscore Threshold
- default value: 4
- port type: FloatPort
- value type: float (can be None)
-
snr_threshold
The robust intensity raw signal-to-noise (SNR) threshold, calculated in dB, above which a channel is marked "good".- verbose name: Snr Threshold
- default value: 30
- port type: FloatPort
- value type: float (can be None)
-
cv_threshold
The coefficient of variation (CV) threshold, expressed as a percentage, below which a channel is marked as "good".- verbose name: Cv Threshold
- default value: 7.5
- port type: FloatPort
- value type: float (can be None)
-
abs_threshold
Max acceptable range for the raw intensity, specified as a 2-value list of the lower and upper bounds. Channels having a trimmed mean intensity (0.1) outside of this range are marked as bad.- verbose name: Abs Threshold
- default value: []
- port type: ListPort
- value type: list (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)
NirsOpticalDensityQualityMetrics
Computes various quality metrics from NIRS data that has been converted to optical density.
This should be preceded with the node IntensityToOpticalDensity. This expects a stream where the Metadata.quantity is set to Quantities.optical_density and Origin.modality set to Modalities.NIRS. This should be set by your importer but otherwise you can use SetStreamProperties to set it.
Version 0.3.0
Ports/Properties
-
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)
-
data
Data to process.- verbose name: Data
- default value: None
- port type: DataPort
- value type: Packet (can be None)
- data direction: INOUT
-
diagnostic_flatline
All-flat channels.- verbose name: Diagnostic Flatline
- default value: None
- port type: DataPort
- value type: Packet (can be None)
- data direction: OUT
-
diagnostic_saturation
Saturating channels.- verbose name: Diagnostic Saturation
- default value: None
- port type: DataPort
- value type: Packet (can be None)
- data direction: OUT
-
diagnostic_motion
Motion-artifact presence in channels.- verbose name: Diagnostic Motion
- default value: None
- port type: DataPort
- value type: Packet (can be None)
- data direction: OUT
-
diagnostic_explainedvar
Variance explained due to various processes, by channel.- verbose name: Diagnostic Explainedvar
- default value: None
- port type: DataPort
- value type: Packet (can be None)
- data direction: OUT
-
diagnostic_anticorr
HbO/HbR anti-correlation in channels (higher is better).- verbose name: Diagnostic Anticorr
- default value: None
- port type: DataPort
- value type: Packet (can be None)
- data direction: OUT
-
diagnostic_motionprofile
Motion profile over time (not per-channel).- verbose name: Diagnostic Motionprofile
- default value: None
- port type: DataPort
- value type: Packet (can be None)
- data direction: OUT
-
correlate_streams
Additional streams that shall be used to calculate variance explained by the measures therein.- verbose name: Correlate Streams
- default value: []
- port type: ListPort
- value type: list (can be None)
-
exclude_shortsep
Exclude "short" channels with a source-detector distance below this threshold, which is in millimeters. A typical value is 15. If set to 0, no channels are excluded from the analysis.- verbose name: Exclude Short-Separation Channels
- default value: 0
- port type: IntPort
- value type: int (can be None)
-
average_wavelengths
Average measures over wavelengths.- verbose name: Average Wavelengths
- default value: True
- port type: BoolPort
- value type: bool (can be None)
-
mayer_band
Frequency range for Mayer waves.- verbose name: Mayer Band
- default value: [0.06, 0.14]
- port type: ListPort
- value type: list (can be None)
-
respiration_band
Frequency range for respiration effects.- verbose name: Respiration Band
- default value: [0.2, 0.33]
- port type: ListPort
- value type: list (can be None)
-
cardiac_band
Frequency range for cardiac cycle.- verbose name: Cardiac Band
- default value: [1, 1.6]
- port type: ListPort
- value type: list (can be None)
-
skip_explained_var
Skip the variance explained quality metrics. These can require significant compute resources depending on the size of your file.- verbose name: Skip Explained Var
- default value: False
- port type: BoolPort
- value type: bool (can be None)
-
hp_cutoff
Frequency cutoff (lower bound) for highpass filter. Leave empty to skip highpass filter.- verbose name: Hp Cutoff
- default value: [0.01, 0.02]
- port type: ListPort
- value type: list (can be None)
-
lp_cutoff
Frequency cutoff (upper bound) for lowpass filter. Leave empty to skip lowpass filter.- verbose name: Lp Cutoff
- default value: []
- port type: ListPort
- value type: list (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)
NoDataAlert
Alert if no data is present.
Checks that data is coming through the pipeline, and gives a user alert using a popup window or log message in cases where either no data (Packets are either None or contain no data), has come through for a configurable amount of time. Verbose mode also writes a log message once per second indicating whether data is being received or not. A 'no-data' or 'data-ok' message is sent once per second to the notifs output port in the form of a marker stream (which could be, for example, connected to an LSLOutput node to notify a remote application).
Version 1.1.1
Ports/Properties
-
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)
-
data
Data to process.- verbose name: Data
- default value: None
- port type: DataPort
- value type: Packet (can be None)
- data direction: INOUT
-
notifs
Notifications/alerts as markers in a marker stream- verbose name: Notifs
- default value: None
- port type: DataPort
- value type: Packet (can be None)
- data direction: OUT
-
allowed_gap
Amount of time, in seconds, for which there can be no data before an alert is sounded (at any time when the pipeline is running). Set both this param and markers_allowed_gap to 0 to skip checking for data.- verbose name: Allowed Gap
- default value: 3
- port type: IntPort
- value type: int (can be None)
-
allowed_startup_delay
Time, in seconds, by which to delay starting to check for no data when the pipeline is first launched (ie., to give the device time to connect, or start an LSL stream, etc.)- verbose name: Allowed Startup Delay
- default value: 15
- port type: IntPort
- value type: int (can be None)
-
markers_allowed_gap
Specify a separate allowed interval for any marker streams (since they may emit data at greater intervals). Setting this to 0 will not check any marker streams for data.- verbose name: Markers Allowed Gap
- default value: 0
- port type: IntPort
- value type: int (can be None)
-
exclude_streams
A list of streams to exclude from the data check. Leaving this empty (None) will sound the alert if any stream in the data packet does not have data for the specified period of time.- verbose name: Exclude Streams
- default value: []
- port type: ListPort
- value type: list (can be None)
-
popup_window
Pop up a notification window when no data is found after the number of seconds in the allowed_gap parameter. When set to false a message is printed to the log stream only.- verbose name: Popup Window
- default value: False
- port type: BoolPort
- value type: bool (can be None)
-
verbose
Print a log message once a second indicating whether data is being received or not (after the startup delay). If false, log messages are only printed if data is not being received.- verbose name: Verbose
- default value: False
- port type: BoolPort
- value type: bool (can be None)
-
notif_frequency
Frequency, in seconds, at which to send notifications and print log messages.- verbose name: Notif Frequency
- 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)
PrintToConsole
Print the given data to the console.
This is mainly useful for debugging. Note that the data can be quite large and therefore create a lot of logspam -- make use of the options to print only those aspects of the data that you are interested in. You can optionally save the output to a file as well, for easy post-hoc reference.
Version 1.1.0
Ports/Properties
-
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)
-
data
Data to process.- verbose name: Data
- default value: None
- port type: DataPort
- value type: object (can be None)
- data direction: INOUT
-
print_streams
List of stream names for which to generate output.- verbose name: Streams To Print
- default value: []
- port type: ListPort
- value type: list (can be None)
-
only_nonempty
Only print non-empty packets.- verbose name: Only Nonempty
- default value: True
- port type: BoolPort
- value type: bool (can be None)
-
print_compact
Print packets in a compact format. If enabled, this overrides the other options for selective printing, so uncheck to print specific items (such as properties, markers, etc.)- verbose name: Print Compact
- default value: True
- port type: BoolPort
- value type: bool (can be None)
-
print_data
Print the data contents and the shape.- verbose name: Print Data
- default value: False
- port type: BoolPort
- value type: bool (can be None)
-
print_markers
Print list of markers contained in the packet, if any.- verbose name: Print Markers
- default value: False
- port type: BoolPort
- value type: bool (can be None)
-
print_props
Print stream properties (chunk props).- verbose name: Print Props
- default value: False
- port type: BoolPort
- value type: bool (can be None)
-
print_channel
Print channel names, if any.- verbose name: Print Channel
- default value: False
- port type: BoolPort
- value type: bool (can be None)
-
print_time
Print time range covered by the data, if any.- verbose name: Print Time
- default value: False
- port type: BoolPort
- value type: bool (can be None)
-
print_trial
Print trial/instance information in the data, if any.- verbose name: Print Trial
- default value: False
- port type: BoolPort
- value type: bool (can be None)
-
print_axes
Print axis information.- verbose name: Print Axes
- default value: False
- port type: BoolPort
- value type: bool (can be None)
-
save_to_file
Full path of a file to save output to (in addition to printing to the console); leave blank to not save output to disk.- verbose name: Save To File
- default value:
- port type: StringPort
- value type: str (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)
RandomMatrix
Generate an artificial packet with a random matrix.
This node works offline or online. The node outputs a Packet whose properties are virtually all fully customizable in the parameters of the node. Among others, it is possible to set the name of the chunk, its dictionary of meta-data properties, as well as the axis types and labels used for the data bblock, and the range and distribution of the numeric content. The behavior when the node is successively updated (e.g., in online mode) is configurable. This node can be used to generate debug or test data.
Version 1.0.1
Ports/Properties
-
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)
-
data
Output data.- verbose name: Data
- default value: None
- port type: DataPort
- value type: Packet (can be None)
- data direction: OUT
-
chunk_name
"Name of generated stream (chunk).- verbose name: Chunk Name
- default value: random_matrix
- port type: StringPort
- value type: str (can be None)
-
dims
Dimensions of matrix.- verbose name: Dims
- default value: [5, 5]
- port type: ListPort
- value type: list (can be None)
-
axis_types
Axis types.- verbose name: Axis Types
- default value: ['space', 'time']
- port type: ListPort
- value type: list (can be None)
-
axis_labels
Axis labels. This is a dictionary, where the keys are numeric values matching the position of the axis in the axis types field (starting with 0). Each value is a list of the labels for that axis (and should match its length specified in the matrix dimensions. For a time axis, these will be the times.- verbose name: Axis Labels
- default value: {0: ['A', 'B', 'C', 'D', 'E'], 1: ['U', 'V', 'W', 'X', 'Y']}
- port type: DictPort
- value type: dict (can be None)
-
distribution
Distribution that the values should follow.- verbose name: Distribution
- default value: uniform
- port type: EnumPort
- value type: str (can be None)
-
value_range
Value range. Low/high for uniform, mean/std for normal distribution.- verbose name: Value Range
- default value: [0, 1]
- port type: ListPort
- value type: list (can be None)
-
flavor
Flavor of the node's output. In offline-once mode, the node outputs a single packet, and after that outputs no more data. In that sense, it acts like one of the import nodes, which also output only once (unless they are asked to import a new filename). In offline-same mode, the node will repeatedly emit the exact same packet (with the same values). In online-same it behaves the same as offline-same. In online-rerandomized mode, the node outputs a fresh packet with new numbers on every update.- verbose name: Flavor
- default value: offline-once
- port type: EnumPort
- value type: str (can be None)
-
chunk_properties
Additional stream (chunk) properties.- verbose name: Chunk Properties
- default value: {}
- port type: DictPort
- value type: dict (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)
SanityCheck
Check data coming from a file for certain criteria.
Passes the data through if all criteria pass, and passes None otherwise. Designed for offline data, such as to terminate a pipeline if data would cause an error. Outputs the failed checks to a text file with the same path as the original file, with
Version 1.0.1
Ports/Properties
-
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)
-
data
Data- verbose name: Data
- default value: None
- port type: DataPort
- value type: Packet (can be None)
- data direction: INOUT
-
eeg_stream
Name of EEG stream to check. Leave empty to check the first signal stream found.- verbose name: Eeg Stream
- default value: None
- port type: StringPort
- value type: str (can be None)
-
required_streams
List of stream names which must be present in the data packet.- verbose name: Required Streams
- default value: []
- port type: ListPort
- value type: list (can be None)
-
has_data
The packet must contain data (data tensor not empty).- verbose name: Has Data
- default value: True
- port type: BoolPort
- value type: bool (can be None)
-
min_length
Minimum data length, in seconds, based on the difference between the first and last time stamps.- verbose name: Min Length
- default value: None
- port type: IntPort
- value type: int (can be None)
-
max_length
Maximum data length, in seconds, based on the difference between the first and last time stamps. (Catch very large files that would cause a memory error.)- verbose name: Max Length
- default value: None
- port type: IntPort
- value type: int (can be None)
-
required_axes
List of axes which must be present in the data, at minimum.- verbose name: Required Axes
- default value: ['time', 'space']
- port type: ListPort
- value type: list (can be None)
-
excluded_axes
List of axes which must NOT be present in the data.- verbose name: Excluded Axes
- default value: []
- port type: ListPort
- value type: list (can be None)
-
marker_stream
Packet must contain a marker stream.- verbose name: Marker Stream
- default value: False
- port type: BoolPort
- value type: bool (can be None)
-
required_markers
List of markers which must appear at least once in a marker stream.- verbose name: Required Markers
- default value: []
- port type: ListPort
- value type: list (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)
SignalToNoise
Signal to noise, computed as the log ratio of signal (filtered) and noise (unfiltered - filtered) data segments, with a baseline removed.
Expects the data to contain event markers which will be used to create the segments on which the SnR is computed, for example, markers indicating the start of a trial. The markers in question should already be assigned as targets (using AssignTargets) or be the only markers remaining in the data (using SelectInstances). For each filtered segment, baseline of a specified length immediately preceeding the event marker is subtracted prior to filtering. The signal to noise ratio is stored in a Feature axis with the label "SNR". The measure is averaged over time and the Time axis is removed. The original signal data is not passed through. For offline, non-segmented data only. If this is to be computed on a particular stream only, use ExtractStreams before this node to separate that stream along with the event marker stream.
Version 1.0.1
Ports/Properties
-
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)
-
data
Data to process.- verbose name: Data
- default value: None
- port type: DataPort
- value type: Packet (can be None)
- data direction: INOUT
-
frequency_range
Frequency range representing the range within which the target signal is typcially found, depending on the modality. For example, for HbO/HbR concentration (NIRS), this would typically be [0.01, 0.1].- verbose name: Frequency Range
- default value: []
- port type: ListPort
- value type: list (can be None)
-
signal_segment_length
The length, in seconds, of the "signal" segments, starting from the target event markers (which should already be assigned as targets prior to this node or be the only markers remaining in the packet). These are the segments on which the signal to noise ratio will be computed. This same value is also used extract the baseline segment of equal length immediately preceeding the signal segment (therefore, immediately preceeding the target event markers) that will be subtracted from the signal segment.- verbose name: Signal Segment Length
- default value: 0
- port type: FloatPort
- value type: float (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)
WithProfiler
Run the given computational graph with profiling enabled.
This will record information some performance metric of the graph that is wired into this node, such as CPU timing or memory usage. Note that not all profilers support all metrics. The profile will be written to a location specified by the "destination" property, but note that some profilers instead host a TCP server that one may connect to with an external tool in order to record profiling information inside the tool. Note that profiling incurs significant performance overhead (except for python:time) and should therefore not be enabled permanently in a pipeline. Another best practice is to judiciously limited the amount of computation that is being profiled, either by running on a smaller problem or profiling only a relevant subgraph, since large profile traces can lead to long running times, long results load times, or hit limits such a file sizes or memory usage in the tool used to view the profile results. For documentation on how to use the output generated by the respective profiler, please review the web documentation of the chosen profiler. By default this node will run the entire graph that is wired into it under the given context. However, you can also tag a subgraph that shall run under the given context by placing a dummy Placeholder node in your graph, giving it a unique slotname (one would usually name it "with" as a reminder that it pairs with a downstream "With..." node), and then and selectively wiring that placeholder's update output port to select nodes of your graph. Then only the nodes downstream of that placeholder will run under the given context. You will also need to set the "Graph [tag]" option (graph__signature in code) to name the tag that you used (e.g. "(with)" in this example).
Version 0.8.0
Ports/Properties
-
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)
-
graph
Computation to profile.- verbose name: Graph
- default value: None
- port type: GraphPort
- value type: Graph
-
graph__signature
Optionally the slotname of a Placeholder node that shall mark the starting point of the graph that runs under the with context. As with all "With" context manager nodes in NeuroPype, the graph that runs under the context managed by this node is preceding the context manager node in the graph, rather than following it. This is accomplished by wiring the final node of the graph that shall execute under the governance of the context manager into the "graph" input port of the subsequent "With" node. In graphical UIs, this edge will be drawn in dotted style to indicate that this is not normal forward data flow where first the preceding node executes and then the subsequent node receives its output, but that instead the subsequent node (the context manager) receives a portion of the preceding graph, which it then runs in such a way that the context applies. You can use a "tilde" binding, spelled as (~), which affects the same nodes that a then or else branch in an IfElse node would control, which is normally what one would expect. However, note that this can have sometimes the unexpected consequence that simply wiring a value into your graph may "infect" an upstream portion of the graph with unintentionally running under the context, too. As an alternative, you can instead rely on a named Placeholder node to mark the beginning of the managed graph. The typical way to do this is to list a single placeholder name, e.g., (with), and then to create a Placeholder in your graph whose slotname is set to "with". Then, only the nodes that are downstream of (i.e., formally depending on) that placeholder will run under the context defined by the "With" node. In this case you need to make everything that shall be part of the context dependent on the placeholder, which can be accomplished by wiring the update output port of the Placeholder into the update input port of any nodes that shall run under the context (this dependency propagates down the graph, so you don't need to wire it to every node, just to the first node(s) that you want to be part of the context). Any nodes in this graph that have a backend and/or precision argument set to "keep" will be overridden by the backend and/or precision setting of this node.- verbose name: Graph [Tag]
- default value: (~)
- port type: Port
- value type: object (can be None)
-
result
Result of the computation.- verbose name: Result
- default value: None
- port type: DataPort
- value type: object (can be None)
- data direction: OUT
-
profiler
Profiler to use. Profilers are specific to the compute backend of interest and mainly focus on computations performed on that backend. Thepython
backend covers all CPU-side computation. The jax backend applies to specifically to computations run under the control of the DeepModel, ConvexModel, and Inference nodes, and were that backend was chosen by the user in a node that supports it (e.g., WithBackend, etc). The other backends likewise mainly apply to computations where the user manually selected the backend in a node that supports it. With all options except python:time you will generally need an external tool to view the results. The options are formatted according to the backend of interest, followed by :, followed by the name of the a profiler available for that backend (and optionally profiler-specific options in () brackets as described in the following):- The python:time profiler is a lightweight feature that simply measures the total time it takes to run the graph.
- The python:cProfile profiler generates a trace file of the execution time spent in different subroutines (incl. nodes) executed during the run of the graph; the result can be viewed with programs such as QCacheGrind and various other tools.
- The jax:trace profiler is the default profiler for JAX (jax.profiler.trace), which can generate a trace file of GPU compute and memory usage and running times that can be viewed with the TensorBoard profiler. One may optionally pass a True or False value in to control whether to additionally generate a trace file that can be loaded into the Perfetto visualizer (ui.perfetto.dev). When the "with memory" option is checked, an additional device memory profile will be written to a file in the same directory as the trace file that can be viewed using Google's pprof tool.
- The jax:server profiler instead opens a server socket, listening on the specified port (first argument), for the duration of the run of the wired-in graph that can be connected to while the WithProfiler node is executing. This is done from within an external program such as either the jax.collect_profile module (see online documentation), or TensorBoard's "capture profile" feature. This is mainly a workflow difference; what is being traced is the same as with the trace profiler.
- The torch:profile option is the default profiler for PyTorch, which generates a trace file that can be viewed with TensorBoard; this will mainly capture activity using the PyTorch backend (applicable where the user manually selected the torch backend in nodes that support it).
- The tensorflow:Profile option is the default profiler for TensorFlow, and generates a trace file that can be viewed with TensorBoard.
- verbose name: Profiler
- default value: python:time
- port type: ComboPort
- value type: str (can be None)
-
with_shapes
Hint to include shape information. Note that some profilers will always include shape information and others do not support it.- verbose name: With Shapes
- default value: False
- port type: BoolPort
- value type: bool (can be None)
-
with_memory
Hint to include memory profiling information. Note that some profilers will always include memory profiling, and other profilers do not support it.- verbose name: With Memory
- default value: False
- port type: BoolPort
- value type: bool (can be None)
-
with_stack
Hint to include stack trace information. Note that some profilers will always include stack trace information and others do not support it.- verbose name: With Stack
- default value: False
- port type: BoolPort
- value type: bool (can be None)
-
destination
Profile destination. Note that some profilers will treat this as a directory, while others will create a file of the specified name.- verbose name: Destination
- default value: ~/.neuropype/profile/%Y%m%d_%H%M%S.profile
- port type: StringPort
- value type: str (can be None)
-
is_global
If True, the context implicitly applies to the entire graph (except for those parts that are configuring the context itself). In this case the node must not have anything wired into its graph input and must not have any successors.- verbose name: Is Global
- 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)