Skip to content

Synapse Overview

Synapse Splash

Synapse is the software you'll use to design, manage and collect data from your neurophysiology experiments using System 3 hardware. With Synapse's advanced automation, underlying relational database, and sophisticated hardware interface; the power and flexibility of TDT's proven multi-DSP hardware platform is never more than a few clicks away.


In the design phase of your experiment, Synapse automates all but the highest level set-up tasks. You interact with the software using a streamlined interface where the most commonly modified options are available on easy options tabs. Automated processes combine what Synapse knows about your hardware and what TDT has learned in over 30 years of working closely with researchers like you to deliver smart experiment design.

Let Synapse Remember the Details of Your Hardware for You

Synapse auto-detects your hardware and uses a hardware abstraction layer (or HAL) between the device specific processes for your equipment and your experiment building selections. When you are configuring recording, data storage, and detection tasks; you don't have to think about the particulars of your hardware system. As you design your experiment, Synapse uses information about your hardware and selections you've already made to show only the relevant choices. You select the parts of the experiment you want and Synapse generates the required code instructions, optimized for your hardware. With only a few mouse clicks, you can build custom experiments and be collecting data in minutes.

Get the Power of Customization without Complexity

Most Synapse users will be able to run out-of-box experiments and acquire data with minimal configuration changes. If you need to do more, there are progressively more detailed levels of design options available. Three powerful paths can be used or combined to support differing levels of flexibility and control.

Experiment Templates

For the fastest design experience, select a pre-made template as the starting point for your experiment. The growing list of TDT designed templates includes multi-channel recording, LFPs, spike sorting, tetrode recordings, and experiments that combine these elements. If the template matches your needs, you can use it as is. For more customized experiments, adjust configuration settings or add gizmo task blocks to make it your own.


TDT Gizmos

For a balance of flexibility and design speed, select and arrange ready-made building blocks called 'gizmos'. You add them in the order you want each task to occur, for example you would add a filter before a storage task. Synapse adjusts the available options as you work so that only relevant choices are available.

Gizmos are available for a variety of tasks, including reading input signals, filtering, online spike sorting, data storage, channel mapping, stimulation, and much more. Each gizmo can also comprise a group of tasks bundled together for a particular type of experiment, such as online spike sorting and data storage.

TDT Gizmos (partial list)

Many gizmos include runtime interfaces that enable you to make adjustments to your experiment as data is being collected. For example, the Tetrode Processor includes plots to display the four channels of the tetrode as streamed waveforms and as snippets in a pile plot. A specialized 2D feature plot for viewing and selecting different projections is also provided. You can draw clusters or units and apply them from the runtime interface. You can even make changes to the filter settings or threshold levels dynamically and see the changes to the data immediately.

Runtime Interface

User Designed Gizmos

For maximum flexibility and control, build your own custom processing tasks. The gizmo building tools link directly into the signal flow, and include parameter tags or 'hooks' that allow you to control timing, triggering, data storage, and modification of other parameter values dynamically at runtime. For example, you can create a gizmo that runs a novel stimulus protocol, accessing signal parameters directly in the Synapse interface or through a custom application you've developed using TDT provided development tools and MATLAB or Python.

Designing your own gizmos may take a little more time upfront, but once a user gizmo has been created it can be reused in future experiments as easily as the built-ins.

User Designed Gizmo Creation Tools

Get More from Your System with Automation

No matter which method or combination of techniques you use to define your experiment, the Synapse compilation engine determines how to most efficiently utilize your available hardware to run it. One of the reasons System 3 processors are so powerful is that they run multiple DSPs in parallel. Each DSP is capable of running many combinations of tasks, but each task takes a different amount of processing power. Automating the distribution of the tasks that make up your experiment allows you to tap in to the full power of the multiple DSP architecture of the processors in your system from day one and without any special training. With Synapse, you let the computer do the logic based tasks it does so well; giving you more time to do what you do best-- consider big ideas, get creative, and develop insightful conclusions.


Much of what makes Synapse innovative goes on behind the scenes. Like the automation tools at work as you design your experiments, the relational database is the power behind Synapse's experiment management capabilities. Synapse tags three special categories of information: users, experiments, and subjects; then tracks all runtime settings and any modification made to parameters during each experiment run.


You control how Synapse uses the stored runtime configuration data by selecting a Persistence--or way of choosing how settings carryover from user to user, subject to subject, or session to session. Tagging the visual layout and runtime parameters with subject and user information gives your lab several options for customizing the experience for each user. Different users can run a shared experiment with completely different settings. Or individual users can choose to:

  • Use the most recent settings for that project or that subject.
  • Start over with a fresh interface.
  • Start with settings from any previous session.

The Digital Lab Notebook

You can access the complete record of all settings and changes made during each session in the History Window. The relational nature of the database where they're stored enables you to filter sessions in the window by user, experiment, or subject. When you select a session, you can see every change that was made to settings during each run. All of this data is recorded automatically and available at any time.

History Window

This window acts as a digital lab notebook where you can see the automatically generated log of all experiments. Select a Session row and the timestamped record of what settings were used or changed in each run (or block) during that session are displayed below. You can even choose a previous set of changes as a launching point for your next session, effectively rewinding your experiment to an earlier state.

The Session rows in the History window can also be used like an export utility, to send experiment data to other applications for visualization and analysis.


When you are ready to run your experiment, Synapse automatically generates the user interfaces for all gizmos in your configuration. The pre-made user interfaces save time and allow you to make adjustments to your experiment dynamically.

System Communication Flow Diagram

Synapse communicates directly with System 3 hardware for fast, precisely timed operations. With Synapse you can immediately access the data for display while the data is being stored to disk. No system that stores the data before allowing access can compare to Synapse's speed. As data is acquired it is passed to the powerful TTank data server that also got its start in OpenEx. This time-tested data server indexes and stores the data then makes the data available for post hoc visualization and analysis.

Your own custom applications written in MATLAB, Python, or any language that supports ActiveX, can control parameters dynamically at runtime or access the data stored in the Tank format using TDT developed tools.

Synapse not only ensures the integrity of the data you will collect, it also supports integration with existing OpenEx applications such as OpenScope, OpenSorter, and OpenExplorer and maintains compatibility with existing data sets.