Node Catalog

Thalamus ships with a large library of node types. Every node falls into one of four roles:

  • Generators produce data (hardware acquisition, signal generation).

  • Consumers take data in and do something terminal with it (storage, logging, display).

  • Transformers consume data and produce new data (analysis, coordinate mapping, scripting).

  • Controllers coordinate the pipeline (starting/stopping groups of nodes).

The tables below list the node types available in this release. Select a node’s type from the dropdown in its row in the node list to switch a node to that type. Nodes documented in detail have their own page linked from the Nodes index.

Generators

Type

Description

WAVE

Software signal generator (sine, square, triangle, random) with configurable frequency, amplitude, phase, offset and duty cycle. See WAVE.

NIDAQ (NIDAQMX)

Reads analog signals from a National Instruments DAQ. See NIDAQ.

WALLCLOCK

Emits the current time (system clock, NTP, or PTP) as a time series for synchronization. See WALLCLOCK.

INTAN

Streams neural recordings from an Intan RHX acquisition system over TCP. See INTAN.

SPIKEGLX

Streams high-density electrophysiology data from a SpikeGLX / Neuropixels system. See SPIKEGLX.

BRAINPRODUCTS

Streams EEG/biosignal data from Brain Products amplifiers. See BRAINPRODUCTS.

DELSYS

Streams wireless EMG data from Delsys sensors. See DELSYS.

GENICAM

Acquires image streams from GenICam/GenTL-compliant cameras. See GENICAM.

VIDEO / FFMPEG

Decodes video/image streams from files or capture devices via FFmpeg. See VIDEO / FFMPEG.

XSENS / MOCAP

Streams motion-capture pose data (segment positions and quaternion rotations). See XSENS.

HAND_ENGINE

Streams hand/finger pose data from StretchSense Hand Engine. See HAND_ENGINE.

PUPIL

Generates a synthetic eye image with a moving pupil (optionally random saccades) for testing eye-tracking pipelines. See PUPIL.

CHESSBOARD

Renders a chessboard calibration-target image (for displaying a known pattern, e.g. for camera/display calibration). See CHESSBOARD.

REMOTE

Proxies a data stream from another Thalamus instance over gRPC. See REMOTE.

SAMPLE_MONITOR

Monitors node sample rates and alerts when they drift from expectation (diagnostic). See SAMPLE_MONITOR.

Consumers

Type

Description

STORAGE2

Primary node for recording data to a .tha capture file, with per-modality selection, file copying, and metadata. See STORAGE2.

STORAGE

Earlier-generation storage node (retained for backward compatibility). See STORAGE.

NIDAQ_OUT (NIDAQMX)

Writes analog signals from Thalamus out to a National Instruments DAQ. See NIDAQ_OUT.

LOG

Receives and displays text log messages. See LOG.

REMOTE_LOG

Aggregates log messages from a remote Thalamus instance. See REMOTE_LOG.

STIM_PRINTER

Logs JSON-formatted electrical stimulation declarations. See STIM_PRINTER.

TOUCH_SCREEN

Maps raw touch-screen coordinates to calibrated screen coordinates. See TOUCH_SCREEN.

OPHANIM

Drives a panoramic/sphere projection display over gRPC. See OPHANIM.

TASK_CONTROLLER

Starts/stops an external behavioral task-controller service. See TASK_CONTROLLER.

Transformers

Type

Description

ALGEBRA

Evaluates a user-supplied algebraic expression on incoming samples. See ALGEBRA.

LUA

Evaluates Lua expressions on incoming samples, with state preserved across samples. See LUA.

NORMALIZE

Linearly rescales an input range to a configured output range, with calibration caching. See NORMALIZE.

ANALOG

Pass-through / touchpad analog node that can inject synthetic input from the mouse. See ANALOG.

TOGGLE

Flip-flop that toggles its output (0 / 3.3) on each rising threshold crossing of the input. See TOGGLE.

CHANNEL_PICKER

Selects and reorders channels from one or more upstream sources. See CHANNEL_PICKER.

FREQUENCY

Monitors a channel’s frequency and flags drift outside configured margins. See FREQUENCY.

SYNC

Cross-correlates paired channels from different nodes to measure timing alignment. See SYNC.

OCULOMATIC

Detects gaze position from an eye-camera video stream and outputs scaled analog coordinates. See OCULOMATIC.

ARUCO

Detects ArUco/AprilTag fiducial markers in images and outputs board poses. See ARUCO.

DISTORTION

Applies camera-distortion correction to image streams. See DISTORTION.

HEXASCOPE

Servos a motorized mirror platform to track a target from a motion-capture source. See HEXASCOPE.

CECI

Generates multi-channel biphasic electrical stimulation with MUX/digital control. See CECI.

ROS2

Bridges Thalamus data (images, gaze, transforms) to/from ROS 2 topics and TF2. See ROS2.

Controllers and Utilities

Type

Description

RUNNER2

Propagates its Running state to a configured list of (possibly remote) nodes so multiple nodes start/stop together. See RUNNER2.

RUNNER

Simpler controller that mirrors its Running state to a list of local node names. See RUNNER.

NONE

The default empty node; does nothing until you choose a type.

THREAD_POOL

Exposes the shared worker thread pool (system/diagnostic). See THREAD_POOL.

LOOP_TEST / TEST_PULSE_NODE

Diagnostic nodes that generate test signals for verifying signal routing and latency. See LOOP_TEST / TEST_PULSE_NODE.