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 |
|---|---|
|
Software signal generator (sine, square, triangle, random) with configurable frequency, amplitude, phase, offset and duty cycle. See WAVE. |
|
Reads analog signals from a National Instruments DAQ. See NIDAQ. |
|
Emits the current time (system clock, NTP, or PTP) as a time series for synchronization. See WALLCLOCK. |
|
Streams neural recordings from an Intan RHX acquisition system over TCP. See INTAN. |
|
Streams high-density electrophysiology data from a SpikeGLX / Neuropixels system. See SPIKEGLX. |
|
Streams EEG/biosignal data from Brain Products amplifiers. See BRAINPRODUCTS. |
|
Streams wireless EMG data from Delsys sensors. See DELSYS. |
|
Acquires image streams from GenICam/GenTL-compliant cameras. See GENICAM. |
|
Decodes video/image streams from files or capture devices via FFmpeg. See VIDEO / FFMPEG. |
|
Streams motion-capture pose data (segment positions and quaternion rotations). See XSENS. |
|
Streams hand/finger pose data from StretchSense Hand Engine. See HAND_ENGINE. |
|
Generates a synthetic eye image with a moving pupil (optionally random saccades) for testing eye-tracking pipelines. See PUPIL. |
|
Renders a chessboard calibration-target image (for displaying a known pattern, e.g. for camera/display calibration). See CHESSBOARD. |
|
Proxies a data stream from another Thalamus instance over gRPC. See REMOTE. |
|
Monitors node sample rates and alerts when they drift from expectation (diagnostic). See SAMPLE_MONITOR. |
Consumers¶
Type |
Description |
|---|---|
|
Primary node for recording data to a |
|
Earlier-generation storage node (retained for backward compatibility). See STORAGE. |
|
Writes analog signals from Thalamus out to a National Instruments DAQ. See NIDAQ_OUT. |
|
Receives and displays text log messages. See LOG. |
|
Aggregates log messages from a remote Thalamus instance. See REMOTE_LOG. |
|
Logs JSON-formatted electrical stimulation declarations. See STIM_PRINTER. |
|
Maps raw touch-screen coordinates to calibrated screen coordinates. See TOUCH_SCREEN. |
|
Drives a panoramic/sphere projection display over gRPC. See OPHANIM. |
|
Starts/stops an external behavioral task-controller service. See TASK_CONTROLLER. |
Transformers¶
Type |
Description |
|---|---|
|
Evaluates a user-supplied algebraic expression on incoming samples. See ALGEBRA. |
|
Evaluates Lua expressions on incoming samples, with state preserved across samples. See LUA. |
|
Linearly rescales an input range to a configured output range, with calibration caching. See NORMALIZE. |
|
Pass-through / touchpad analog node that can inject synthetic input from the mouse. See ANALOG. |
|
Flip-flop that toggles its output (0 / 3.3) on each rising threshold crossing of the input. See TOGGLE. |
|
Selects and reorders channels from one or more upstream sources. See CHANNEL_PICKER. |
|
Monitors a channel’s frequency and flags drift outside configured margins. See FREQUENCY. |
|
Cross-correlates paired channels from different nodes to measure timing alignment. See SYNC. |
|
Detects gaze position from an eye-camera video stream and outputs scaled analog coordinates. See OCULOMATIC. |
|
Detects ArUco/AprilTag fiducial markers in images and outputs board poses. See ARUCO. |
|
Applies camera-distortion correction to image streams. See DISTORTION. |
|
Servos a motorized mirror platform to track a target from a motion-capture source. See HEXASCOPE. |
|
Generates multi-channel biphasic electrical stimulation with MUX/digital control. See CECI. |
|
Bridges Thalamus data (images, gaze, transforms) to/from ROS 2 topics and TF2. See ROS2. |
Controllers and Utilities¶
Type |
Description |
|---|---|
|
Propagates its Running state to a configured list of (possibly remote) nodes so multiple nodes start/stop together. See RUNNER2. |
|
Simpler controller that mirrors its Running state to a list of local node names. See RUNNER. |
|
The default empty node; does nothing until you choose a type. |
|
Exposes the shared worker thread pool (system/diagnostic). See THREAD_POOL. |
|
Diagnostic nodes that generate test signals for verifying signal routing and latency. See LOOP_TEST / TEST_PULSE_NODE. |