Gizmo Categories
Analysis Gizmos
Perform powerful real-time analysis on incoming signals.
Icon | Name | About this Gizmo | When to Use | Common Inputs & Outputs |
---|---|---|---|---|
Signal Accumulator | Collect a sum of an incoming signal over a user-defined window. Optionally compute the average as well. Can also perform thresholding of accumulated signal for further processing | Use this gizmo to calculate the total power of a signal over a specified time span, or to compute average signal power over many trials | Inputs any single or multi-channel data stream. Outputs the sum of the accumulated signal and optionally the average. |
Logic Gizmos
Combine logical signals originating from external hardware or other gizmos into meaningful logic states.
Icon | Name | About this Gizmo | When to Use | Common Inputs & Outputs |
---|---|---|---|---|
State Maker | State Maker is an interface for performing logical tests on single-channel inputs and combining results into output states for storage and controlling/ triggering other gizmos for further signal processing | Use this gizmo when receiving bit codes from external devices, and to make decisions/ process gizmo output values. Used often to trigger store events or strobing other gizmos | Digital I/O inputs from RZ gizmo, or inputs from other gizmos, such as integer values from a Selector reading sort codes. Output variable duration logic triggers based on a combination of keys and marks | |
Timer | Measures time between or duration of logical events from primary and secondary inputs | Use this gizmo to calculate event frequency or time logical events. Can be used to measure response time to stimuli, calculate heart rate, and time other physiologic intervals | Inputs any logic signals. Outputs smoothed or instantaneous measurements of period or frequency. | |
Pulse Generator | Creates user-defined pulse trains based on milliseconds or Hz. Control duty cycle, period, number of pulses, and trigger pulse trains internally or from other gizmos | Use this gizmo for directly controlling optogenetic stimulation or driving the timing of other connected gizmos or devices | Inputs logic strobe signal for other gizmos or digital I/O. Output TTL or floating-point pulses to be routed to other gizmos or I/O | |
User Input | Create dynamic stores and logic outputs based on inputs from digital I/O bits or a software button | Use this gizmo to store I/O inputs with values defined by user or another gizmo and create fixed-duration, toggled, or edge logic outputs based | Input from digital I/O bits or software button. Output logic as an edge, fixed-duration TTL pulse, or toggled output. Output can be a counter, a user-set value, or gizmo input | |
Pulse Train Generator | Create simple or complex user-defined pulse train waveforms based on a number of configuration options that include stacked or parallel trains. Control whether trains are strobed or triggered, and define waveform characteristics with a parameter table. | Use this gizmo for directly controlling optogenetic stimulation or other connected gizmos or devices. Pulse Train is especially useful when you want to create complex pulse trains where one signal is gating another, or if you want to inform waveform parameters dynamically from other gizmos. | Input from logic strobe signals, parameter values, or scalar inputs. Output a TTL or floating point train signal to driver connected gizmos or devices. |
Neural Gizmos
Combine logical signals originating from external hardware or other gizmos into meaningful logic states.
Icon | Name | About this Gizmo | When to Use | Common Inputs & Outputs |
---|---|---|---|---|
PCA Spike Sorting | Real-time filtering, spike detection, and principal component-based spike sorting with selectable algorithms | This is the most common method for online spike sorting. Cluster units in PCA space and identify spikes automatically or manually cut | Input any multi-channel neural stream (raw amplifier stream). Output integer sort codes. | |
Tetrode Spike Sorting | Real-time filtering, cross-channel tetrode spike detection and classification in a fully customizable 2D feature projection | Use this gizmo for sorting spikes using tetrodes. Commonly used for cell isolation, tetrode sorting provides high spatial localization of nearby units | Input any multi-channel neural stream (raw amplifier stream), often from a mapper to organize tetrode channels. Output integer sort codes. | |
Box Spike Sorting | Real-time filtering, spike detection, and discrimination of neural signals using time-voltage windows | Use this gizmo to sort neuronal spikes on individual channels using time-voltage discrimination windows | Input any multi-channel neural stream (raw amplifier stream). Output integer sort codes | |
Sort Binner | Compress sort code output from spike sorting gizmos for fast viewing and further processing. Optionally output to RZ UDP interface for external processing | Use this gizmo to count the number of sort codes that occur on specific channels within a user-specified time window | Input from sort code outputs of spike sorting gizmos. Output 32-bit integer words that are a count of sort codes per channel. | |
Neural Stream Processor | Easily visualize, filter and store real-time multichannel neurophysiology signals. Includes built in, optimized settings for the most common biologic signal types | Use this gizmo for easy filtering and storage of common signal types: LFP, EEG, EMG, Single-Unit, EKG | Input any neural stream (typically the raw signal). Outputs filtered signal, and also saves the filtered signal by default. | |
Neural Signal Referencer | Digitally subtract common signals from multi-channel stream. Single or multi-channel referencing on all channels or independent sub-groups of channels | Use this gizmo to eliminate common mode noise across channels or to perform digital re-referencing. Multi-channel referencing won’t create artificial waveforms on your signal | Input any multi-channel neural stream (typically pre-filtered). Output multi-channel re-referenced signal, and save reference signal itself. |
Specialized Gizmos
Specialized gizmos encapsulate a specific application all in one gizmo.
Icon | Name | About this Gizmo | When to Use | Common Inputs & Outputs |
---|---|---|---|---|
Fiber Photometry (RZ10) | Real-time control and acquisition of demodulated locked-in amplification signal from any combination of up to 3 light drivers and 2 photosensors on a Lux bank. Can also monitor light power from PM1 from any Lux bank | This is the primary gizmo used in fiber photometry setups using RZ10 or RZ10x processors. Record up to 6 demodulated signals with raw photosensor output and dFF calculations, too. | Input from the RZ #enable line or other logic strobe signals. Output calculated Driver x Sensor signals or dFF signals | |
Fiber Photometry (Legacy) | Real-time control and acquisition of demodulated locked-in amplification signal from any combination of up to 4 light drivers and 2 photosensors | This is the primary gizmo used in fiber photometry setups using processors other than an RZ10 or RZ10x. Record up to 8 demodulated signals with raw photosensor output too | Input from the RZ #Enable line or other logic strobe signals as master LED control. Output demodulated Driver x Sensor signals | |
MRI Recording Processor | Suppress MRI recording artifacts using controllable signal gate. Titrate gating tightly around artifact to clean up online signals | Use this gizmo to eliminate gradient switching artifact in an MRI recording environment. Can automatically detect artifacts or be triggered using timing signal from the magnet | Input any multi-channel neural stream. Output multi-channel filtered and artifact-free single unit and LFP signals | |
Python Coding Gizmo | The Python Coding Gizmo ("Pynapse") tightly integrates Python coding into your Synapse experiment | Use this to control your experiment flow, build and deliver stimuli, run complex behavioral paradigms, do custom analysis and visualization | Input up to 8 logic or number signals for logic testing, output logic or custom waveforms |
Routing Gizmos
Work with single or multi-channel signals in the Synapse framework. Control signal flow.
Icon | Name | About this Gizmo | When to Use | Common Inputs & Outputs |
---|---|---|---|---|
Mapper | Create user-defined channel maps to reroute electrode sites to different amplifier channels | Use this when you want to create ordered spatial maps with unordered electrode sites | Input any multi-channel stream, typically right from the amplifier. Output a reordered multi-channel stream | |
Selector | Pick off individual channels from a multi-channel stream, or isolate specific channel and sort code combinations from Sort Binner | Use this gizmo for routing individual channels for monitoring or further processing, or for reading Sort Binner outputs of single channel + sort code information | Input any multi-channel signal or Sort Binner. Output the isolated channel for further processing or the Sort Binner count of sort code occurrences on the specified channel | |
Merger | Combine up to eight single or multi-channel streams into a single multi-channel stream | Use this gizmo to send separate data into a single multi-channel stream for processing in other gizmos or storage | Two or more single or multi-channel data streams. Must be of the same single or multi-channel type. Output the merged data streams | |
Injector | Insert a single channel input into a multi-channel data stream at specific user-specified channels | Choose a channel for electrical stimulation. Can also be used to route audio signal to a speaker array (channel in DAC Montage). | Input a single channel input such as eStim or aStim. Output into a multi-channel signal with channel routing information | |
Delay | Adds a fixed or dynamic delay to any input signal | This gizmo is useful for triggering optogenetic, auditory, or other stimuli a programmed time after an event of interest occurs | Input from any signal. Output the same signal at a specified time later | |
Parameter Manifold | Control multiple stimulation gizmo parameters simultaneously | Use this gizmo when needing to share parameters between multiple stimulation gizmos, such as duration or pulse count. Often used in conjunction with Parameter Sequencer | Strobe signal input from other gizmos. Output shared parameter values to multiple gizmos |
Signal Conditioning Gizmos
Perform signal conditioning and processing on incoming data.
Icon | Name | About this Gizmo | When to Use | Common Inputs & Outputs |
---|---|---|---|---|
Unary Processor | Implement series of mathematical operations to incoming signals | Use this gizmo to perform interesting signal processing on incoming data, such as power in band, RMS, or scaling. Can also perform complex thresholding or type conversion on signals | Input any single or multi-channel data stream. Outputs the processed data stream or a converted signal type | |
General Purpose Filter | Create filters with user-defined parameters that include high/ low pass corners up to 8th order and notches with varying cut depths and bandwidths | Use this gizmo to design a filter with higher orders or more notches than the Neural Stream Processor can provide | Input any single or multi-channel data stream. Outputs the filtered data stream | |
Artifact Blocker | Suppress artifacts associated with triggered events. Includes gate timing parameters for control of gate shape | Use this gizmo to remove large artifacts during events like electrical stimulation or motion artifact | Any single or multi-channel data stream. Outputs the same signal, but with the data removed around the artifact event |
Stimulation Gizmos
Stimulation gizmos generate precisely sequenced audio, electrical, or optical stimulation.
Icon | Name | About this Gizmo | When to Use | Common Inputs & Outputs |
---|---|---|---|---|
Parameter Sequencer | Control stimulus parameters with complex timing and presentation sequences (rolling, repeated, random, manual) | High-level parameter control and stimulus presentation | Root or strobe input from another gizmo. Outputs Parameter value and strobing logic | |
Audio Stimulation | Generate fully customizable tone, noise, and other audio stimulation types | Use this gizmo for audio neurophysiology, stimulus-response protocols, hearing screening protocols, and psychoacoustics | Strobe inputs; parameter inputs from Parameter Sequencer. Output the audio signal and a stim sync logic signal | |
Electrical Stim Driver | Create up to four stimulation voices for single-ended or bipolar stimulations outputs on a target device, such as an IZ2 or IZV. Create monophasic or biphasic waveforms with charge balancing options. | Use this gizmo for design of interesting electrical stimulation waveforms | Strobe inputs; parameter inputs from Parameter Sequencer. Output voices to target stimulation devices | |
File Stimulation | Play custom waveforms from a list of files on disk, which includes WAV files and MAT files | Use this for speech studies, psychoacoustics, or for custom audio or electrical stimulus presentations | Strobe inputs; parameter inputs from Parameter Sequencer. Output stimuli and a stim sync logic signal | |
Ultrasonic File Stimulation | A streamlined version of File Stimulation for creating custom stimuli at ultrasonic frequencies | This gizmo is useful for audio neurophysiology and stimulus response protocols for animals that can hear in the ultrasonic frequency range | Strobe inputs; parameter inputs from Parameter Sequencer | |
Ultrasonic Stimulation | A streamlined version of Audio Stimulation for creating stimuli at ultrasonic frequencies | This gizmo is useful for audio neurophysiology and stimulus response protocols for animals that can hear in the ultrasonic frequency range | Strobe inputs; parameter inputs from Parameter Sequencer |
Storage Gizmos
Precisely timestamp and store any type of real-time data to disk.
Icon | Name | About this Gizmo | When to Use | Common Inputs & Outputs |
---|---|---|---|---|
Stream Data Storage | A general-purpose gizmo used to store single or multi-channel data streams. Includes data formatting and scaling options | Use this gizmo to store raw data directly from your amplifier. Use on the output of other gizmos that do not have storage options, like Unary Processor | Input any single or multi-channel data stream. No outputs | |
Strobed Data Storage | Store single values or short segments of data (including pre-trigger data). Includes heat maps and bar plots | Use this gizmo to store streaming data asynchronously or store values/ segments of data around events of interest | Input any single or multi-channel data stream and a strobe input. No outputs | |
Epoch Event Storage | Timestamp and store single or multi-channel data when triggered | Use this gizmo to capture behavioral inputs or stimulus parameters to filter and align neurophysiological data | Input any data input and a strobe input. No outputs |
Visualization Gizmos
View incoming signals in dynamic ways and perform interesting processing on them
Icon | Name | About this Gizmo | When to Use | Common Inputs & Outputs |
---|---|---|---|---|
Oscilloscope | Has all the functionality of a hardware oscilloscope and more. View up to four channels at user-defined ranges and domains, and perform complex signal testing for creating trigger outputs | Use this gizmo to visualize signals on a more refined time scale, or to perform thresholding or hysteresis tests for complex triggering paradigms like phase-locked stimulation off LFPs | Input any single-channel signal. Outputs logical triggers and delayed signal |
Custom Gizmos
Create your own custom real-time signal processing function
Icon | Name | About this Gizmo | When to Use | Common Inputs & Outputs |
---|---|---|---|---|
User Gizmo | Use the RPvdsEx coding environment to make a custom gizmo with any component in the RPvdsEx library | When you can’t find a standard gizmo to do what you want | Any single or multi-channel data stream |