Crossing Detector

Annotated Crossing Detector editor
Emits a TTL event when a continuous channel crosses a specified threshold level. Each Crossing Detector can only process one input channel at a time, but multiple detectors can be placed in series to trigger on as many channels as desired.

Plugin Type



Windows, Linux, macOS

Built in?


Key Developers

Ethan Blackwood, Mark Schatza

Source Code

Installing and upgrading

The Crossing Detector plugin is not included by default in the Open Ephys GUI. To install, use ctrl-P or ⌘P to access the Plugin Installer, browse to the “Crossing Detector” plugin, and click the “Install” button.

The Plugin Installer also allows you to upgrade to the latest version of this plugin, if it’s already installed.

Plugin Configuration

General settings

  • When the Channel that is selected Rises and/or Falls across the threshold level (specified in the visualizer window), an event is triggered on the TTL_OUT line.

  • TIMEOUT_MS controls the minimum time between two consecutive events (i.e. for this number of milliseconds after an event fires, no more crossings can be detected).

Additional parameters can be configured by clicking the “tab” or “window” buttons in the upper right of the plugin’s editor. The settings interface can be seen here:

Crossing Detector visualizer with additional settings

Threshold level

There are three different types of thresholds that can be used:

  1. Constant (default) - the threshold is set to a constant value.

  2. Random - the plugin randomly chooses a new threshold for each event, based on a uniform distribution

  3. Continuous channel - the input channel is compared with a second continuous channel on a sample-by-sample basis, to allow the threshold to change dynamically.

Event criteria

There are three options that can reduce the frequency of spuriously triggered events:

  1. Jump size limit - prevents triggers when the difference across the threshold is too large in magnitude. This is useful for filtering out wrapped phase jumps, for example.

  2. Sample voting - makes detection more robust to noise by requiring a larger span of samples before or after t0 to be on the correct side of the threshold.

  3. Ignore crossings near the end of buffers

Event duration

The event duration specifies the delay (in ms) between the “OFF” event and the time at which an “ON” event is triggered. The default duration is 100 ms.