
Wave Detector
Category:
AddIn:
Scope:
Code Snippets:
Supports Material List:
Status Screen Widgets:
License:
Signal Processing
Neuro Feature Tracker
Local
Triggered
no
XAML Signal Plot
Standard EventIDE license
In this article:
Introduction
The Wave Detector element is designed to identify oscillatory wave activity in a continuous real-time input signal. It operates by monitoring a specified frequency range (region of interest, ROI) and calculating a wave score that quantifies the strength of rhythmic activity within that band. When this score exceeds a configurable detection threshold, the element flags a successful wave detection, which can trigger other events or be recorded for later analysis.
The detection process uses a sliding analysis window whose length is expressed in multiples of the central frequency’s period. Signal normalization and a span factor can be adjusted to improve detection robustness under varying noise conditions. The Wave Detector also offers rich visualization through a live XAML signal plot, showing both the raw/normalized data and detection events in real time.
Key Features
Real-time wave detection – Monitors incoming signals continuously and detects target waveforms with minimal latency.
Customizable detection parameters – Adjust frequency range of interest (ROI), threshold level, detection window length, and span factor to match specific research needs.
Integrated signal visualization – Displays a live, high-resolution plot of the input signal with wave detection overlays, making it easy to monitor performance during the experiment.
Statistical feedback – Provides session statistics, such as wave detection rates, to evaluate signal quality over time.
Runtime control – Thresholds and other parameters can be fine-tuned during the experiment without stopping the session.
Trigger outputs – Detection events can trigger other experiment elements, mark time points for logging, or drive real-time stimulation protocols.
Properties
Name | Description | Property Class | Type |
Input Signal | |||
Input Channel | Defines the channel in the EventIDE signal pool that will provide data for the element | Design | Int32 |
Signal Source | |||
Sampling Rate | Defines the sampling rate of the signal (samples per second) | Design | Int32 |
Signal Normalization | Defines the normalization procedure that is automatically applied to the signal before the analysis | Design | enSign.. |
Wave Detection | |||
Plotting Window Length | Defines the length of plotting window for the input signal | Design | Double |
Detection Window Length | Defines the length of wave detection window in periods of the central frequency of the target wave | Design | Double |
Span Factor | Defines the Span Factor for the wave detector | Design | Double |
Wave Frequency ROI | Defines the wave frequency ROI in Hz | Design | Int32 |
Frequency ROI | Defines the frequency range of interest for phase locking and PSD stats on the Session Statistics plot | General | clRange |
Wave Detection Threshold | Defines the minimal threshold for the wave detection in the 0 to 1 range | General | Double |
Runtime Status | |||
XAML Signal Plot | Returns a live XAML signal plot with the signal data and results of wave detection | General | UIElem.. |
Is Wave | Returns whether a wave is detected in the current signal | Status | Boolean |
Wave Score | Returns a normalized "wave" score of the current signal | Status | Double |
Triggering Time | Returns a local event time (in ms) of the last successful detection | Status | clTime |
Plotting | |||
Plot Type | Defines the type of the generated signal plot | Design | Int32 |
Time Units | Defines the type of the generated signal plot | Design | Int32 |
Y-axis Scaling | Defines the scaling mode for the Y axis across shown channels | Design | Int32 |
Plot Title | Defines the title of the generated signal plot | General | String |
Plot Theme | Defines a visual theme of the generated signal plot | General | Int32 |
Line Thickness | Defines the thickness of the data line on the generated signal plot | General | Int32 |
Line Color | Defines the color of the data line on the generated signal plot | General | stColor |
Font Size | Defines the font size for plot labels | General | Double |
Show Axis Bands | Defines whether the axis bands are shown on the plot area | General | Boolean |
Rendering Size | Defines the size of the generated plot in pixels (affects quality and performance; also used for exported image resolution) | Design | clSize |
Sync Marker Color | Defines a color of the custom synchronization markers | General | stColor |
Sync Marker Width | Defines the width of the custom synchronization markers on the X axis | General | Double |
Show Threshold Slider | — | General | Boolean |
Threshold Value | — | General | Double |
Triggering | |||
Is Triggered | Indicates that a wave was detected at least once | General | Boolean |
Control | |||
Is Enabled | If set to false the element is completely omitted when the experiment is run | Design | Boolean |
Title | Title of the element | Design | String |
Practical Use
Technique 1 – Threshold-Based Stimulation Triggering
Connect the Wave Detector to the desired input channel from the signal pool.
Define the Wave Frequency ROI to match your target oscillation band (e.g., 8–12 Hz for alpha waves).
Adjust Detection Window Length and Wave Detection Threshold for optimal sensitivity.
Use the Is Triggered property or a triggered snippet to launch a stimulus immediately after detection.
Technique 2 – Monitoring Oscillatory State During a Task
Enable XAML Signal Plot for live visual feedback.
Use Wave Score as a continuous measure of rhythmicity.
Log both the Wave Score and Triggering Time for offline correlation with behavioral data.
Notes
A shorter detection window improves responsiveness but may increase false positives in noisy data.
Use Signal Normalization to handle amplitude variability between sessions or subjects.
The Frequency ROI property is also used in Session Statistics to display PSD and phase-locking metrics.
Rendering size affects export quality; higher values improve resolution but may slow down plotting.
