Gizmos are the building blocks of a Synapse experiment. Each one does one job, such as filtering a neural signal, sorting spikes, playing a tone or storing data. Link them together in Synapse to build your experiment; their controls can be fixed when you design it or changed while it runs.
All gizmos
Neural
Filter, reference, sort, and store multi-channel neural signals in real time.
PCA Spike Sorting
Real-time filtering, spike detection, and principal component-based spike sorting with selectable algorithms.
- When to use
- This is the most common method for online spike sorting. Cluster units in PCA space and identify spikes automatically or manually cut.
- Inputs and outputs
- 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.
- When to use
- Use this gizmo for sorting spikes using tetrodes. Commonly used for cell isolation, tetrode sorting provides high spatial localization of nearby units.
- Inputs and outputs
- 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.
- When to use
- Use this gizmo to sort neuronal spikes on individual channels using time-voltage discrimination windows.
- Inputs and outputs
- 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.
- When to use
- Use this gizmo to count the number of sort codes that occur on specific channels within a user-specified time window.
- Inputs and outputs
- 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.
- When to use
- Use this gizmo for easy filtering and storage of common signal types: LFP, EEG, EMG, Single-Unit, EKG.
- Inputs and outputs
- 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.
- When to use
- 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.
- Inputs and outputs
- Input any multi-channel neural stream (typically pre-filtered). Output multi-channel re-referenced signal, and save reference signal itself.
Specialized
One gizmo for a whole application.
Fiber Photometry
Real-time control and acquisition of demodulated lock-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.
- When to use
- This is the primary gizmo used in fiber photometry setups with Lux hardware: RZ10x processors and iCon iX modules. Record up to 6 demodulated signals with raw photosensor output and ΔF/F calculations, too.
- Inputs and outputs
- Input from the RZ #enable line or other logic strobe signals. Output calculated Driver x Sensor signals or ΔF/F signals.
Fiber Photometry for non-Lux
Real-time control and acquisition of demodulated lock-in amplification signal from any combination of up to 4 light drivers and 2 photosensors of your own. Converts the drive current you set (mA) into a voltage output for each driver and reads each photosensor's voltage as a response in mV.
- When to use
- Use this gizmo when you provide your own LED drivers and photosensors instead of Lux hardware (RZ10x or iX). Record up to 8 demodulated signals with raw photosensor output too. This was the original fiber photometry gizmo made for the RX8 and RZ5P (other processors such as the RZ5D and RZ2 can use it too); new setups use Lux hardware and the Fiber Photometry gizmo.
- Inputs and outputs
- 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.
- When to use
- 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.
- Inputs and outputs
- Input any multi-channel neural stream. Output multi-channel filtered and artifact-free single unit and LFP signals.
Pynapse (Python Coding)
The Python Coding Gizmo ("Pynapse") tightly integrates Python coding into your Synapse experiment.
- When to use
- Use this to control your experiment flow, build and deliver stimuli, run complex behavioral paradigms, do custom analysis and visualization.
- Inputs and outputs
- Input up to 8 logic or number signals for logic testing, output logic or custom waveforms.
Stimulation
Stimulation gizmos generate precisely sequenced audio, electrical, or optical stimulation.
Parameter Sequencer
Control stimulus parameters with complex timing and presentation sequences (rolling, repeated, random, manual).
- When to use
- High-level parameter control and stimulus presentation.
- Inputs and outputs
- 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.
- When to use
- Use this gizmo for audio neurophysiology, stimulus-response protocols, hearing screening protocols, and psychoacoustics.
- Inputs and outputs
- 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 stimulation outputs on a target device, such as an IZ2 or IZV. Create monophasic or biphasic waveforms with charge balancing options.
- When to use
- Use this gizmo for design of interesting electrical stimulation waveforms.
- Inputs and outputs
- 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.
- When to use
- Use this for speech studies, psychoacoustics, or for custom audio or electrical stimulus presentations.
- Inputs and outputs
- Strobe inputs; parameter inputs from Parameter Sequencer. Output stimuli and a stim sync logic signal.
Ultrasonic Stimulation
A streamlined version of Audio Stimulation for creating stimuli at ultrasonic frequencies.
- When to use
- This gizmo is useful for audio neurophysiology and stimulus response protocols for animals that can hear in the ultrasonic frequency range.
- Inputs and outputs
- Strobe inputs; parameter inputs from Parameter Sequencer; Output the audio signal and a stim sync logic signal.
Ultrasonic File Stimulation
A streamlined version of File Stimulation for creating custom stimuli at ultrasonic frequencies.
- When to use
- This gizmo is useful for audio neurophysiology and stimulus response protocols for animals that can hear in the ultrasonic frequency range.
- Inputs and outputs
- Strobe inputs; parameter inputs from Parameter Sequencer; Output the audio signal and a stim sync logic signal.
Analysis
Perform powerful real-time analysis on incoming signals.
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.
- When to use
- 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 and outputs
- Inputs any single or multi-channel data stream. Outputs the sum of the accumulated signal and optionally the average.
Signal Averager
Stimulus-locked averaging. Cut a window of a signal around each trigger (usually from a stim gizmo), add it to a running average, and display and store the result. Optional automatic binning and artifact rejection.
- When to use
- Use this gizmo for auditory evoked potentials, other evoked potentials (VSEPs, SEPs, ERPs), electrically evoked responses, and peri-event averaging.
- Inputs and outputs
- Inputs the incoming data signal to be averaged, a strobe to trigger each average, and an optional bin number, typically from a Parameter Sequencer. No outputs; averages are displayed and stored.
Logic
Combine logical signals originating from external hardware or other gizmos into meaningful logic states.
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.
- When to use
- 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.
- Inputs and outputs
- 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.
- When to use
- 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 and outputs
- 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.
- When to use
- Use this gizmo for directly controlling optogenetic stimulation or driving the timing of other connected gizmos or devices.
- Inputs and outputs
- 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.
- When to use
- 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.
- Inputs and outputs
- 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.
- When to use
- 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.
- Inputs and outputs
- Input from logic strobe signals, parameter values, or scalar inputs. Output a TTL or floating point train signal to drive connected gizmos or devices.
Signal Conditioning
Perform signal conditioning and processing on incoming data.
Unary Signal Processor
Implement series of mathematical operations to incoming signals.
- When to use
- 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.
- Inputs and outputs
- 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.
- When to use
- Use this gizmo to design a filter with higher orders or more notches than the Neural Stream Processor can provide.
- Inputs and outputs
- 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.
- When to use
- Use this gizmo to remove large artifacts during events like electrical stimulation or motion artifact.
- Inputs and outputs
- Any single or multi-channel data stream. Outputs the same signal, but with the data removed around the artifact event.
Routing
Work with single or multi-channel signals in the Synapse framework. Control signal flow.
Mapper
Create user-defined channel maps to reroute electrode sites to different amplifier channels.
- When to use
- Use this when you want to create ordered spatial maps with unordered electrode sites.
- Inputs and outputs
- 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.
- When to use
- Use this gizmo for routing individual channels for monitoring or further processing, or for reading Sort Binner outputs of single channel + sort code information.
- Inputs and outputs
- 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.
- When to use
- Use this gizmo to send separate data into a single multi-channel stream for processing in other gizmos or storage.
- Inputs and outputs
- 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.
- When to use
- Choose a channel for electrical stimulation. Can also be used to route audio signal to a speaker array (channel in DAC Montage).
- Inputs and outputs
- 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.
- When to use
- This gizmo is useful for triggering optogenetic, auditory, or other stimuli a programmed time after an event of interest occurs.
- Inputs and outputs
- Input from any signal. Output the same signal at a specified time later.
Parameter Manifold
Control multiple stimulation gizmo parameters simultaneously.
- When to use
- 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.
- Inputs and outputs
- Strobe signal input from other gizmos. Output shared parameter values to multiple gizmos.
Storage
Precisely timestamp and store any type of real-time data to disk.
Stream Data Storage
A general-purpose gizmo used to store single or multi-channel data streams. Includes data formatting and scaling options.
- When to use
- 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.
- Inputs and outputs
- 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.
- When to use
- Use this gizmo to store streaming data asynchronously or store values/segments of data around events of interest.
- Inputs and outputs
- 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.
- When to use
- Use this gizmo to capture behavioral inputs or stimulus parameters to filter and align neurophysiological data.
- Inputs and outputs
- Input any data input and a strobe input. No outputs.
Visualization
View signals in detail and trigger on what you see.
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.
- When to use
- 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.
- Inputs and outputs
- Input any single-channel signal. Outputs logical triggers and delayed signal.
Custom
Create your own custom real-time signal processing function.
User Gizmo
Use the RPvdsEx coding environment to make a custom gizmo with any component in the RPvdsEx library.
- When to use
- When you can't find a standard gizmo to do what you want.
- Inputs and outputs
- Any single or multi-channel data stream.
No gizmo matches. Try another word, or ask us: a User Gizmo or Pynapse can often do it.
How gizmos work together
Link gizmos in Synapse and each one feeds the next. A few common setups:
Evoked potentials
Present tones at many frequencies and levels and average the response to each.
Spike sorting with closed-loop feedback
Sort spikes in real time and act on a chosen unit.
Closed-loop optogenetics on the LFP
Stimulate at a set time after an event in the local field potential.
Fiber photometry with behavior
Record calcium or neurotransmitter signals and line them up with what the animal does.
Synapse packages
Synapse Base comes with every system. Add the packages your research needs; you can try any of them free for 30 days in Synapse.
Synapse Base
Acquire, filter, route, analyze and store signals, plus logic and triggers for third-party devices. Comes with every Synapse system.
24 gizmos
Neural Stream Processor, MRI Recording Processor, Parameter Sequencer, Signal Accumulator, Signal Averager, State Maker, Timer, Pulse Generator, User Input, Pulse Train Generator, Unary Signal Processor, General Purpose Filter, Artifact Blocker, Mapper, Selector, Merger, Injector, Delay, Parameter Manifold, Stream Data Storage, Strobed Data Storage, Epoch Event Storage, Oscilloscope, User Gizmo
Single Unit Neurophys
Real-time spike sorting (PCA, box and tetrode), digital re-referencing and sort codes for closed-loop control.
Fiber Photometry
Drive the LEDs and record fluorescence with built-in lock-in amplification and real-time ΔF/F.
Stimulation
Audio, ultrasonic and electrical stimulation: tones, noise, pulses and waveforms from files.
Pynapse Coder
Python inside Synapse: behavioral tasks, closed-loop control and custom analysis.
