Cheetah Control Commands Reference Guide

User Manual: Pdf

Open the PDF directly: View PDF PDF.
Page Count: 325

DownloadCheetah Control Commands Reference Guide
Open PDF In BrowserView PDF
Cheetah Reference Guide
1. About This Guide

About the Cheetah Reference Guide
The purpose of this guide is to provide a complete reference for everything related to the Cheetah Data Acquisition software. For help getting
started with Cheetah, see the Cheetah Quickstart. The quickstart is located in the Neuralynx\Cheetah5 folder of your Start menu. This reference

guide has been compiled into a help file for easier searching of all of the information. For those unfamiliar with the terms used throughout Cheetah
(i.e. Acquisition Entities); start with reading through the Definition of Terms section of this guide. There are two tabs to the left. The Contents tab
allows one to browse all of the topics contained in this guide. The Search tab gives a full text search of this entire guide.

2. Definition of Terms
Definition of Terms
Throughout this guide and all Neuralynx software, you will run into certain terms time after time. Here is a listing of some of the terms that will help
you navigate and understand this guide.
Acquisition

Data is processed and viewed in Cheetah, but nothing is saved to a file.
An object that is responsible for manipulating, saving and distributing data throughout the
Cheetah software. Acquisition Entities (AE for short) are the most important objects in
Cheetah. There are multiple types of AEs in Cheetah. They are:

Acquisition Entity
(AE)






Spike
Continuously Sampled Channels (CSC)
Events
Video Tracker (VT)

Each of the different AEs have different properties and purposes, and will each generate their
own output file.
AD Channels

An Analog to Digital channel. Each analog signal is referred to as an AD channel. This can be
an electrode in the brain or an external signal such as an eye tracker. For instance, a 32 channel
Cheetah system has 32 possible AD channels.

AD Counts

When an analog signal is digitized, it is sampled using a certain number of bits. The number of
bits determines the precision of the digital representation. Since the voltage range can be
adjusted, the hardware does not store the sample as a voltage, but as an AD count. Cheetah
normalizes all AD counts to a 32 bit value before it converts the counts to actual voltage levels
(based on the input range setting).

Continuously

Usually referred to as CSC. These AE will continuously process the incoming signal and save

Sampled Channels
(CSC)

that signal to a record. These channels can be used for EEG.

Framegrabber

Sometimes referred to as a capture card or capture device. This device is responsible for
converting video images to digital images that Cheetah processes. These cards can also have
built in video encoders to save video to a compressed file.

Hardware System

This general term refers to all of the hardware that is controlled by Cheetah that is connected to
your computer..

Recording

Data is processed and saved to data files.
Spike acquisition entities will detect specific signals from the incoming neurological data. If
these specific signals are found on any of the electrodes related to this spike acquisition entity,
the signal found will be extracted from the incoming signal on all electrodes related to this spike
acquisition entity , and saved to a spike record. Spike acquisition entities can be created as:

Spike




TTL

Single Electrodes (SE)
Stereotrodes (ST, two electrodes)
Tetrodes (TT, four electrodes)

Acronym for Transistor to Transistor Logic. These signals are input to generate events or output
to control an experiment. TTL inputs are DC inputs that can accept a maximum voltage of 5.0V.

3. Configuration Files
Configuration Files
Configuration files are files that contains a series of commands that are run sequentially to setup how Cheetah runs and monitors your
experiment. When Cheetah is installed, the installer will ask you a few questions about your hardware and modify the appropriate configuration files
for use with your hardware. After the installation, you will have a Configuration directory (C:\Program Files\Neuralynx\Cheetah\Configuration)
containing many pre-written and tested configuration files for use with Cheetah. You can process other configuration files from a configuration file
by using the -ProcessConfigurationFile command (see the General Cheetah Commands for more information).
One of the first things you need to do after installing Cheetah is to select the electrode configuration you wish to use with Cheetah. See Editing
Configuration Files for more information.

Configuration File Topics:
Editing Configuration Files
Variable Substitution
Startup Configuration Selection
Saving System State
Dynamically Loading Configuration Files
Cheetah Commands

3.1 Variable Substitution
Variable Substitution
Overview
Neuralynx provides a very basic set of functionality for using variables within its configuration files. Variables are mainly used to allow for easily
making global changes to a specific configuration file. All variables are represented as strings, however, arithmetic operations can be performed
using variables and when that occurs, the variable is check to see if it contains a numeric value and if it does, the operation is carried out. Variables
are not maintained between configuration files. A variables scope is strictly limited to a single configuration file. The same variable may be used in
different configuration files.

Creation
A variable is not explicitly created. A variable must be assigned a value before it can be used, therefore, the first time a variable has an assignment
made to it is when it is created.

Usage
The % sign is what denotes a variable. The % sign comes immediately before the variables name. A variable can be used at any time for any
command except within a set of double quotes. If we were to use a variable called inputRange, then in order to use this variable it must appear as
%inputRange.

Operations
There are only a handful of operations that may be used for variables. They are as follows:
Assignment(=) - Assign a value or another variable to a new or existing variable.

Example: %newWindowName = "Time Window 3"
Example: %newWindowName = %oldWindowName
Plus Equal(+=) - adds a new value or the value of a variable and set it equal to the existing variable. All variables used must contain numeric
values.
Example: %adChannelNumber += 1
Example: %adChannelNumber += %numChannels
Minus Equal(-=) - subtracts a new value or the value of a variable and set it equal to the existing variable. All variables used must contain numeric
values.
Example: %adChannelNumber -= 1
Example: %adChannelNumber -= %numChannels
Multiply Equal(*=) - multiply a new value or the value of a variable and set it equal to the existing variable. All variables used must contain
numeric values.
Example: %inputRange *= 2
Example: %inputRange *= %inputRangeMultiplier
Divide Equal(/=) - divide by a new value or the value of a variable and set it equal to the existing variable. All variables used must contain
numeric values.
Example: %inputRange /= 2
Example: %inputRange /= %inputRangeMultiplier
String concatenation(:=) - concatenates a new value or the value of a variable and set it equal to the existing variable.
Example: %acqEntName := ".ncs"
Example: %acqEntName := %fileExtension

3.2 Editing Configuration Files
Editing Configuration Files
Sometimes it is necessary to actually get into the configuration files and make changes. Maybe you need a customized electrode configuration or just
simply want to change your electrode configuration. Familiarize yourself with the Cheetah commands before you start editing files, or it could lead to
an afternoon of debugging configuration files, which is not fun.
Configuration File Rules

All of the rules listed for Cheetah commands are applicable, with these additional rules for configuration files:
1. There can only be one command per line.
2. All objects must be created before they are used.
1. -CreateSpikeAcqEnt Sc1 DL 1 must be called after -CreateHardwareSubSystem DL DigitalLynx because DL needs to be created to be
used in the spike acquisition entity creation.
3. Objects can only be created once.
1. If you create a window named TimeWindow, you cannot issue another create command for a window named TimeWindow.
4. Any text in a configuration file that follows a pound sign (#) is ignored.
1. #-Break will ignore the break command. -Break # this text is ignored will process the break command, and ignore the rest of the line.
5. Configuration files are in ASCII format. Do not edit them in any program (i.e. Word) that saves formatting information to the file. Notepad
is a safe program to use for editing.

Changing Your Electrode Configuration using Cheetah.cfg
Cheetah.cfg is the starting point for Cheetah configuration. This file is responsible for setting up all hardware, display and electrode configurations
after Cheetah is installed. Changing your electrode configuration is the most common reason for editing this file, so that is what will be covered here.
1. Open Cheetah.cfg from your Configuration directory using Notepad.
2. Find the section of the file titled "“######### ELECTRODE CONFIGURATIONS"
3. Put a comment (#) in front of the only uncommented line in this section. After your first Cheetah installation, this line usually is ProcessConfigurationFile 8se8csc.cfg
4. Remove the comment (#) in front of one and only one of the other -ProcessConfigurationFile lines. The generic configuration files are named
using the number and type of spike channels and the number of CSC channels.
5. Save the file and close Notepad.
6. The next time you start Cheetah, click the Use the Following File button on the Startup Configuration Selection.

3.3 Startup Configuration Selection
Startup Configuration Selection
Since Cheetah is a completely configurable program, it needs to know what system to create when it starts. The startup configuration can be
specified one of two ways. If you will always be using the same configuration file (and want it to start in the same initial state every time), you can
specify a configuration file either as a command line argument either through a shortcut or from the command window. The other option is to use the
startup configuration selection. If Cheetah is started without a command line argument, you will see the startup configuration selection window.

1. Close Button

This button will immediately exit Cheetah.

Every time Cheetah is closed, it will save the current configuration. If you click this button, Cheetah will start
2. Use Last Configuration exactly as it looked the last time it was exited. If Cheetah cannot find the last configuration, this button will be
grayed out.
3. Use Following File

Cheetah will start using the file listed in the startup file entry box.

4. Startup File Entry Box

You can type any file you want into this box. It starts out using the Cheetah.cfg file that is installed on every
Cheetah system.

5. Browse for a File

Cheetah will open a window where you can browse for the startup file you wish to use. Once a file is selected,
Cheetah will automatically launch the selected file.

3.4 Saving System State
Saving the System State
One of the downsides to using configuration files to setup Cheetah is that every time you want to change values that are used when Cheetah starts,
you need to edit the entries in the configuration files. Cheetah allows for you to save the complete system state out to a configuration file that you
can use at startup to put Cheetah in the exact state it was when you saved the file. Additionally, every time you close Cheetah, the system state is
automatically saved in the background; allowing you to load the last used Cheetah state the next time you start Cheetah. Cheetah will never modify a
configuration file, it only saves new files. So you will never have to worry about messing up one of your configuration files while using Cheetah.
This can be a huge time saver if you have multiple experiment setups that use similar electrode configurations, but have different display and
acquisition entity setups for each experiment.
To save the current system state:
1. Go to the File menu of the main window and click on Save Cheetah Settings.

2. Cheetah will open a save file dialog in the Configuration directory, and set the file name to the current date and time. You can change the file
name and location if you wish. Click Save when you are finished.

The next time you start Cheetah, you can click the Select a Different Startup File button on the Startup Configuration Selection to load the file you
just saved.

3.5 Loading Configuration Files
Dynamically Loading Configuration files
Cheetah mainly uses configuration files at startup only. Once the system is up and running, you will be able to create and modify displays without
having to load new configuration files, and you will be able to control Cheetah using NetCom applications. If you need to have different settings for
different experiments, you will want to look into saving the system state. Sometimes it may be useful to save out the configuration of a particular
display setup that you saved from a plot window and only want to use occasionally, or some other similar situation. In these instances, you can load
configuration files dynamically while Cheetah is running. Cheetah will process dynamically loaded files using the same rules as if you were loading
the file at startup, so you need to make sure that the objects created in the file don't already exist, and that any objects modified have already been

created.
To dynamically load a configuration file:
1. Go to the File menu of the main window and click on Open Configuration File.

2. Select the configuration file you wish to load, and click Open.

3. As Cheetah is processing the file, the mouse cursor will change to an hourglass and Cheetah will not respond to any clicking or typing until
the processing is done. When processing is completed, the mouse cursor will turn back into an arrow and Cheetah will be responsive. You
can view the log file or see the system status message history to see if there were any problems processing your configuration file.

4. Hardware Systems
HARDWARE SYSTEMS
One of the purposes of Cheetah is to allow you to easily control Neuralynx hardware. Each Neuralynx acquisition system will come with multiple

pieces of hardware that need to be setup to work with each other properly. This guide will not attempt to explain everything about your hardware; just
how your hardware is controlled and viewed in Cheetah. For setup instructions, or questions about the capabilities of your hardware, see the manual
for your specific hardware setup.
Neuralynx hardware systems are designed to take physical electrical signals from the outside world, be it neurons or from a signal generator; digitize
those signals and save them to a file on your computer for later analysis. There are two different categories of hardware systems controlled by
Cheetah: Analog and Digital.
All real world signals are analog. Neuralynx Analog systems keep the signal in the analog domain until it reaches the computer, where it is then
converted to a digital signal and processed by Cheetah. Most of our analog systems also ship with the Lynx8 amplifier/filter. The Lynx8 will
amplify and apply high and low cut analog filters to the electrical signal before it reaches the computer. This means that the signal that reaches the
computer is physically changed, and Cheetah will not be able to remove the filtering or amplification that was applied by the Lynx8. Cheetah will
only allow each AD channel of an analog system to be used by one acquisition entity, since it is not physically possible to apply two distinct sets of
amplification and filter values to the same signal.
The newer Neuralynx systems use digital signal processing (DSP) to do the filtering and amplification of electrical signals. These systems will
immediately digitize the analog signal and send the digitized signal to the computer for processing. All of the filtering and amplification is done by
Cheetah. Since the original, unprocessed signal is sent to the computer, this allows the flexibility to process the same signal using many different
amplification, high and low cut filter combinations, as well as allowing an AD channel to be used by multiple acquisition entities.

Hardware Systems Topics:
Digital Lynx SX
Digital Lynx
Cheetah 64
Cheetah 160
Lynx 8 Amplifier Control
Digital Reference Selector
Digital I/O (TTL Input and Output)

4.1 Digital Lynx SX

Digital Lynx SX
Hardware Overview
The Digital Lynx SX system is a stand alone acquisition system. The Digital Lynx SX consists of a chassis that contains input boards and DRS
boards. The chassis can hold any combination of input boards and DRS boards. The total max number of boards it can hold is 16. Each board has
32 AD channels associated with it. Channel numbers increment starting from the left side of the chassis. A signal is input into each input board via
a DRS board if applicable. The signal is digitized and then formatted and sent over the fiber optic cable to the fiber optic Ethernet card located in
the PC.
Hardware Sub System Interface
In order to retrieve data from the fiber optic Ethernet card, a hardware sub system must be created. A hardware sub system is an object in Cheetah
that controls the acquisition of data from a specified piece of hardware, in this case the Digital Lynx SX. The hardware sub system has a set of
properties that control how data is retrieved and processed. The creation and properties for a sub system can only be accessed using configuration
file commands.
The -CreateHardwareSubSystem command is used to create a new hardware sub system. As part of the creation command, a name must be given to
the sub system. The name must be unique and is used to report errors or to set the properties of the sub system.
Once a sub system is set up, its first responsibility is to retrieve data from the hardware and store it in a buffer. The number of buffers used and their
size may be set using a configuration command. The number of buffers and their size can effect the performance of the overall system. If there are
too few buffers specified, or the buffer size is too small, the buffers may fill up faster than the data in them can be processed by the rest of the
system. If this occurs, we have whats called a buffer overrun error and some data will be lost. If the buffer size is set too large, the latency in which
data is processed will increase.
The user has the option to save these buffers immediately to a raw data file. This file must be specified by the user, cheetah will only save data to
this file if it has been requested to. The data being saved is completely unprocessed. It has come straight from the hardware, store in a buffer and
then output to disk.
The next step is to process the data that resides in our buffers. When data is acquired by the Digital Lynx SX hardware, it is packed into a record and
then sent to the fiber optic Ethernet interface. The data now has to be unpacked and its validity checked. The first step is to find a valid record, this
is called hunting. A couple things are checked during the hunting process to determine if a record is valid. The first thing is to check to see if the id
associated with the record is valid. The next thing is to see if the record size is valid. The record size is determined by the number of boards in the
Digital Lynx SX chassis. The last thing that is done is a check to make sure the data has not been corrupted . If any of these checks fail, then a hunt
error is reported to the System Status Dialog. Now that we know we have a valid record, the timestamp is checked to make sure it is
incrementing. If it is not incrementing an error is generated.
The record has now been validated. The last step is to unpack the data from the record and store it into a buffer that will be sent to have DSP filters

run on it. The hardware sub system will continue to process records until acquisition is turned off.
TTL Input and Output
The Digital Lynx SX has built in support for a single TTL input port. The direction of this port cannot be changed. The Cheetah Board Number is
the value used when Cheetah assigns the device name used to reference the TTL device. For more information, see the Digital I/O Overview.
Port Label

Cheetah Board Number

Total TTL Bits

Number of Ports

Number of Bits per Port

Port Direction

Parallel Input Port

0

32

4

8

Bidirectional

Digital Lynx SX System Topics:
Digital Lynx SX Properties Dialog
Digital Lynx SX Commands

4.1.1 Digital Lynx SX Hardware Properties

Digital Lynx SX Hardware System Properties
These settings are used to control how the Digital Lynx SX acquisition system hardware is setup and how it process AD data before passing the data
to the acquisition entities. The hardware system properties are shown via the View menu in Cheetah.

Digital Lynx SX Hardware System Properties Dialog

1. System Name

This is the unique name that is used to identify this system in Cheetah. It is the name you chose when you created the
hardware system.

The current sample frequency for this system. This value is based on the hardware but can be set using the CreateHardwareSubSystem command. All AD channels on this system will be sampled at this frequency. However,
2. Sample Frequency
the sampling rate of individual acquisition entities can be changed. See the help section for the type of acquisition
entity whose sampling rate you wish to change for more information.
3. Min Input Range

This is the smallest input range that this system is capable of recording. This value is based on the hardware being used
and cannot be changed.

4. Max Input Range

This is the largest input range that this system is capable of recording. This value is based on the hardware being used
and cannot be changed.

5. DMA Buffer
Count

This is the number of DMA buffers used when acquiring data from the hardware.

6. DMA Buffer Size

This is the buffer size for each buffer used when acquiring data from the hardware. This is in milliseconds.

7. Command IP
Address

The IP address of the Digital Lynx SX hardware. The IP address is used for creating a TCP\IP connection that will be
used to send and receive commands.

8. Command Port
Number

The port number of the Digital Lynx SX hardware used for creating a TCP\IP connection that will send and receive
commands between Cheetah and the Digital Lynx SX hardware.

9. Raw Data File
Properties

This section will enable output of a raw data file to the file name shown in the box when the check box is
checked. You can change the file that is being written to by clicking on the browse button.

10. DSP Delay
Adjustment

When DSP delay adjustment is enabled (box is checked), the timestamps for all spike and CSC records will have the
DSP delay subtracted from the original Cheetah timestamp in order to compensate for the delay caused by the DSP
filters. This is a system wide setting and it cannot be selectively enabled on specific acquisition entities. For more
information see the -SetDSPDelayCompensationEnabled command.

11. Input Board
Count

The number of input boards that exist in the Digital Lynx SX cabinet. This value will be between 1 and 16 and exactly
match the hardware and firmware configuration.

12. Data IP Address

The IP Address that Cheetah expects the Digital Lynx SX will send AD Records to. This should be the IP Address of
theFiber Optic Ethernet Card that is connected to the Digital Lynx SX hardware.

13. Data Port
Number

The port number that Cheetah expects the Digital Lynx SX hardware will send AD Records to.

Allows you to manually turn the headstage power on (checked) or off (unchecked) for all DRS boards installed in the
Digital Lynx cabinet. This option is only available if your system supports software control of headstage power. If the
headstage power control is not available, see your acquisition system hardware manual to determine how to manually
14. Headstage Power control headstage power.
Note: The headstage power will automatically be turned on when acquisition is started and automatically be turned off
when acquisition is stopped, overriding whatever manual changes were made prior to acquisition stopping or starting.
15. DRS Setup

Launches the DRS Properties which allows for manual control of the DRS global and local reference selections. Only
use this option if you need to manually adjust DRS settings. Normal reference selection can be done on either the CSC
or Spike Acquisition Entity Properties. This setting is only available if you have a DRS installed in your system.

4.2 Digital Lynx
Digital Lynx
Hardware Overview
The Digital Lynx system is a stand alone acquisition system. The digital lynx consists of a chassis that contains input boards and DRS boards. The
chassis can hold any combination of input boards and DRS boards. The total max number of boards it can hold is 10. Each board has 32 AD

channels associated with it. Channel numbers increment starting from the left side of the chassis. A signal is input into each input board via a DRS
board if applicable. The signal is digitized and then formatted and sent over a fiber optic cable to the EDT acquisition card located in the PC.
Hardware Sub System Interface
In order to retrieve data from the EDT acquisition card, a hardware sub system must be created. A hardware sub system is an object in Cheetah that
controls the acquisition of data from a specified piece of hardware, in this case the digital lynx. The hardware sub system has a set of properties that
control how data is retrieved and processed. The creation and properties for a sub system can only be accessed using configuration file commands.
The -CreateHardwareSubSystem command is used to create a new hardware sub system. As part of the creation command, a name must be given to
the sub system. The name must be unique and is used to report errors or to set the properties of the sub system.
Once a sub system is set up, its first responsibility is to retrieve data from the hardware and store it in a buffer. The number of buffers used and their
size may be set using a configuration command. The number of buffers and their size can effect the performance of the overall system. If there are
too few buffers specified, or the buffer size is too small, the buffers may fill up faster than the data in them can be processed by the rest of the
system. If this occurs, we have whats called a buffer overrun error and some data will be lost. If the buffer size is set too large, the latency in which
data is processed will increase.
The user has the option to save these buffers immediately to a raw data file. This file must be specified by the user, cheetah will only save data to
this file if it has been requested to. The data being saved is completely unprocessed. It has come straight from the hardware, store in a buffer and
then output to disk.
The next step is to process the data that resides in our buffers. When data is acquired by the digital lynx hardware, it is packed into a record and then
sent to the EDT interface. The data now has to be unpacked and its validity checked. The first step is to find a valid record, this is called hunting. A
couple things are checked during the hunting process to determine if a record is valid. The first thing is to check to see if the id associated with the
record is valid. The next thing is to see if the record size is valid. The record size is determined by the number of boards in the digital lynx
chassis. Cheetah must be aware of the number of boards in the system so that it can determine if the record size is valid. This is accomplished by
setting the input board count in the hardware sub system by using the -SetNumberInputBoards. The last thing that is done is a check to make sure the
data has not been corrupted . If any of these checks fail, then a hunt error is reported to the System Status Dialog. Now that we know we have a
valid record, the timestamp is checked to make sure it is incrementing. If it is not incrementing an error is generated.
The record has now been validated. The last step is to unpack the data from the record and store it into a buffer that will be sent to have DSP filters
run on it. The hardware sub system will continue to process records until acquisition is turned off.
TTL Input and Output
The Digital Lynx has built in support for a single TTL input port. The direction of this port cannot be changed. The Cheetah Board Number is the
value used when Cheetah assigns the device name used to reference the TTL device. For more information, see the Digital I/O Overview.

Port Label

Cheetah Board Number

Total TTL Bits

Number of Ports

Number of Bits per Port

Port Direction

Parallel Input Port

0

16

1

16

Input

Digital Lynx System Topics:
Digital Lynx Properties Dialog
Digital Lynx Commands

4.2.1 Digital Lynx Hardware Properties

Digital Lynx Hardware System Properties
These settings are used to control how the Digital Lynx acquisition system hardware is setup and how it process AD data before passing the data to
the acquisition entities. The hardware system properties are shown via the View menu in Cheetah.

Digital Lynx Hardware System Properties Dialog

1. System Name

This is the unique name that is used to identify this system in Cheetah. It is the name you chose when you created the
hardware system.

The sample frequency for this system is 32556 Hz. This value is based on the hardware being used and cannot be
changed. All AD channels on this system will be sampled at this frequency. However, the sampling rate of individual
2. Sample Frequency
acquisition entities can be changed. See the help section for the type of acquisition entity whose sampling rate you wish
to change for more information.
3. Min Input Range

This is the smallest input range that this system is capable of recording. This value is based on the hardware being used
and cannot be changed.

4. Max Input Range

This is the largest input range that this system is capable of recording. This value is based on the hardware being used
and cannot be changed.

5. DMA Buffer
Count

This is the number of DMA buffers used when acquiring data from the hardware.

6. DMA Buffer Size

This is the buffer size for each buffer used when acquiring data from the hardware. This is in milliseconds.

7. Raw Data File
Properties

This section will enable output of a raw data file to the file name shown in the box when the checkbox is checked. You
can change the file that is being written to by clicking on the browse button.

8. DSP Delay
Adjustment

When DSP delay adjustment is enabled (box is checked), the timestamps for all spike and CSC records will have the
DSP delay subtracted from the original Cheetah timestamp in order to compensate for the delay caused by the DSP
filters. This is a system wide setting and it cannot be selectively enabled on specific acquisition entities. For more
information see the -SetDSPDelayCompensationEnabled command.

9. Total Board

The number of boards that exist in the Digital Lynx cabinet. This value must be between 1 and 10 and exactly match

Count

the hardware and firmware configuration.

Allows you to manually turn the headstage power on (checked) or off (unchecked) for all DRS boards installed in the
Digital Lynx cabinet. This option is only available if your system supports software control of headstage power. If the
headstage power control is not available, see your acquisition system hardware manual to determine how to manually
10. Headstage Power control headstage power.
Note: The headstage power will automatically be turned on when acquisition is started and automatically be turned off
when acquisition is stopped, overriding whatever manual changes were made prior to acquisition stopping or starting.
11. DRS Setup

Launches the DRS Properties which allows for manual control of the DRS global and local reference selections. Only
use this option if you need to manually adjust DRS settings. Normal reference selection can be done on either the CSC
or Spike Acquisition Entity Properties. This setting is only available if you have a DRS installed in your system.

4.3 Cheetah 64
Cheetah 64
Hardware Overview
The Cheetah 64 system is an analog acquisition system. The system is made up of several parts. The Lynx 8 amplifiers are used with this system to
provide high and low cut filtering as well as gain control. A Digital Interface box is used to control timestamp synchronization as well as port
control. The acquisition card that is used for this system is the DT3010. Each DT3010 board allows for 32 AD channels. The Cheetah 64 system
may have a max of 2 DT3010 boards, thus allowing for a maximum of 64 channels.
Hardware Sub System Interface
In order to retrieve data from the DT3010 acquisition card, a hardware sub system must be created. A hardware sub system is an object in Cheetah
that controls the acquisition of data from a specified piece of hardware, in this case the DT3010 boards. The hardware sub system has a set of
properties that control how data is retrieved and processed. The creation and properties for a sub system can only be accessed using configuration
file commands. The -CreateHardwareSubSystem command is used to create a new hardware sub system. As part of the creation command, a name
must be given to the sub system. The name must be unique and is used to report errors or to set the properties of the sub system. With a Cheetah 64
system, the number of DT3010 boards is automatically detected.
Once a sub system is set up, its first responsibility is to retrieve data from the hardware and store it in a buffer. The number of buffers used and their
size may be set using a configuration command. The number of buffers and their size can effect the performance of the overall system. If there are
too few buffers specified, or the buffer size is too small, the buffers may fill up faster than the data in them can be processed by the rest of the

system. If this occurs, we have whats called a buffer overrun error and some data will be lost. If the buffer size is set too large, the latency in which
data is processed will increase.
The next step is to process the data that resides in our buffers. Also the data can be formatted and written to a raw data file. This file must be
specified by the user, cheetah will only save data to this file if it has been requested to. The final check that is performed is to see if there was any
activity on the Input Port. If activity was detected an event is created.
TTL Input and Output
The Cheetah 64 has built in support for up to two bidirectional TTL ports. Systems with a maximum of 32 channels only have a single bidirectional
TTL port. The Cheetah Board Number is the value used when Cheetah assigns the device name used to reference the TTL device. For more
information, see the Digital I/O Overview.
Port Label

Cheetah Board Number

Total TTL Bits

Number of Ports

Number of Bits per Port

Port Direction

Digital I/O Port #1

0

16

1

16

Bidirectional

Digital I/O Port #2

1

16

1

16

Bidirectional

Cheetah 64 System Topics:
Cheetah 64 Properties Dialog
Cheetah 64 DA Port Control
Cheetah 64 Commands

4.3.1 Cheetah 64 Hardware Properties

Cheetah 64 Hardware System Properties
These settings are used to control how the Cheetah 64 acquisition system hardware is setup and how it process AD data before passing the data to
the acquisition entities. This also includes control over the DAC output of wave files. The hardware system properties are shown via the View menu
in Cheetah.

Cheetah 64 Hardware System Properties Dialog

1. Acquisition Entity
Name

This is the unique name that is used to identify this spike acquisition entity. It is the name you chose when you
created the acquisition entity.

2. Sample Frequency

The sample frequency for this system is 30303 Hz. This value is based on the hardware being used and cannot be
changed. All AD channels on this system will be sampled at this frequency. However, the sampling rate of
individual acquisition entities can be changed. See the help section for the type of acquisition entity whose
sampling rate you wish to change for more information.

3. Min Input Range

This is the smallest input range that this system is capable of recording. This value is based on the hardware being
used and cannot be changed.

4. Max Input Range

This is the largest input range that this system is capable of recording. This value is based on the hardware being
used and cannot be changed.

5. DMA Buffer Count

This is the number of DMA buffers used when acquiring data from the hardware.

6. DMA Buffer Size

This is the buffer size for each buffer used when acquiring data from the hardware. This is in milliseconds.

7. Raw Data File
Properties

This section will enable output of a raw data file to the file name shown in the box when the checkbox is
checked. You can change the file that is being written to by clicking on the browse button.
Selects the type of gain control to use for controlling signal amplification.

8. Amplifier Gain Type

9. Amplifier Control

1. Input Range: Adjusts the system to use optimal gain settings for both amplifiers and AD conversion in
order to acquire a signal inside of the specified input range value.
2. Amp Gain: Allows individual control of both AD and amplifier gain settings. Input Range then becomes
a calculated value and can only be changed through adjusting either of the gain values.
The curent amplifier control being used with the hardware sub system.

10. Digital to Analog Port
See Cheetah 64 DA Port Control for a more detailed description.
Control Section

4.3.2 Cheetah 64 DA Port Control

Cheetah 64 Digital to Analog (DA) Port Control
The Cheetah 64 system also offers a DA port control interface through the use of 2 BNC connectors that are part of the amplifier control cable. The
DA port can be controlled only through the use of configuration commands. The DA port has 4 different modes. They are as follows:
1. Single Value - The user may set a port to a specified value to stay constant.
2. Buffered Output - Buffered data may be stored and played at any time on the port. This is generally used for wav file playback.
3. Buffered Output Synced Start - Buffered data may be stored and played at the start of acquisition This is generally used for wav file
playback..
4. Continuous Audio - This is used only for wav file playback. The wav file that is currently selected with continuously repeat playback until
acquisition is turned off.
The DA port control for the Cheetah 64 is found on the Cheetah 64 Hardware Properties page. It can be launched from the View menu in Cheetah:

DA Port Control

1. Board Number

This is the currently selected board number for which DA Port Properties will be display. This refers to the number
of DT3010 boards that are installed in the PC. There may be at most 2 DT3010 boards used within a Cheetah setup.
The DA output mode can be one of the following:

2. Output Mode

1. SingleValue: The user may set a port to a specified value to stay constant.
2. BufferedOutput: Buffered data may be stored and played at any time on the port. This is generally used
for wav file playback.

3. BufferedOutputSynxStart: Buffered data may be stored and played at the start of acquisition This is
generally used for wav file playback..
4. ContinuousAudio: This is used only for wav file playback. The wav file that is currently selected with
continuously repeat playback until acquisition is turned off.
3. Port Index

This is the port in which a voltage may be set.

4. Port Voltage

This is the voltage that will be set to the specified port.

5. Buffer Index

This is the currently selected buffer that will be used for wav file playback. Different wav files may be set to
different buffers.

6. Wav File Selection

This will bring up the standard windows file selection dialog in order to select a wav file to be stored in the current
buffer.

7. Wave File Name

This is the name of the Wav file stored within the currently selected buffer index.

8. Playback Frequency

The playback frequency that will be used when playing the wav file. Each wav file has a sample frequency stored
in the file, however, that value may be modified for output to the DA port.

9. Play Wav File

This will start playback of the currently selected wav file.

10. Continuous
Playback Mode

This will cause the wav file to repeat playback.

4.4 Cheetah 160
Cheetah 160
Hardware Overview
The Cheetah 160 system is an analog acquisition system. The system consists of the acquisition box and Lynx 8 amplifiers. The Lynx 8 amplifiers
are used with this system to provide high and low cut filtering as well as gain control. The system also uses 2 EDT acquisition cards. One of the
EDT cards provides a command interface to the acquisition box. The other EDT card is responsible for steaming data into the PC.
Cheetah 5 no longer supports the Cheetah 160's built in video trackers. Please contact Neuralynx to obtain a new Video Tracker.
Hardware Sub System Interface
In order to retrieve data from the EDT acquisition card, a hardware sub system must be created. A hardware sub system is an object in Cheetah that

controls the acquisition of data from a specified piece of hardware, in this case the Cheetah 160 chassis. The hardware sub system has a set of
properties that control how data is retrieved and processed. The creation of a sub system can only be accessed using configuration file
commands. The -CreateHardwareSubSystem command is used to create a new hardware sub system. As part of the creation command, a name
must be given to the sub system. The name must be unique and is used to report errors or to set the properties of the sub system.
Once a sub system is set up, its first responsibility is to retrieve data from the hardware and store it in a buffer. The number of buffers used and their
size may be set using a configuration command. The number of buffers and their size can effect the performance of the overall system. If there are
too few buffers specified, or the buffer size is too small, the buffers may fill up faster than the data in them can be processed by the rest of the
system. If this occurs, we have whats called a buffer overrun error and some data will be lost. If the buffer size is set too large, the latency in which
data is processed will increase.
The next step is to process the data that resides in our buffers. When data is acquired by the Cheetah160 hardware, it is packed into a record and then
sent to the EDT interface. The data now has to be unpacked and its validity checked. The first step is to find a valid record, this is called hunting. A
couple things are checked during the hunting process to determine if a record is valid. The first thing is to check to see if the id associated with the
record is valid. The next thing is to see if the packet size is valid. The last thing that is done is a check to make sure the data has not been corrupted
. If any of these checks fail, then a hunt error is reported to the System Status Dialog. Now that we know we have a valid record, the timestamp is
checked to make sure it is incrementing. If it is not incrementing an error is generated.
The user also has the option to save the data to a raw data file. This file must be specified by the user, cheetah will only save data to this file if it has
been specifically requested. The data being saved is completely unprocessed. It has come straight from the hardware, store in a buffer and then
output to disk. The final check that is performed is to see if there was any activity on the Input Port. If activity was detected an event is created.
The record has now been validated and processed. The hardware sub system will continue to process records until acquisition is turned off.
TTL Input and Output
The Cheetah 160 has built in support for one TTL input port and three TTL output ports. The direction of these ports is not configurable. The
Cheetah Board Number is the value used when Cheetah assigns the device name used to reference the TTL device. For more information, see the
Digital I/O Overview.
Port Label

Cheetah Board Number

Total TTL Bits

Number of Ports

Number of Bits per Port

Port Direction

J500

0

16

1

16

Output

J501

0

16*

1

16

Input

J604

1

16

1

16

Output

J605

1

16

1

16

Output

* The J501 port will only read in TTL bits when the 16th bit is strobed from low to high. See the -SetDigitalIOUseStrobeBit command for more
information on how this works.

Cheetah 160 System Topics:
Cheetah 160 Properties Dialog
Cheetah 160 Commands

4.4.1 Cheetah 160 Hardware Properties

Cheetah 160 Hardware System Properties
These settings are used to control how the Cheetah 160 acquisition system hardware is setup and how it process AD data before passing the data to
the acquisition entities. The hardware system properties are shown via the View menu in Cheetah.

Cheetah 160 Hardware System Properties Dialog

1. Acquisition Entity
Name

This is the unique name that is used to identify this spike acquisition entity. It is the name you chose when you
created the acquisition entity.

2. Sample Frequency

The sample frequency for this system is 28000 Hz. This value is based on the hardware being used and cannot be
changed. All AD channels on this system will be sampled at this frequency. However, the sampling rate of individual
acquisition entities can be changed. See the help section for the type of acquisition entity whose sampling rate you
wish to change for more information.

3. Min Input Range

This is the smallest input range that this system is capable of recording. This value is based on the hardware being
used and cannot be changed.

4. Max Input Range

This is the largest input range that this system is capable of recording. This value is based on the hardware being used
and cannot be changed.

5. DMA Buffer Count This is the number of DMA buffers used when acquiring data from the hardware.
6. DMA Buffer Size

This is the buffer size for each buffer used when acquiring data from the hardware. This is in milliseconds.

7. Raw Data File
Properties

This section will enable output of a raw data file to the file name shown in the box when the checkbox is
checked. You can change the file that is being written to by clicking on the browse button.

8. AD Crystal
Frequency

This value is six times the A/D sampling rate. This frequency is determined by the electronic device (5 volt oscillator
IC) that is installed on the A/D board in the Cheetah160 box. The nominal values that have been used are
25000000 (25 MHz) and 30000000 (30MHz). This oscillator crystal frequency clocks the logic on the A/D board and
it takes 6 clock cycles to perform each A/D conversion.

9. Amplifier Gain
Type

Selects the type of gain control to use for controlling signal amplification.
1. Input Range: Adjusts the system to use optimal gain settings for both amplifiers and AD conversion in order

to acquire a signal inside of the specified input range value.
2. Amp Gain: Allows individual control of both AD and amplifier gain settings. Input Range then becomes a
calculated value and can only be changed through adjusting either of the gain values.
10. Amplifier Control This is the type of amplifier control that is being used with the sub system.

4.5 Lynx 8 Amplifier Control
Lynx 8 Amplifier Control
All analog acquisition systems are designed to use the Lynx 8 amplifiers. The interfaces for controlling these amplifiers are described below.
ACP
This form of amplifier control is done through the Measurement Computing DIO24 card.
Cheetah 160
This form of amplifier control is done through the Cheetah 160 box and is only available for use with a Cheetah 160 sub system.

4.6 Digital Reference Selector (DRS)
Digital Reference Selector (DRS) Control
DRS Overview
The DRS board is used by Digital Lynx and Digital Lynx SX systems to allow software controlled reference selection for all AD channels. When
setting up a system to use a DRS, Cheetah requires the following:
1. Each DRS is paired with a single Input Board in the slot immediately to its left (e.g. DRS in slot 1 controls references for all AD channels on
the Input Board in slot 0).

2. DRS boards must be in odd numbered slots (e.g. 1,3,5,etc.).
3. All unpaired input boards must be after all paired input boards (e.g. IIIDID is not correct, IDIDII is correct).
When using the Digital Lynx, DRS boards must be added to the system via the -AddDRSBoard command, and cannot be added through the DRS
properties dialog once Cheetah has started. Digital Lynx SX systems report their board layout to Cheetah and do not require the -AddDRSBoard
command.
Each DRS board can select from the 32 AD channels or four headstage references on the paired Input Board or the Animal and Panel ground
connectors as references. An individual DRS is limited to eight unique references at a time (Local0 - Local7).
It is also possible to share references between DRS boards via the global bus. Cheetah assumes that all DRS boards are connected via the global bus
cable that was supplied with your hardware system. There can be a total of eight global references for the entire system, regardless of the number of
DRS boards. When using a reference from the global bus on a DRS, it will use up one of the eight local references on that board. Global references
must be matched to their corresponding local reference (i.e. if AD channel 33 is set to local 0 on DRS board 3, and the DRS at board 1 wants to use
AD channel 33 as a reference, it must set its local 0 to use AD channel 33).
Cheetah will take care of managing all locals and globals via the -SetAcqEntReference command and the CSC or Spike Acquisition entity properties,
so there is no need to manually make these changes.

DRS Properties Dialog
The DRS Properties Dialog can be launched either from the Digital Lynx Hardware Properties or from either the CSC or Spike Acquisition Entity
properties.
NOTE: Only use this dialog when you wish to manually change the DRS settings. Changing acquisition entity references from either the CSC or
Spike Acquisition Entity properties will automatically adjust all settings on a DRS. These automatic adjustments take much of the complexity out of
using the DRS.

DRS Properties Settings

1. Usage Notice

This notice is to inform you about the purpose of this dialog. We do NOT recommend usage of this dialog for
normal reference setup. Use the CSC or Spike Acquisition Entity Properties for reference selection. Clicking on
the button will switch you to the Acquisition Entity Properties window.

2. Channel Range

This selects the range of channels whose reference settings you wish to change. The DRS and input board slot number
that corresponds to the selected channel range is also shown.

3. Local Selection

Each DRS allows for eight different references to be active at one time. Use the box to select which reference should be
used in each slot. Slots that are currently blank are unused.

4. AE Using
Reference

This is a list of all of the acquisition entities that are currently using the selected reference.

5. Set to Golobal

This will drive (checked) or release (unchecked) the current reference selection to the global bus. This allows for other
DRS boards to use the selected reference on their channels. There can only be one global per reference slot at a time. If
a different board is currently driving globally, the set to global checkbox will be disabled. You will need to release the
global bus from the board that is currently driving global to allow you to change the reference driving globally. To
eliminate much of the complication of global settings, it is recommended that you use either the CSC or Spike
Acquisition Entity properties to change references.

6. Close Button

Closes this window.

4.7 Digital I/O Overview
Digital I/O (TTL Input and Output) Overview
The Cheetah Data Acquisition Software (DAS) is capable of reading transistor to transistor logic (TTL) input values and outputting TTL values via
both dedicated add-on Digital I/O boards and through Neuralynx acquisition systems. TTLs can either be on (voltage applied) or off
(grounded). The actual voltage value can vary from device to device but is usually either 3.3V or 5V. Each TTL device has a specific number of
physical TTL pins, otherwise known as bits, associated with it. To allow for more flexibility in configuring how Cheetah utilizes your available TTL
bits, each TTL device has their total number of bits divided into ports (groups of TTL bits). You can then configure and use the bits on each port
independently of the bits on other ports. TTL values are timestamped along with all other data recorded by Cheetah DAS so they can be used during
both offline and online analysis. To add additional TTL devices (available with 24, 48 or 96 TTL bits) to supplement the capabilities of your
acquisition system, contact sales@neuralynx.com.
Supported Add-on Hardware
The following add-on Digital I/O boards are compatible with Cheetah. For information on Digital I/O that is built into Neuralynx hardware, see the
entry for your particular acquisition system in the Hardware Systems section of this guide. The Cheetah Device Type is the value used when Cheetah
assigns the device name used to reference the TTL device.
Device
Measurement Computing DIO-24

Cheetah Device
Type

Total TTL
Bits

Number of
Ports

Number of Bits per
Port

Max Sampling Rate

PCI-DIO24

24

3

8

1KHz*

Measurement Computing PCIe DIO-24

PCIe-DIO24

24

3

8

1KHz*

Measurement Computing DIO-48

PCI-DIO48H

48

6

8

1KHz*

Measurement Computing DIO-96

PCI-DIO96

96

12

8

1KHz*

*The maximum sampling rate is approximate, see the -SetDigitalIOInputScanDelay command for more information.
Hardware Installation
Upon receiving the DIO card, follow all of the included manufacturer’s installation and setup instructions before attempting to use it with Cheetah
DAS.
Adding the TTL Board to Cheetah
After installation and setup is complete, Cheetah DAS will automatically detect your newly installed hardware and allow you to take advantage of
your new TTL capabilities.
NOTE: If Cheetah does not detect your hardware, it means one of the following has occurred:
1. The hardware is not supported by Cheetah
2. The hardware's driver is not correctly installed or configured
3. There is a physical problem with the hardware.
Configuring the TTL Board
Before the new TTL card can be of much use, you will need to define how the TTL bits will be used. Use the Digital IO Setup dialog in order to
configure the board.
After the card has been added to the system, all TTL inputs will be recorded to event data files (NEV) just as those of your acquisition system’s built
in TTL port.
Controlling the TTL Board
Cheetah has no user interface to directly control the output capabilities of Digital I/O devices, including those built into Neuralynx acquisition
systems. You will need to create a NetCom program that sends commands or manually load a configuration file each time you want a sequence of
commands to execute. The NetCom approach is much preferred for controlling an experiment as it will not interfere with Cheetah DAS’s normal
operation. Many of our experiment control programs have the ability to send any command to Cheetah DAS. The NetComExampleCommands

example project that is included in the NetCom Development package (available at www.neuralynx.com/Software) can be used to simply send
commands to Cheetah DAS on demand. For explanations of all control and status commands, see the Digital IO Commands section of this guide.
Add-on Digital I/O Board Limitations
There are a couple of limitations that the add-on Digital I/O boards have that the digital I/O built into the acquisition systems do not. First of all, the
TTL values are not saved to a raw data file (RDF) during recording. So when the RDF is played back, you will not have any of the TTLs from the
extra board show up. Second, the sampling rate of the add-on boards is set separately from the sampling rate of the acquisition hardware. Not all
add-on boards will be able to have the same sampling rate as the acquisition hardware. See the Supported Add-on Hardware section of this page for
more information.

Additional TTL Input and Output Topics:
Digital I/O Setup
Digital IO Commands

4.8 Digital I/O Setup
Digital I/O Setup
For an overview of Cheetah Digital I/O as well as definitions of Digital I/O specific terms, see the Digital I/O Overview page.
These settings are used to control how the Digital I/O ports are setup and how Cheetah DAS process the TTL values before passing the data to the
acquisition entities or outputting the values to the TTL output port. The Digital I/O setup is shown via the View menu in Cheetah. All changes made
in this dialog are applied immediately.

Digital I/O Setup Dialog

1. Input Port List

A list of all of the ports that are currently set for TTL input. Clicking on one of the items in this list will allow you to
adjust parameters of the port as well as see more details.

2. Board Description

The description shown consists of three parts: the device name, the port number and the detailed port
description. The device name and port number will be used to identify this particular item when using Digital I/O

commands.
Example: The highlighted item in the import list above has a device name of PCI-DIO24_0, the port represented by
this item is port 1, and the detailed description informs us that this device is a Measurement Computing PCI-DIO24.
3. Scan Rate

Also known as the sampling frequency, this is the rate at which values will be written to or read from the selected
port. The sampling frequency for all Digital I/O devices that are part of an acquisition system is set by the
acquisition system and cannot be changed independently. Add-on Digital I/O devices may have their sampling rate
changed depending on the capabilities of the hardware. See the Digital I/O Overview section for more information.

4. Total Bits

The total number of bits available for this port.

5. Event Record
Generation

6. Strobe Selection

If this box is checked, event records will be generated whenever a change is made to the value of the port.*
*See the Strobe Selection item for exceptions to this rule.
Digital I/O ports that are set to input have the option of selectively capturing the value currently on that port by
strobing (a low to high TTL transition) the most significant bit (MSB) of the port (i.e. bit 7 of an 8 bit port). If this
option is checked, whenever Cheetah detects a low to high transition on the MSB, the entire value of the input port
will be read and an event record generated (if enabled, see the Event Record Generation item on this page). Any bit
changes that occur between strobes of the MSB will not generate event records. If you desire to have an event record
generated for every bit change on the input port, disable (uncheck) this option.
NOTE: The MSB will always be part of the TTL value. This means that the MSB will always be set to 1 when the
TTL value is saved to the event record.
For more detailed information as well as examples, see the -SetDigitalIOUseStrobeBit command. The checked state
indicates a TRUE value for the -SetDigitalIOUseStrobeBit command and the unchecked state is a value of FALSE.

7. Output Port List

A list of all the ports that are currently set for TTL output. Clicking on one of the items in this list will allow you to
adjust parameters of the port as well as see more details.

8. Make Output

Changes the direction of the item selected in the Input Ports list from input to output. If the item cannot be changed,
a message will be shown explaining why the change could not take place at that time.

9. Make Input

Changes the direction of the item selected in the Output Ports list from output to input. If the item cannot be
changed, a message will be shown explaining why the change could not take place at that time.

10. Pulse Duration

The amount of time that a pulsed bit will remain in the pulsed direction when a TTL pulse is generated on one of the
bits in this port. See the -SetDigitalIOPulseDuration and -DigitalIOTtlPulse commands for more detailed
information as well as examples.

11. Close

Closes this window.

5. Acquisition, Recording and Status
Acquisition Recording and Status Overview
The Cheetah software's primary purpose is to acquire and record data. Cheetah starts out in idle mode. When Cheetah is not acquiring any valid
operation may be executed within the Cheetah software. This is usually when the hardware sub systems, acquisition entities and plots are being
setup. Once Cheetah has been successfully configured, acquisition may be turned on. When acquisition is turned on, data will begin to move
through the Cheetah software. Data will be acquired from the appropriate interface, filtered, put into records, displayed and sent over NetCom if
requested. While acquisition is on, additional hardware sub systems and acquisition entities may not be added to the Cheetah system. Plots and
windows however may be added or removed at any time. When acquisition is on, data is moving through Cheetah, but none of the data is being
saved. Turning on recording then saves all data to disk.
The current system status can be monitored using the system status dialog. This dialog can be moved around and hidden if you want it out of the
way.

Acquisition, Recording and Status Topics:
Acquiring With Cheetah
Recording With Cheetah
System Status Dialog
Acquisition and Recording Commands
System Status Dialog Commands
Generic Dialog Commands

5.1 Acquiring Data
Starting and Stopping Acquisition
Starting and stopping acquisition can be done in a variety of ways. The first way is to use the main menu. Under the Acquisition menu, the user may
select Start/Stop Acquisition to toggle acquisition on and off.

Another way to toggle acquisition is to use the mouse to press the ACQ button location on the upper left portion of the System Status dialog. If the
ACQ button is green, then acquisition is currently on, otherwise, acquisition is currently off. Regardless of how acquisition is being turned on or off,
the ACQ button will always display the current state of acquisition.

Acquisition is
off. Cheetah
is idle.

Cheetah is
acquiring data,
but not
recording data.

Cheetah is recording
data. Recording must be
stopped in order to turn
off acquisition.

In Windows 7, Cheetah's taskbar icon will also have an overlay indicator to indicate the current acquisition state:

Both Recording and
Acquisition are off

Cheetah is
acquiring data.

Acquisition can also be toggled by using hot keys. The hot key combination of CTRL+A will toggle acquisition based on the current state.
The final way that acquisition can be turned on or off is by using a Cheetah command. There are two commands that can be used. One to turn on
acquisition and one to turn off acquisition. These commands are as follows:
-StartAcquisition
-StopAcquisition
See the Cheetah Control Commands section for more information.
These commands may be part of a configuration file that is being processed or they may be sent to Cheetah via the NetCom interface from an

experiment control program. As a general practice, these commands are sent via NetCom, since configuration files are mainly used for setup
purposes.
Note: If acquisition is not currently turned on, it will be turned on automatically when recording is started. Recording must be stopped before
acquisition can be turned off.

5.2 System Status
System Status Dialog

The system status dialog will allow you to see the status of Cheetah while recording or acquiring. The system status dialog can be launched from the

View menu of Cheetah:

Single Line Information

1. Acquisition Toggle and
Status

When this indicator is grey, Cheetah is not acquiring any data. Clicking on the acquisition toggle when the
indicator is grey will start acquiring data. When Cheetah is acquiring, the indicator will turn green. Clicking on
the acquisition toggle when the indicator is green will turn off acquisition.

2. Recording Toggle and
Status

When this indicator is grey, Cheetah is not recording data to a file. Clicking on the recording toggle when the
indicator is grey will start recording data to a file. When Cheetah is recording, the indicator will turn
purple. Clicking on the recording toggle when the indicator is purple will turn off recording. No data will be
saved if Cheetah is not in recording mode.

3. Timestamp Clock

This is the current Cheetah timestamp displayed in seconds. This is obtained from the hardware system and does
not have a consistently defined start time. Use the current session status section of this window to determine
how long Cheetah has been acquiring or recording.

4. Logged Errors

Displays the number of errors that have been logged to the logfile since the last time the counter was reset. The
logfile provides details on the errors that have occurred. To view the logfile, click on the logged errors button
and select "View Logfile". To reset the error count back to zero, click the logged errors button and select "Reset
Logged Error Count".

This indicator will turn red every time a ring buffer error occurs. A ring buffer error occurs when a part of the
acquisition system is overloaded and can't get the required resources to handle all the data that needs to be
5. Ring Buffer Error Status
processed. To reset the ring buffer error count, click the button and select "Reset RB Error Count". For more
details on the ring buffer errors that have occurred, see the Error Counts section of this window.
6. Hunt Error Status

This indicator will turn red every time a hunt error occurs. A hunt error occurs when cheetah is receiving data
packets from a hardware interface and has found data in the packet that is corrupt. When this occurs, the data

packet is discarded. To reset the hunt error count, click the button and select "Reset Hunt Error Count". For
more details on the hunt errors that have occurred, see the Error Counts section of this window.
7. Show/Hide Details
Button

Clicking on this button when it says "Show Details" will expand the acquisition system status window to show a
more detailed view of the current system status. Clicking on the button when it says "Hide Details" will change
the window to single line mode.

Detailed View
Current Session Status

1. Start Date and
This is the exact time and date of the last time Cheetah began acquiring.
Time of
Acquisition
2. Start Date and
This is the exact time and date of the last time Cheetah began recording.
Time of
Recording
3. Hard Disk
Usage

The disk usage is shown as a percentage of used space on the hard drive where the data directory is located. In the above
image, it shows that 216.5 gigabytes(GB) out of a total of 298GB are used. The higher this number, the less space you have
left on your system. If this percentage is ever over 90%, you should change the data directory to a different hard drive,
delete old data and unused programs, or get more storage space for your computer.

4. Connected
NetCom Client

This is the name of the NetCom client program that is connected to Cheetah. If no program is connected, this will show
"Not Connected" (as seen above).

5. Current Data
Directory

This shows the current directory for all active data files. Any time you start recording in Cheetah, the data will be written to
files in this directory. The only exception is if you specify a specific path for an individual file (i.e. C:\csc1.ncs).

6. Elapsed Time

This is the elapsed time in hours, minutes and seconds since the last time Cheetah began acquiring. If Cheetah is not

of Acquisition

acquiring, this will show the duration of the last recording session.

7. Elapsed Time
of Recording

This is the elapsed time in hours, minutes and seconds since the last time Cheetah began recording. If Cheetah is not
recording, this will show the duration of the last recording session.
Clicking on this button will bring up a window where you select the base data directory for Cheetah. Selecting a directory
in this window and pressing OK will close all open files in the old data directory; make a directory inside of the one you just
selected based on the current time, and finally open a new version of all files that were in the old data directory. If a file
was open that was not in this directory, that file will continue to be recorded to at the same location. This can only be
changed while Cheetah is idle.

Example: Your current data directory is C:\CheetahData2\2007-02-21_10-58-27, and you have the file CSC1.ncs open in
that directory. You also specified that CSC2 will write to a file called C:\CSC2.ncs. You then click on the change data
directory button and select C:\NewDataDirectory and click OK. Cheetah will create a directory called
C:\NewDataDirectory\YYYY-MM-DD_HH-MM-SS (the hours will be in a 24 hour format) where the date and time will be
8. Change Data
filled in by the current date and time. Cheetah will then create a file called CSC1.ncs in this new directory with no data in
Directory Button it. Your logfile will be copied to the new directory. The next time you record, all data will go to the new
directory. However, no change will be made to the C:\CSC2.ncs file, as it was not located in the old data directory.
The data directory can also be changed from the Acquisition menu of Cheetah's main window.

System Message History

Only messages whose type has a check mark (filter is On) by it in the message filters list will be shown in the
history list. All messages are passed through the message filters before being sent to the message history. If the
message makes it through the filters, it will be displayed in the message history. Changes in the filter settings
will have no effect on messages that have already been through the filtering process.
Cheetah allows you to filter the following messages:

1. Message Filters

2.Clear Button

1. Fatal: All messages tagged as FATAL will be affected. Fatal messages are unrecoverable, and Cheetah
should be restarted.
2. Error: All messages tagged as ERROR will be affected. Error messages are for errors in commands,
incorrect keywords or values, or intermittent problems with a portion of the system
3. Warning: All messages tagged as WARNING will be affected. Warning messages indicate that
something happened out of the ordinary, but was handled by Cheetah.
4. Notice: All messages tagged as NOTICE will be affected. Notices provide status information about
Cheetah. These messages are purely informational.
5. Data: All messages tagged as DATA will be affected. Data messages are not generated by
Cheetah. These message types can be used to log information to the log file. However, if you will use
these messages for analysis, you would be better off posting an event with the message as the event string.
Clicking this button will clear all messages in the message history list. All of these messages are present in the
log file, so you will not be clearing all records of these messages.

3.View Logfile Button

The message history will not show all messages that have occurred since Cheetah was started. It will only show
the last 50 messages that were allowed by the filter selections. Clicking on the view logfile button will allow you
to see a complete list of messages generated by Cheetah, regardless of the message filter settings. Remember, a
new logfile is started when you change data directories.

4. Timestamp

Every message displayed in the message history list will have the Cheetah timestamp for when the message was
generated displayed in this column.

5. Message Type

This will be one of the types listed in the message filters section.

6. Message

The complete message text that was generated by Cheetah.

Error Counts

1. STX

STX is a value used to identify the start of an AD Record. STX values are used when transmitting data in order
to help detect and recover from corrupt data. If this error occurs, then at least 1 AD Record has been lost.

2. ID

The ID is a value used to identify the AD Record type when processing data. It also helps detect when data has
been corrupted. If this error occurs, then at least 1 AD Record has been lost.

3. Size

The size represents the AD data portion of an AD Record. The size is validated by comparing it to the expected
size that is calculated in cheetah. This error is generally caused by the number of input boards being set
incorrectly. An invalid size value may also indicate that the AD Record has become corrupt. If this error
occurs, then at least 1 AD Record has been lost.

4. ETX

The ETX is a value used to identify the end of an AD Record. ETX values are used when transmitting data in
order to help detect and recover from corrupt data. If this error occurs, then at least 1 AD Record has been lost.

5. Data STX

The Data STX is a value used to identify the start of the data section of an AD Record. Data STX values are
used when transmitting data in order to help detect and recover from corrupt data. If this error occurs, then at
least 1 AD Record has been lost.

6. CRC

The CRC is a value used to validate the contents of a data packet. If this error occurs, then at least 1 AD Record

has been lost.
7. Timestamp

The timestamp value used to identify and validate the contents of an AD Record. The timestamp is also used to
determine if any AD Records have been lost. If this error occurs, then at least 1 AD Record has been lost.

8. Records Lost

This value represents the number of records that were expected but not found during data processing.

9. Direct Memory Access
(DMA) Sequence Errors

Direct memory access or DMA refers to memory buffers used to store data as soon as it is received from a
hardware interface. This error occurs if buffers are received out of order or invalid. If this error occurs, then at
least one buffer was lost.

10. Filter Data

A ring buffer containing raw unfiltered data has overflowed. If this occurs, all data within the ring buffer has
been lost. This error is due to a lack of resources being available to process the buffer in real time.

11. Filter Timestamp

A ring buffer containing timestamp data has overflowed. If this occurs, all data within the ring buffer has been
lost. This error is due to a lack of resources being available to process the buffer in real time.

12. Video Ring Buffer

A ring buffer containing video records has overflowed. If this occurs, all data within the ring buffer has been
lost. This error is due to a lack of resources being available to process the buffer in real time.

13. Events Ring Buffer

A ring buffer containing event records has overflowed. If this occurs, all data within the ring buffer has been
lost. This error is due to a lack of resources being available to process the buffer in real time.

14. Disk Ring Buffer

A ring buffer containing data records has overflowed. The data records can be any of the data types used by
Cheetah. If this occurs, all data within the ring buffer has been lost. This error is due to a lack of resources
being available to process the buffer in real time.

15. NetCom Ring Buffer

A ring buffer containing data records has overflowed. The data records can be any of the data types used by
Cheetah. If this occurs, all data within the ring buffer has been lost and will not be able to be sent to any of the
client applications that may be currently connected to Cheetah. This error is due to a lack of resources being
available to process the buffer in real time.

16. Display Ring Buffer

A ring buffer containing data records has overflowed. The data records can be any of the data types used by
Cheetah. If this occurs, all data within the ring buffer has been lost and will not be displayed in any of the plots
associated with the ring buffer that has overflowed. This error is due to a lack of resources being available to
process the buffer in real time.

17. Vertex Ring Buffer

A vertex buffer has reached its maximum capacity for drawing data for the current screen refresh. All data that
is received after the buffer has become full will be discarded. This error will also occur if data has been
calculated to draw incorrectly to the screen.

5.3 Recording Data
Starting and Stopping Recording
Starting and stopping recording can be done in a variety of ways. The first way is to use the main menu. Under the Acquisition menu, the user may
select Start/Stop Recording to toggle recording on and off.

Another way to toggle recording is to use the mouse to press the REC button location on the upper left portion of the System Status dialog. If the
REC button is purple, then recording is currently on, otherwise, recording is currently off. Regardless of how recording is being turned on or off, the
REC button will always display the current state of recording.

Recording is
off.

Cheetah is recording
data.

In Windows 7, Cheetah's taskbar icon will also have an overlay indicator to indicate the current recording state:

Both Recording Cheetah is
and Acquisition acquiring
are off
data.

Cheetah is
recording
data.

Recording can also be toggled by using hot keys. The hot key combination of CTRL+R will toggle recording based on the current state.

The final way that recording can be turned on or off is by using a Cheetah command. There are two commands that can be used. One to turn
on recording and one to turn off recording. These commands are as follows:
-StartRecording
-StopRecording
See the Cheetah Control Commands section for more information.
These commands may be part of a configuration file that is being processed or they may be sent to Cheetah via the NetCom interface from an
experiment control program. As a general practice, these commands are sent via NetCom, since configuration files are mainly used for setup
purposes.
Note: If acquisition is not currently turned on, it will be turned on automatically when recording is started. Recording must be stopped before
acquisition can be turned off.

6. Raw Data Files
Raw Data Files
A Neuralynx raw data file is a single data file that contains all acquired data from a single hardware device. The raw data file consists of data that
has been filtered by analog amplifiers only (if applicable). The data has not been sub sampled or run through any other type of filter. The data has
also not been run through a spike detection algorithm. Raw data files can be played back through Cheetah as a means of recreating the experiment
that was performed. This allows the user to try various filtering techniques on the raw data. Raw data files can only be setup through configuration
commands.
Raw Data File Topics:
Recording Raw Data Files
Raw Data File Playback
Raw Data File Commands

6.1 File Playback with Cheetah

Raw Data File Playback
The raw data file hardware sub system has the ability to playback previously recorded raw data files. In order to playback a raw data file, the data
file name must be set inside the hardware sub system. In order to do this, a filename can be set as the last argument for the CreateHardwareSubSystem command. If this argument is not set, when processing this command, a file selection dialog box will appear allowing
the user to select a file name. If a file is not selected the hardware sub system creation will fail. Once a file has been set, starting acquisition will
read data from the raw data file and push it through the Cheetah system. The data playback rate is not set to a specific value. It is based upon the
processing speed of the PC and can be modified by adjusting DMA buffer size (see below). A larger buffer size value will increase data file
playback, while smaller buffer sizes will decrease data file playback. When the end of the file is reached, data will stop being sent through the
system. There is an option to continuously play data back from the data file. By using the -SetContinuousRawDataFilePlayback command,
whenever the end of file is reached, acquisition will stop and then restart itself. Whenever acquisition is started, data is always read from the start of
the file regardless of the file position when acquisition was last stopped.
You can access the settings are used to control how the raw data file playback is setup and how it process AD data before passing the data to the
acquisition entities. The hardware system properties are shown via the View menu in Cheetah.

Raw Data File Playback Hardware System Properties Dialog

1. System Name

This is the unique name that is used to identify this system in Cheetah. It is the name you chose when you created the
hardware system.

2. Sample Frequency

The sample frequency for this system is read from the raw data file. This value is based on the hardware that was
being used when recording the raw data file and cannot be changed. However, the sampling rate of individual
acquisition entities can be changed. See the help section for the type of acquisition entity whose sampling rate you
wish to change for more information.

3. Min Input Range

This is the smallest input range that the system used to record this data file was capable of recording. This value is
based on the hardware being used to record the raw data file and cannot be changed.

4. Max Input Range

This is the largest input range that the system used to record this data file was capable of recording. This value is
based on the hardware being used to record the raw data file and cannot be changed.

5. DMA Buffer Count This is the number of DMA buffers used when acquiring data from the hardware.
6. DMA Buffer Size

This is the buffer size for each buffer used when acquiring data from the hardware. This is in milliseconds.

7. Raw Data File
Name

This section will show the raw data file that is currently being played back. This value cannot be changed. You will
have to change the file name used when creating the raw data file hardware sub system and restart Cheetah in order to
change the file being played back. For more information on setting up raw data file playback, see Raw Data
File Commands.

8. DSP Delay
Adjustment

When DSP delay adjustment is enabled (box is checked), the timestamps for all spike and CSC records will have the
DSP delay subtracted from the original Cheetah timestamp in order to compensate for the delay caused by the DSP
filters. This is a system wide setting and it cannot be selectively enabled on specific acquisition entities. For more
information see the -SetDSPDelayCompensationEnabled command.

9. Channel Count

This is the number of channels that were recorded to the raw data file. This value is read from the file and cannot be
changed. When setting up acquisition entities, they cannot have an AD channel number greater than channel count - 1

(i.e.If Channel Count is 32, as shown above, the last AD channel is channel 31).
10. Strobe Bit 15
Selection

Sets the sub system to use bit 15 for event input. This means that Cheetah will only read TTL input events when bit
15 of the TTL input port is toggled. This setting only affects TTL values that were recorded to the raw data file, as
TTL values are not read from connected hardware systems when playing back a raw data file.
Continuous playback can be in either of the following states:

11. Continuous File
Playback

1. Checked: Sets Cheetah to continually loop the current raw data file. Once Cheetah is done processing the file,
it will immediately restart the same file from the beginning. This setting is mainly used for presentation or
testing purposes. It is not intended for data collection use.
2. Unchecked: Cheetah will process all the data from the current raw data file once, and then turn off acquisition
and recording. The file can be restarted by starting acquisition again.

6.2 Recording a File
Recording Raw Data Files
All hardware sub systems that acquire data from a hardware device have the ability to write that acquired data out to a raw data file. There is a single
command that is needed to enable this functionality. Each hardware sub system default setting consists of not writing a raw data file. In order to
enable this functionality, the -SetRawDataFile command must be used. This command will set the filename of the raw data file to be used. The raw
data filename may also be set from the hardware sub system properties dialog. Once that filename is set, whenever recording is turned on, the raw
acquisition data will be written to the specified file. One thing to be aware of is that because this is a raw data file that is saving data from every ad
channel in the system, for larger channel counts and higher sampling frequencies, this file has the ability to become very large in size. It is important
to monitor the amount of free disk space that the PC has so that the disk does not become completely full.
Note: For Cheetah 64 systems a raw data file is written for each DT3010 board in use. Therefore if 2 DT3010 boards are installed in your PC, there
will be 2 raw data files that will be written two. One data file contains data for the first 32 AD channels and one data files contains data for the last
32 AD channels.

7. Properties Page
Properties Page

Cheetah has many different configuration options that you can customize for your specific experimental needs. To make all this configuration
options a little easier to navigate, Cheetah has the Properties Page. The following items will assist you in utilizing this hub of Cheetah options.
Properties Page Topics:
Navigating the Properties Page
How to Make Global Changes
Generic Dialog Commands

7.1 How to Make Changes to Multiple Items at Once
How to Make Changes to Multiple Items at Once
If you only have a few channels on your system, or are just tweaking a couple tetrodes of your setup, then changing each item individually is
probably the best option. But what if you have a 320 channel Digital Lynx system and want to change the low cut filter for all 320 channels? The
Properties Page allows you to accomplish this by making changes on groups of items. Each of the tabs of the property page will give you different
multiple item change options, by grouping items differently. The same rules that apply to making a change on a single item also apply to multiple
item changes. Here is an overview of how to make multiple item changes:

Global Selections
The Properties Page places items in a tree into groups based on shared properties of the items. Changing all items in a group is referred to as a global
change.
1. Click on a root node of the tree view. All of the items underneath the root node will be affected when a property is changed.

When the Properties Page Acquisition Entities tab is selected, all of the
items are grouped by their acquisition entity type. Selecting a type allows
you to globally change the properties of all of the acquisition entities of
the selected type

When the Properties Page Display tab is selected, all of the items are
grouped by their Plot Window. Selecting the window allows you to
globally change all plots and the properties of the acquisition entities
whose plots are in the window.

2.
If the root node contains items with differing properties, you will see the items broken down into sub trees. Selecting a sub tree will allow you
to apply global changes to all the items in the sub tree. There are options that can be globally set when selecting a sub tree that are not
available when selecting a root node. For instance, in the below image you will be able to change all of the CSC properties of the items below
CSCs. If "Time Window 1" were selected, only the window and plot properties could be changed.

3.

4. Not all properties are available when trying to make a global change. If a property is unavailable, for any reason, it will will either be grayed
out or not shown. The headers of all sections that are under global control will have **GLOBAL** added to the front of the section title, and
all status information will have be changed to the word GLOBAL. Any changes you make will automatically change all of the items beneath
your current selection in the tree view. All of the rules that apply to changing a single item also apply to changing multiple items. You will
want to see the reference guide entry for the specific item type you are trying to change for more information on that setting.

Multiple Selections
If changes to only a few particular items are desired, you can select only the items that you want to change. As with global selections, not all options
are available when multiple items are selected. If an property is unavailable, it will either be grayed out or not shown. The values shown in the
properties are those of the most recently selected item.
Cheetah supports standard Windows multi-select semantics, using the Ctrl and Shift keyboard modifiers.

Holding down the Ctrl key and left clicking the mouse will allow you to
select individual items without selecting items in between. Clicking on an
already selected item will deselect the clicked item. Attempting to select
an item in a different subtree will deselect all previously selected items.
In the above image, selecting CSC1 will deselect SE2, SE4 and SE6. If
using the up and down arrow keys to select items, there is no difference
between using the Ctrl and Shift modifiers.

After selecting an initial item, you can hold down the Shift key and left
click the mouse on a second item to select all items between them. The
above selection was made by clicking on SE2, holding down Shift and
then clicking on SE5. Attempting to select an item in a different subtree
will deselect all previously selected items. In the above image, selecting
CSC1 will deselect SE2, SE3, SE4 and SE5. If using the up and down
arrow keys to select items, there is no difference between using the Ctrl
and Shift modifiers.

7.2 Navigating the Properties Page
Properties Page
The Properties page will allow you to view and update the current settings that Cheetah is using for all plot windows, plots and acquisition entities. It
can be launched from the View menu of Cheetah:

There are also multiple ways to view the Properties Page from the plots and plot windows. This varies by type, see the reference guide entry for the
plots and plot windows of the specific type you wish to change.

Properties Page Overview

1. Acquisition Entities Tab

Clicking on this tab will sort all acquisition entities in the system by type. Only the properties in the
acquisition entity properties section will be available when this tab is selected.

2. Display Tab

Clicking on this tab will sort all of the plots in the system by the plot window that contains them. All of the

properties sections are shown when this tab is selected. Any acquisition entity that does not have an
associated plot will not be able to be edited when this tab is selected, and will have to be edited from the
acquisition entities tab
3. Root Node

The root node is used to group items based on which tab is selected. You can expand and collapse the items
beneath the root node by clicking the + and - next to the root node. Selecting a root node will allow you to
make global changes (See How to Make Global Changes).

4. Sub Tree

If a root node contains sub items that have different properties, the root node will have one or more sub tree
categories. Selecting one of the sub trees allows you to make global changes to just the items in the sub
tree. Certain options may be globally changed when selecting a sub tree that are not available when
selecting a root node(See How to Make Global Changes).

5. Sub Item

These are the individual items available for property modification. Clicking on a sub item shows all of the
properties for that sub item in the properties sections, and allows you to change its properties. The name
shown here is the name of the acquisition entity (in the case of plots it is the AE that the plot represents, the
plot label will be shown after the AE name, if a plot label has been set).

6. Plot Window Properties
Section

This section will show all of the properties for the plot window that is associated with the currently selected
item.

7. Plot Properties Section

This section will show all of the properties for the plot that is associated with the currently selected item.

8. Acquisition Entity Properties
Section

This section will show all of the properties for the acquisition entity that is associated with the currently
selected item.

8. Continuously Sampled Channels
Continuously Sampled Channel (CSC) Acquisition Entity Overview
CSC acquisition entities will continuously process the incoming AD data from the hardware system. Filters and amplification can be applied to the
signal, but no special signal or event detection is done. CSC AEs can only process signals from a single AD channel. CSCs are normally used to
monitor EEG or some external analog signal, such as an eye tracker. CSC acquisition entities must be created from Cheetah commands; see the CSC
acquisition entity commands link below for more information.
CSC Topics:
CSC Acquisition Entity Properties

Time Windows
Time Plots
CSC Acquisition Entity Commands
Time Window Commands
Time Plot Commands

8.1 AE Properties
Continuously Sampled Channel (CSC) Acquisition Entity Properties
These settings are used to control how the CSC acquisition entities process AD data and what it does with the data after processing. The acquisition
entity settings are shown on the properties page when a time plot or CSC AE is selected in the properties tree.

CSC Acquisition Entity Settings

CSC Acquisition Entity General Settings

1. Acquisition Entity Name

This is the unique name that is used to identify this acquisition entity. It is the name you chose when you created
the acquisition entity.

2. Sub System Name

This is the name of the recording system from where this acquisition entity will receive its data.

3. Sampling Frequency

This is the rate at which Cheetah is sampling data for this acquisition entity.

4. A/D Channel Number

This is the channel on the acquisition subsystem where data is obtained for this CSC acquisition entity.
This command allows you to record data for a particular acquisition entity at a lower sampling rate than other
acquisition entities. The sub sampling interleave tells Cheetah to process only every Nth (where N is the Value
specified) sample obtained from the recording hardware. This can also be seen as a sampling divisor. This setting
cannot be changed while Cheetah is recording.

5. Sub Sampling Interleave

The value must be between 1 and 128 for CSC acquisition entities.
Example: A Digital Lynx system normally samples all channels at 32000 Hz. Suppose you want to
sample CSC1 at 8000 Hz. You would type 4 in the box and hit enter. This will only process every 4th sample,
giving an effective sampling rate of 8000 Hz.

6. Input Inversion Setting

Cheetah will automatically invert incoming AD data before it is processed if this box is checked, and will
not adjust the polarity of the incoming AD data if this box is not checked. Unadjusted signals are shown with
positive voltage in the up direction.

7. Acquisition Entity
Processing Enable

Enables (checked) or disables (unchecked) the processing of data by the acquisition entity. If record processing is
disabled, records will not be able to be displayed, sent to NetCom or saved to a file. Raw data file processing will
still occur if it is enabled (see -SetRawDataFile). When processing is disabled, the Write Records to File setting

is disabled. If acquisition entity processing is toggled during acquisition, CSC record timestamps may no longer
be aligned between CSC acquisition entities. CSC records for all acquisition entities are always realigned when
acquisition is started.
When this box is checked, all CSC records will be saved to the file that is shown right beneath this check
box. Removing the check next to this setting will disable CSC record file writing. When file writing is disabled,
8. Data File Output Setting
you will still be able to see visual representations of the records on the time plots, as well as be able to receive
records via NetCom. However, no information will be permanently saved while you are recording.

9. Input Range Setting

Here you will be able to change the value of the input range this CSC acquisition entity. This value will be in
microvolts and its range is based upon the hardware sub system that is in use The input range will always be
from the negative of this number to the positive (i.e. in the above image, the input range is from -1000 to 1000
microvolts). This value cannot be changed while Cheetah is recording. These settings will only be enabled if
using Input Range as the Amplifier Gain type (See Cheetah64 or Cheetah160 Properties).

10. Amp and AD Gain
Settings

When using digital acquisition systems, only input range adjustment is available. Analog systems allow you to
adjust the individual gains of both the external amplifier and the AD conversion device directly. You should only
use this option if you need direct control over these values. Since the Lynx8 amplifiers have discrete gain values,
if the value entered is not one of those values, it will be changed to the closest discrete value available. In
general, using the input range to adjust amplifications will give you a better signal than adjusting the gain values
separately. This value cannot be changed while Cheetah is recording. These settings will only be enabled if
using Amp Gain as the Amplifier Gain type (See Cheetah64 or Cheetah160 Properties).

11. Reference Selection

Allows you to select the reference to use for this acquisition entity This control is only shown if your system
supports software controlled reference selection. Only references currently allowed by the referencing hardware
will be shown in this list. If a reference you wish to use is not shown in this list, you can select More Reference
Options... from the list to launch the DRS Properties dialog. If an acquisition entity shares one of its AD channels
with other acquisition entities, the reference for all acquisition entities using that AD channel will be changed. In
the case of tetrodes and stereotrodes, this will involve more than one AD channel.
Example: CSC1's source is AD Channel 0 and TT1's sources are AD Channels 0, 1, 2 and 3. If the reference for
CSC1 is changed to Animal Ground, not only will AD channel 0 change its reference to Animal Ground, but so
will AD Channels 1, 2 and 3. This happens because all channels on TT1 must use the same reference.

12. Filter Settings

See the CSC Acquisition Entity Filtering Setup for more information.

CSC Acquisition Entity Filtering Setup
Depending on your hardware system, you can filter signals in Cheetah two different ways. Analog filtering is done using external amplifiers that are

controlled by Cheetah. Analog filtering physically filters the signal before it is sent to the computer. DSP filtering is only used on digital Neuralynx
hardware systems. DSP filtering uses the computer to filter signals, and does not physically change the signal before it is processed by Cheetah. The
appropriate filter settings are displayed based on the hardware system that is being used with Cheetah.

Analog Systems

1. Low and High Cut
DSP Filter Enable

Digital Systems

Cheetah has the ability to process all signals using digital signal processing (DSP). Checking this box will turn the
high cut (low pass) and low cut (high pass) DSP filter on (checked) or off (unchecked) for the specified acquisition
entity. Changing the enabled sate does not affect the actual filter value of the DSP filter, it simply enables or
disables the filter. All channels of an acquisition entity are filtered using the same settings. Disabling DSP filtering
can be used to alleviate CPU load on high channel count systems or older computers. When the box is unchecked
(disabled), you will not be able to change the filter value or number of taps.
The settings for the low cut filters differ depending on what type of acquisition system you are using.

2. Low and High
Cut Filter Value

1. Digital Systems: Sets the frequency that Cheetah will use for the high cut (low pass) or low cut (high pass)
digital signal processing (DSP) filter on all channels of the specified acquisition entity. The filter frequency
has no effect if high cut filtering is disabled. High cut filters will only allow signals whose frequency is
below this value to be recorded by Cheetah and low cut filters will only allow signals whose frequency is
above this value. DSP filters have no effect on data being written to a raw data file (see SetRawDataFile). This value is in hertz, and can be any value (including decimal values) between 0.1 Hz
and 10000.0 Hz.. This value can only be changed when DSP filtering is enabled.
2. Analog Systems: Sets the frequency that Cheetah will use for the high cut (low pass) or low cut (high pass)
analog filter on all channels of the specified acquisition entity. Low cut filters will only allow signals whose
frequency is between the values of the high and low cut filters to be digitized by Cheetah. Analog filters will
affect data being written to a raw data file (see -SetRawDataFile), as they are active prior to the signal being
digitized. The filter value options are based on the filters available on the Lynx-8 amplifier.

3. Low and High Cut
DSP Filter Taps

Digital signal processing (DSP) taps determine the amount of rolloff for the DSP filter. If you notice the cut filter is
allowing signals that are too far beneath (low cut) or above (high cut) your setting to be processed by Cheetah, you
may want to increase (low cut) or decrease (high cut) this value. Cheetah will normally select a tap value that is
appropriate for the specific filter frequency. Lowering the number of taps can be useful to alleviate CPU load on
large channel count systems or older computers. This value can only be changed when DSP filtering is enabled. If
the frequency value is changed to a value that is not available with the current number of taps, Cheetah will change
the number of taps to the closest appropriate value.
Shows the type of DSP filter being used by Cheetah for the given filter frequency. This can be one of the following:
1. FIR: A finite impulse response filter is being used to filter the data.
2. DCO: Uses a running average to remove the DC component from the AC signal.
3. None: No DSP filtering is being applied to the incoming data.

4. Low and High Cut
DSP Filter Type

5. DSP Delay

The delay introduced by the current DSP filter settings. For more information on DSP delay see the SetDSPDelayCompensationEnabled command.

6. Delay Compensation

Displays whether DSP delay compensation is enabled or disabled. For more information on DSP delay see the SetDSPDelayCompensationEnabled command.

8.2 Time Windows
Time Windows
Creating a Time Display
When an acquisition entity is added to your system, no display is created for it. In order to see what the a time based view of what an AE is doing,
you need to create a time window and then add a plot for the AE. Currently time windows can display CSC, Spike and Event acquisition entities.
You can create a time window from the Window menu on Cheetah's main window.

You will then get a new, empty time window. To add a plot to the window you can either use the Display menu of the new window or right click
anywhere in the window and select Add Plot(s). You will then see the Acquisition Entity Selection dialog. Select one or multiple (by holding down
Shift or Ctrl, just like multi-select in Windows) AEs and click the Add Acquisition Entities button to add plots.

Time Window Overview
This section will give you a general overview of each of the parts of the Time window. There are more detailed descriptions of some of the sections
after this overview.
Time windows have the concept of a current plot. This plot is indicated by a purple plot title bar and the name of the plot shown in the window's title
bar. In the following image, the current plot in Time Window 1 is Events. When a plot is current, all plot specific menu options and keyboard short
cuts will be directed at that plot (i.e. setting the audio source). A plot can be made current by clicking on it. When a new plot is added, it is
automatically set to the current plot.

1. Title Bar

The time window title bar will always display the name of the window along with the name of the currently
selected plot in this window. Additional information can also be displayed in the window's title bar, such as
whether or not the window is frozen.

2. File Menu

This menu will expand to show some common window tasks. See the detailed description of the time window's

file menu.
3. Display Menu

This menu will expand to allow you to manipulate some of the display aspects of the time window. See the
detailed description of the time window's display menu.

4. Audio Menu

This menu will expand to allow you to manipulate the audio output settings in Cheetah. See the detailed
description of the Spike window's audio menu.

5. Plot Title Bar

Each time window has a single plot title bar for all plots.

6. Plot Area

This area will contain the time plots for this window. Time plots can either be in maximized (only one plot is
visible ) or normal (all plots in this window are visible). For more information on the time plot, see the time plot
description.

7. Close Window

Clicking on this X will close a window, exactly as it does for all Windows programs. Closing a window will
destroy the window. This means that when you close a window, all of the display settings you have changed and
plots you have added to the window will be lost.

8. Maximize Window

Clicking this button behaves the same as it does for all Windows programs on your system.

9. Minimize Window

Clicking this button will minimize this window to the bottom of the screen. It will not minimize this window to
the taskbar as it does with most Windows programs.

Time Window File Menu

1. Save Window
Configuration To File

Saves the window, plot and all of their current settings to a configuration file. This file can be reloaded at any
time. However, the acquisition entity associated with the plot must exist, and a window with the same name must
not exist. This does not save the current hardware or acquisition entity settings.

2. Close Window

Clicking on this menu option will close a window, exactly as it does for all Windows programs. Closing a
window will destroy the window. This means that when you close a window, all of the display settings you have
changed and plots you have added to the window will be lost. After you click the close button, a message box
will be shown where you will confirm that you want to destroy the window.

Time Window Display Menu

1. Add Plots

Clicking this menu option will allow you to add a time plot to this window. When you select add plot, you will see the
Acquisition Entity selection dialog. This dialog will have a list of available acquisition entities that can be used to create a
plot and add it to this window.

2. Remove Plots

Clicking this menu option will allow you to remove time plot(s) from the window. When you select remove plot, you will
see the Acquisition Entity selection dialog. This dialog will have a list of all the plots currently in the time window. The
user may select any number of plots to be removed

3. Plot Type
Selection

This menu item contains a sub menu listing the plot types available. See Plot Type Selection under the Time Window
Properties section for more details.

4. Spread Type
Selection

This menu item contains a sub menu listing the spread types available. See Spread Type Selection under the Time Window
Properties section for more details.

5. Zoom All
Plots

This menu item contains a sub menu listing the various zoom settings. There are 4 choices for that sub menu. They are 1x,
2x, 4x and 8x. The zoom factor is a multiplication of the factor applied to the data being plotted, but does not change the
data processed by Cheetah. Selecting an item from the sub menu will set the zoom factor for all the plots in the window.

6. Set
Timeframe

Sets the amount of time that data remains visible in the Time window. This command has no effect when the window is
displaying Flash plot types. All data is cleared from the window when the timeframe is changed. The timeframe of the
window will appear next to the window name in the window's title bar. The menu items sub menu allows for you to select
one of the following values: 100, 200, 500, 1000, 2000, 5000, 10000. These values are all in milliseconds.

7. Clear Window

This will force all plots to clear themselves This is usually used when using overlay mode. In addition to this menu
command, you can press the C key with the window selected to clear the display.

8. Lock Window When the window size is locked, you will see a check mark next to this option. Locking the window size will disable
resizing of the window.
Size
9. Maximize
View

Clicking this menu item with toggle between maximize and normal view. Normal view contain a plot being displayed in the
window for every plot that exists for the window. Maximize view shows only the current plot, and the plot is maximized to
the entire window display. There will be a checkmark next to this menu item when the window is in maximized view. This
menu option is not available when there are no plots in the window.

10. Overlay
Mode

The overlay menu option will switch the window in and out of overlay mode. When there is a check mark next to the menu
item, this means the display is currently in overlay mode. When in overlay mode, the window will show all data in every
plot. Clearing the display or resizing the window will cause all plots to clear their displays. In addition to this menu
command, you can press the O key with this window selected to toggle overlay on and off.

11. Freeze
Window

Selecting this menu option will freeze the drawing for all plots currently being displayed in the window. The word "frozen"
will also appear in the title bar, after the current plots acquisition entity name. Clearing the display or resizing the window
will cause the window to clear, but no new data will be displayed until the window is no longer frozen. There is also a check
mark next to this option when the window is frozen. Unfreezing the window will begin to draw new data for each plot. You
will not see any of the data that occurred while the window was frozen, but all data will be processed by Cheetah. In
addition to this menu command, you can press the Spacebar with this window selected to freeze and unfreeze the display.
Once a window has been frozen, history mode will become available for the window. In history mode, the user may
navigate through approximately 30 seconds worth of data. The historical data is the last 30 seconds of data that occurred
previous to when the window was frozen. Once a window is frozen, history mode is activated and any current data that is
being acquired will not be added to the history buffer. When the window is unfrozen, data will once again be added to the
history buffer.

12. Page Left

The window must be in history mode in order to used this option. This will move back in time at 1/2 the time frame of the
window every time this option is selected.

13. Page Right

The window must be in history mode in order to used this option. This will move forward in time at 1/2 the time frame of
the window every time this option is selected.

14. Save
Window to
Image

This option is only available when the window is frozen. It will allow you to save the current window display to a BMP,
PNG or JPG raster image.

15. Window
Properties

This will bring up the properties page and selects this window in the tree. If the properties page is closed, Cheetah will open
the properties page. If the properties page is open, it will make sure the properties page is visible. You can see a detailed
description of time window properties for more information.

Time Window Audio Menu

1. Set / Clear Left Channel

This menu option will allow you to set or clear the audio source for the left channel. This menu uses the current
plot to determine what source will be set or cleared. If the current left source's AE is not the same as the current
plot's AE, then this menu will allow you to set the current plot's AE to the current left source. If, however, the
currently selected plot's AE is the same as the current left source's AE, then this menu option will allow you to
clear the left source. Clearing the source will set the source's AE to None. In the above image, the current plot is
CSC8, and it is currently set to the left audio source.

2. Set / Clear Right Channel This is identical to the Set / Clear Left Channel menu option, except that it affects the right audio channel.
3. Mute Audio

When the audio is muted, Cheetah will not output sound through your speakers. This mutes both the left and
right channels. When the audio is muted, there will be a checkmark next to this menu item. This command can
also be run at any time by using the Ctrl+M keyboard shortcut. This setting only affects Cheetah, and does not
mute the sound for other Windows programs.

4. Audio Options

This will launch the Audio Output Dialog for more detailed control over Cheetah's audio output.

Time Window Properties
The Time window properties are shown in the properties window when a Time window or Time plot is selected in the properties tree. For more
information on the properties window, see the detailed description of the properties window. Changes made to the window properties will affect all
plots within this window.

1. Name
2. Plot
Type
Selection

This is the name of this Time window, and it must be unique throughout Cheetah. The window name is shown in the window's
title bar, as well as in the display properties tree.
Spike plots can be displayed in the following ways:
1. Flash: Displays the waveform for single record. The data shown is indicative of the data that is written to the Cheetah
data files.

2. Scroll: Similar to an oscilloscope, new waveform data will be shown on the right, and old data will scroll to the left. The
amount of time shown in this plot can be adjusted with the by changing the window timeframe. The data shown is
indicative of the data that is written to the Cheetah data files.

3. Sweep: A cursor will move from left to right across the screen. New data will be shown to the immediate left of the
cursor. Old data will be cleared as the cursor moves past it. The data shown is indicative of the data that is written to the
Cheetah data files The amount of time shown in this plot can be adjusted with the by changing the window timeframe.

3. Show
Title Bar

Sets the visibility of title bar for the specified display window. This option can be used to increase the screen space dedicated to
showing acquired data or can be used to decrease CPU usage for large channel count systems or older computers. Since all of the
plot icons are located in the title bar, you will not be able to click on the icons when the title bar is hidden. Since the saved screen
space is minimal, it is recommended that you leave the title bar visible if possible. All data in the window will clear when the title
bar visibility is changed.
The show title bar checkbox must be in 1 of the following states:

1. Checked: The title bar is visible in the window.
2. Unchecked: The title bar is hidden from the window.

4. Show
Grid Lines

Used to set the visibility of the vertical grid lines in a Time window. Hiding the grid lines will not hide the zero line for the time
plots. All data is cleared from the window when the grid visibility is changed. Grid lines can be used to approximate the amount of
time between different points of the visible time plot waveform. To determine the time between grid lines, take the windows time
frame and divide by the number of gridlines minus 1. This command can be used to decrease CPU usage for large channel count
systems or older computers.
The show grid lines checkbox must be in 1 of the following states:
1. Checked: Gridlines are visible in the window.
2. Unchecked: Gridlines are hidden from the window.
Sets a plot window's overlay mode. Overlaid windows will not clear out old data before displaying new data. This setting effects
all plots in this window.

5. Overlay
Mode

The overlay checkbox must be in 1 of the following states:
1. Checked: The window will not clear out any old data until either a clear command is issued, overlay is turned off, or the
window is resized.
2. Unchecked: The window will clear out data based on the plot type.
The spread type of Time windows can be changed using this selection box. Adjusting the spread type is similar to moving the zero
line on an oscilloscope. It will adjust where the zero line of each of the waveforms is drawn in the window. Changing the spread
type can be useful when you want to see seemingly similar plots overlaid on top of each other. All data in the window will clear
when the spread type is changed.

6. Spread
Type
Selection

WARNING: Changing the spread type can cause CPU overload in high channel count systems. If you see drawing errors after
changing the spread type, changing the spread type to FullSpread will alleviate some of the CPU strain.
The possible options are:
1. CommonZero: All of the time plots will share the same zero line. This line will be in the middle of the window.

2. HalfSpread: All time plots have their own zero line. The window is divided into 3 sections. The top section contains 25%
of the window. The middle section contains 50% of the window and the bottom section contains 25% of the window. The
zero lines for each plot will be spread evenly throughout the middle section. This type is designed to allow each plot to use
at least 50% of the available window. Plots will overlap when using this spread type.

3. FullSpread: All time plots have their own zero line. If the plots are not zoomed in, there will be no overlapping of
waveforms.

Sets the amount of time that data remains visible in the Time window. This command has no effect when the window is
displaying Flash plot types. All data is cleared from the window when the time frame is changed. The time frame of the window
7. Window
will appear next to the window name in the window's title bar. This value must be set between 100 and 30000 milliseconds. As
Timeframe
the value is increased, less detail will be visible for the waveforms, but data will be visible longer. Decreasing the value will
increase the waveform detail, while decreasing the time that data remains visible.
9. Plot
Removal
Buttons

Clicking on th Remove Plot button will delete the currently selected plot from the window. Clicking on the Remove All Plots
button will delete all plots within the window.

10. Plot
Clicking on the Move Plot Up button will move the selected plot left or up in the plot window. Clicking on the Move Plot Down
Positioning
button will move the selected plot right or down in the plot window.
Buttons

8.3 Time Plots
Time Plots
This section will cover time plots and their properties. Some plot properties are based on time window settings. For more information on window
specific settings (including adding plots to windows) see the time window overview.

Time Plot Overview
Time plots consist of two parts, the title bar (items 1-6 below) and the plot area (items 7-9). The plot area is free floating and will not necessarily be
next to the title bar information. The plot can overlap other plots using different zoom and spread settings. The waveform color will always match
the plot name color, and for all spread modes other than common zero are shown in the same order from top to bottom.

1. Input Range

Displays the current input range of this channel in microvolts. Since the plot area is not dedicated to a specific
waveform, and different plots could have different input ranges and zoom factors, there is no set area that directly
maps to voltage. The waveform will begin to clip when it reaches the positive or negative limits of the input range.

2. Plot Name

This is the name of the AE that supplies data to the plot. The waveform will be the same color as the plot name, and
the order (from top to bottom) of the plot names is the same as the order (from top to bottom) of the waveforms
(except in common zero spread mode).

3. Audio Menu

Displays the audio menu.

4. Plot Properties

Clicking this icon will make the properties page visible, select the display tab, and select the plot in the properties
tree. See the detailed description of time plot properties for more information on plot properties.

5. Maximize/Restore
Plot

Toggles the view for the plot. If the plot is in normal view (shown above), clicking this icon will maximize the plot,
showing only this plot in the plot area of the time window. When in maximized view, the icon changes to a double
square, and clicking on it will return the plot to normal view (all plots for this window are visible).

6. Zoom Plot

Clicking on this icon will cycle through the preset zoom options. There are 4 different zoom options: 1x, 2x, 4x and
8x. The zoom factor is a multiplication of the factor applied to the data being plotted, but does not change the
data processed by Cheetah.

7. Zero Line

This line indicates where the zero voltage level of the signal is located. This line is not part of a fixed grid, and will
move as the spread type is changed.

8. Waveform

The waveform of the selected acquisition entity's signal. If the window is in overlay mode, waveforms will not be
cleared as new data is shown. Otherwise the signal is overwritten according to the current plot type for this
window. The color of the waveform will always match the color of the plot name.

9. Grid Line

The vertical lines can be used to approximate time differences between different points of the waveform. The
time per line can be approximated by taking the time frame of the window and dividing by the number of vertical
lines. These lines are fixed and will not be changed as the plot type and spread type are changed.

Time Plot Properties
The Time plot properties are shown in the properties window when a Time window or a Time plot is selected in the properties tree. Selecting a Time
window will allow you to make changes to all plots in the window. Selecting an individual plot will only allow changes to that individual plot.

1. Plot Label

Enter a label into the edit box. The label will be displayed after the plot name in the tree view on the properties
page.

2. Plot Enable

This is used to stop plotting data for only a single acquisition entity's plot in a window, but do not want to
remove the plot from the window. This works like a pause button on a DVD player. It will lock in whatever is
currently displayed in the plot. If an action is taken that will clear the plot, the last data displayed will be
cleared. No data will be added to the plot while it is disabled, but otherwise is processed normally.
The plot enable check box must be in 1 of the following states:
1. Checked: The plot will display all data in the plot as is appropriate.
2. Unchecked: The will not be any new data displayed in the plot.

9. Spikes
Spike Acquisition Entity Overview
Spike acquisition entities will detect specific signals from the incoming neurological data. If these specific signals are found on any of the electrodes
related to this spike acquisition entity, the signal found will be extracted from the incoming signal on all electrodes related to this spike acquisition
entity , and saved to a spike record. The criteria used to detect and classify spikes are configurable in Cheetah. Spike classification (sometimes
referred to as cluster cutting) can be done by using the SpikeSort 3D application. Spikes are sometimes referred to as single units. Spike acquisition
entities can be created as single electrodes (SE), stereotrodes (ST, two electrodes), or tetrodes (TT, four electrodes). Spike acquisition entities must
be created from Cheetah commands; see the spike acquisition entity commands link below for more information.
Spike Topics:
Spike Acquisition Entity Properties
Spike Windows
Spike Plots
Spike Acquisition Entity Commands
Spike Window Commands
Spike Plot Commands

9.1 AE Properties

Spike Acquisition Entity Properties
These commands are used to control how the spike acquisition entities process AD data and what it does with the data after processing. The
acquisition entity settings are shown on the properties page when a spike plot or AE is selected in the properties tree.

Spike Acquisition Entity Settings

Spike Acquisition Entity General Settings

1. Acquisition Entity
Name

This is the unique name that is used to identify this spike acquisition entity. It is the name you chose when you created
the acquisition entity.

2. Sub System Name

This is the name of the recording system from where this acquisition entity will receive its data.

3. Sampling
Frequency

This is the rate at which Cheetah is sampling data for this acquisition entity.
This command allows you to record data for a particular acquisition entity at a lower sampling rate than other
acquisition entities. The sub sampling interleave tells Cheetah to process only every Nth (where N is the Value
specified) sample obtained from the recording hardware. This can also be seen as a sampling divisor. This setting
cannot be changed while Cheetah is recording.

4. Sub Sampling

The value must be between 1 and 3 for spike acquisition entities.
Example: A Digital Lynx system normally samples all channels at 32000 Hz. Suppose you want to sample SC2 at
8000 Hz. You would type 4 in the box and hit enter. This will only process every 4th sample, giving an effective
sampling rate of 8000 Hz.

5. Input Inversion
Setting

Cheetah will automatically invert incoming AD data before it is processed if this box is checked, and will not adjust the
polarity of the incoming AD data if this box is not checked. Unadjusted signals are shown with positive voltage in the
up direction.

6. Acquisition Entity
Processing Enable

Enables (checked) or disables (unchecked) the processing of data by the acquisition entity. If record processing is
disabled, records will not be able to be displayed, sent to NetCom or saved to a file. Raw data file processing will still
occur if it is enabled (see -SetRawDataFile). When processing is disabled, the Write Records to File setting is disabled.

7. Data File Output
Setting

When this box is checked, all spike records will be saved to the file that is shown right beneath this check
box. Removing the check next to this setting will disable spike record file writing. When file writing is disabled, you
will still be able to see visual representations of the records on the spike plots, as well as be able to receive records via
NetCom. However, no information will be permanently saved while you are recording.

8. Reference
Selection

Allows you to select the reference to use for this acquisition entity This control is only shown if your system supports
software controlled reference selection. Only references currently allowed by the referencing hardware will be shown
in this list. If a reference you wish to use is not shown in this list, you can select More Reference Options... from the list
to launch the DRS Properties dialog. If an acquisition entity shares one of its AD channels with other acquisition
entities, the reference for all acquisition entities using that AD channel will be changed. In the case of tetrodes and
stereotrodes, this will involve more than one AD channel.
Example: CSC1's source is AD Channel 0 and TT1's sources are AD Channels 0, 1, 2 and 3. If the reference for
CSC1 is changed to Animal Ground, not only will AD channel 0 change its reference to Animal Ground, but so will AD
Channels 1, 2 and 3. This happens because all channels on TT1 must use the same reference.

9. Spike Detection
Setup

Launches the Spike Detection Setup dialog.

Spike Acquisition Entity Sub Channel Setup
In addition to single electrode spike detection, Cheetah has the ability to detect spikes on stereotrodes (2 channels) or tetrodes (4 channels). Each of
these sub channels have settings that can vary independently of each other. This section will allow you to adjust those settings.

1. Channel Edit
Selection

In this list you will see an entry for each sub channel in the current spike acquisition entity. When you click on a
channel, the threshold and input range values for that channel will be shown in the threshold and input range entry boxes,
and can be changed. You can select more than one channel for editing (stereotrodes and tetrodes only) by holding down the
Ctrl or Shift key and clicking on the other channels you wish to edit. When you have more than one channel selected for
edit, the values from the lowest channel number selected will be shown in the threshold and input range edit
boxes. Changing one of these values with multiple channels selected will apply the entered value to all selected channels. At
least one channel must be selected in order to change any of the values for any of the channels.

2. Sub Channel
Enable

Enables or disables a particular channel of a spike acquisition entity. Disabling a channel will cause Cheetah to not process
any data on that channel. When a channel is disabled, the waveform plot will change to show that the channel is disabled as
shown in the following image:

If the waveform plot is too small, the DISABLED text will not be visible. Once the channel is enabled, it will display data
normally.
3. Sub Channel
Number

This number identifies each of the sub channels of this acquisition entity. This number is for identification purposes only.

4. A/D Channel
Number

This is the AD channel on the acquisition subsystem where data is obtained for this spike sub channel.
This is the current spike detection value for this spike sub channel. The value shown depends on what method of spike
detection is being used for this spike acquisition entity (See Spike Detection Setup).
1. Threshold: The threshold value will be shown in microvolts.

5. Spike
Detection Value
2. Slope: The slope value will be shown as microvolts/microseconds.

6. Input Range

This is the current input range in microvolts for this spike sub channel. The input range will always be from the negative of

this number to the positive (i.e. in the above image, sub channel 1's input range is from -2500 to 2500 microvolts).
7. Amplifier
Gain

The amp gain setting allows direct control of the programmable analog gain stage in the Lynx-8 amplifier. The Lynx-8
provides selectable gain from 1x to 50,000x in 4096 steps. This column is not visible when using a digital acquisition
system.

8. AD Gain

The A/D gain setting allows direct control of the final analog gain stage prior to analog-to-digital conversion. The user can
select between gains of 1x, 2x, 4x or 8x, thereby normalizing the input range of the A/D converter card (DT3010) to +/-10V,
5V, 2.5V or 1.25V respectively. This column is not visible when using a digital acquisition system.
Here you will be able to change the value of the range for all selected sub channels of this spike acquisition entity. What
is shown depends on what method of range adjustment is being used for the acquisition system (See Cheetah64 or
Cheetah160 Properties). When using digital acquisition systems, only input range adjustment is available.
1. Input Range This value will be in microvolts and must be a whole number within the current input range. If you
change the input range to a value that is less than the current threshold, the threshold will be adjusted to be equal to
the input range you entered. This value cannot be changed while Cheetah is recording.

9. Range Entry
2. Amp Gain: Analog systems allow you to adjust the individual gains of both the external amplifier and the AD
conversion device directly. You should only use this option if you need direct control over these values. Since the
Lynx8 amplifiers have discrete gain values, if the value entered is not one of those values, it will be changed to the
closest discrete value available. In general, using the input range to adjust amplifications will give you a better signal
than adjusting the gain values separately. This value cannot be changed while Cheetah is recording.

Here you will be able to change the value of the current spike detection value for this spike sub channel. What is shown
depends on what method of spike detection is being used for this spike acquisition entity (See Spike Detection Setup). This
value cannot be changed while Cheetah is recording.
10. Spike
Detection Entry

1. Threshold: The threshold value is in microvolts, and must be less than the current input range..
2. Slope: The slope value is entered as a voltage change in microvolts over an amount of time in microseconds.

Spike Detection Setup

Clicking on the Spike Detection Setup button allows Cheetah to change the way that it detects spikes, and what data is saved when a spike is
detected. Here you will be able to adjust those settings.

1. Acquisition
Entity Name

This is the unique name that is used to identify this spike acquisition entity. It is the name you chose when you created the
acquisition entity.
Here you will specify how Cheetah will extract spikes from the continuous neurological data. You may choose from the
following options:

2. Detection
Type

3. Alignment
Point Setting
4. Retrigger

1. Threshold: When a signal is detected that is higher than a specified threshold, Cheetah will begin to look for the
peak of the spike. After that peak is detected, it will align the peak using the alignment point setting and save 32
points of data to a spike record.
2. Slope: When a signal is detected that has a particular rise in voltage over a period of time, Cheetah will begin to look
for the peak of the spike. After that peak is detected, it will align the peak using the alignment point setting and save
32 points of data to a spike record.
Each spike will contain 32 points of data. When Cheetah detects a spike, it will record 32 points of data around the peak of
that spike. The alignment point tells Cheetah how many points of data before and after the peak of the spike should be saved.
Example: Assume you have your alignment point set at 8. When Cheetah detects a spike, it will save the 7 points of data
before the peak of the spike, and the 24 points of data after the peak.
Sets the amount of time to wait after a spike has been detected before searching for the next spike. This setting can be useful

Time Setting

5. Dual
Threshold
Enable

if there are rapidly firing spikes, or echoes present on a particular acquisition entity. This avoids having portions of spikes
appear in two separate records. This can be any value between 1 and 1000000 microseconds.
Sets dual spike thresholding for the specified acquisition entity. This tells Cheetah that a spike can be either in the positive or
negative direction. If checked (enabled), Cheetah detects spikes that are above the current threshold setting and below the
negative of the threshold setting. If unchecked (disabled), Cheetah will only detect spikes that are above the current threshold
setting.
Example: If the current threshold setting is 5000 microvolts, and dual thresholding is enabled, signals that have a value
above 5000 microvolts and below -5000 microvolts will be classified as spikes.

Clears all defined clusters for the specified acquisition entity. Once cleared, all cluster definitions for this acquisition entity
6. Clear
Clusters Button will be lost.
7. Close Button

Clicking either this button or the X at the top right of the window will close the window.

Spike Acquisition Entity Filtering Setup
Depending on your hardware system, you can filter signals in Cheetah two different ways. Analog filtering is done using external amplifiers that are
controlled by Cheetah. Analog filtering physically filters the signal before it is sent to the computer. DSP filtering is only used on digital Neuralynx
hardware systems. DSP filtering uses the computer to filter signals, and does not physically change the signal before it is processed by Cheetah. The
appropriate filter settings are displayed based on the hardware system that is being used with Cheetah.

Analog Systems
1. Low and High Cut

Digital Systems

Cheetah has the ability to process all signals using digital signal processing (DSP). Checking this box will turn the

DSP Filter Enable

high cut (low pass) and low cut (high pass) DSP filter on (checked) or off (unchecked) for the specified acquisition
entity. Changing the enabled sate does not affect the actual filter value of the DSP filter, it simply enables or
disables the filter. All channels of an acquisition entity are filtered using the same settings. Disabling DSP filtering
can be used to alleviate CPU load on high channel count systems or older computers. When the box is unchecked
(disabled), you will not be able to change the filter value or number of taps.
The settings for the low cut filters differ depending on what type of acquisition system you are using.

2. Low and High
Cut Filter Value

3. Low and High Cut
DSP Filter Taps

1. Digital Systems: Sets the frequency that Cheetah will use for the high cut (low pass) or low cut (high pass)
digital signal processing (DSP) filter on all channels of the specified acquisition entity. The filter frequency
has no effect if high cut filtering is disabled. High cut filters will only allow signals whose frequency is
below this value to be recorded by Cheetah and low cut filters will only allow signals whose frequency is
above this value. DSP filters have no effect on data being written to a raw data file (see SetRawDataFile). This value is in hertz, and can be any value (including decimal values) between 0.1 Hz
and 10000.0 Hz.. This value can only be changed when DSP filtering is enabled.
2. Analog Systems: Sets the frequency that Cheetah will use for the high cut (low pass) or low cut (high pass)
analog filter on all channels of the specified acquisition entity. Low cut filters will only allow signals whose
frequency is between the values of the high and low cut filters to be digitized by Cheetah. Analog filters will
affect data being written to a raw data file (see -SetRawDataFile), as they are active prior to the signal being
digitized. The filter value options are based on the filters available on the Lynx-8 amplifier.
Digital signal processing (DSP) taps determine the amount of rolloff for the DSP filter. If you notice the cut filter is
allowing signals that are too far beneath (low cut) or above (high cut) your setting to be processed by Cheetah, you
may want to increase (low cut) or decrease (high cut) this value. Cheetah will normally select a tap value that is
appropriate for the specific filter frequency. Lowering the number of taps can be useful to alleviate CPU load on
large channel count systems or older computers. This value can only be changed when DSP filtering is enabled. If
the frequency value is changed to a value that is not available with the current number of taps, Cheetah will change
the number of taps to the closest appropriate value.
Shows the type of DSP filter being used by Cheetah for the given filter frequency. This can be one of the following:

4. Low and High Cut
DSP Filter Type

1. FIR: A finite impulse response filter is being used to filter the data.
2. DCO: Uses a running average to remove the DC component from the AC signal.
3. None: No DSP filtering is being applied to the incoming data.

5. DSP Delay

The delay introduced by the current DSP filter settings. For more information on DSP delay see the SetDSPDelayCompensationEnabled command.

6. Delay Compensation

Displays whether DSP delay compensation is enabled or disabled. For more information on DSP delay see the -

SetDSPDelayCompensationEnabled command.

9.2 Spike Windows
Spike Windows
Creating a Spike Display
When a spike acquisition entity is added to your system, no display is created for it. In order to see what the spike AE is doing, you need to create a
spike window and then add a plot for the AE.
You can create a spike window from the Window menu on Cheetah's main window.

You will then get a new, empty spike window. To add a plot to the window you can either use the Display menu of the new window or right click
anywhere in the window and select Add Plot(s). You will then see the Acquisition Entity Selection dialog. Select one or multiple (by holding down
Shift or Ctrl, just like multi-select in Windows) AE and click the Add Acquisition Entities button to add plots.

Spike Window Overview
This section will give you a general overview of each of the parts of the Spike window. There are more detailed descriptions of some of the sections
after this overview.
Spike windows have the concept of a current plot. This plot is indicated by a purple plot title bar and the name of the plot shown in the window's title
bar. In the following image, the current plot in SpikeWindow1 is ST1. When a plot is current, all plot specific menu options and keyboard short cuts
will be directed at that plot (i.e. setting the audio source). A plot can be made current by clicking on it. When a new plot is added, it is automatically
set to the current plot.

1. Title Bar

The spike window title bar will always display the name of the window along with the name of the currently selected plot in thi

currently selected plot will also have a purple title bar. ST1 is the current plot in the above image. Additional information can
in the window's title bar, such as whether or not the plot is frozen.
2. File Menu

This menu will expand to show some common window tasks. See the detailed description of the video window's file menu.

3. Display Menu

This menu will expand to allow you to manipulate some of the display aspects of the Spike window. See the detailed descriptio
window's display menu.

4. Audio Menu

This menu will expand to allow you to manipulate the audio output settings in Cheetah. See the detailed description of the Spik
menu.

5. Spike Plots

This area will contain the spike plots for this window. Spike plots can either be in maximized (only one plot is visible ) or norm
this window are visible). For more information on the spike plot, see the spike plot description.

6. Close Window

Clicking on this X will close a window, exactly as it does for all Windows programs. Closing a window will destroy the windo
that when you close a window, all of the display settings you have changed and plots you have added to the window will be los

7. Maximize Window

Clicking this button behaves the same as it does for all Windows programs on your system.

8. Minimize Window

Clicking this button will minimize this window to the bottom of the screen. It will not minimize this window to the taskbar as i
Windows programs.

Spike Window File Menu

1. Save Window
Configuration To File

Saves the window, plot and all of their current settings to a configuration file. This file can be reloaded at any
time. However, the acquisition entities associated with all of the plots in this window must exist, and a window
with the same name must not exist in Cheetah when the file is loaded. This does not save the current hardware or
acquisition entity settings.

2. Close Window

Clicking on this menu option will close a window, exactly as it does for all Windows programs. Closing a
window will destroy the window. This means that when you close a window, all of the display settings you have
changed and plots you have added to the window will be lost. After you click the close button, a message box
will be shown where you will confirm that you want to destroy the window.

Spike Window Display Menu

1. Add Plots

Clicking this menu option will allow you to add a spike plot to this window. When you select add plot, you will see the
Acquisition Entity selection dialog. This dialog will have a list of available spike acquisition entities that can be used to
create a plot and add it to this window.

Clicking this menu option will allow you to remove spike plot(s) from the window. When you select remove plot, you will
2. Remove Plots see the Acquisition Entity selection dialog. This dialog will have a list of all the plots currently in the spike window. The
user may select any number of plots to be removed.
3. Plot Type
Selection

This menu item contains a sub menu listing the plot types available. See Plot Type Selection under the Spike Window
Properties section for more details.

4. Clear
Window

This will force all plots to clear themselves This is usually used when using overlay mode. In addition to this menu
command, you can press the C key with the window selected to clear the display.

5. Lock Window When the window size is locked, you will see a check mark next to this option. Locking the window size will disable
resizing of the window.
Size
6. Maximize
View

Clicking this menu item with toggle between maximize and normal view. Normal view contain a plot being displayed in the
window for every plot that exists for the window. Maximize view shows only the current plot, and the plot is maximized to
the entire window display. There will be a checkmark next to this menu item when the window is in maximized view. This
menu option is not available when there are no plots in the window.

The overlay menu option will switch the window in and out of overlay mode. When there is a check mark next to the menu
item, this means the display is currently in overlay mode. When in overlay mode, the window will show all data in every
7. Overlay Mode
plot. Clearing the display or resizing the window will cause all plots to clear their displays. In addition to this menu
command, you can press the O key with this window selected to toggle overlay on and off.
8. Freeze
Window

Selecting this menu option will freeze the drawing for all plots currently being displayed in the window. The word "frozen"
will also appear in the title bar, after the current plots acquisition entity name. Clearing the display or resizing the window
will cause the window to clear, but no new data will be displayed until the window is no longer frozen. There is also a check

mark next to this option when the window is frozen. Un-freezing the window will begin to draw new data for each plot. You
will not see any of the data that occurred while the window was frozen, but all data will be processed by Cheetah. In addition
to this menu command, you can press the Spacebar with this window selected to freeze and unfreeze the display.
9. Save Window This option is only available when the window is frozen. It will allow you to save the current window display to a BMP,
PNG or JPG raster image.
to Image
10. Window
Properties

This will bring up the properties page and selects this window in the tree. If the properties page is closed, Cheetah will open
the properties page. If the properties page is open, it will make sure the properties page is visible. You can see a detailed
description of spike window properties for more information.

Spike Window Audio Menu

1. Set / Clear Left Channel

This menu option will allow you to set or clear the audio source for the left channel. This menu uses the current
plot to determine what source will be set or cleared. If the current left source's AE is not the same as the current
plot's AE, then this menu will alow you to set the current plot's AE to the current left source. If, however, the
currently selected plot's AE is the same as the current left source's AE, then this menu option will allow you to
clear the left source. Clearing the source will set the source's AE to None. In the above image, the current plot is
ST1, and it is currently set to the right audio source.

2. Set / Clear Right Channel This is identical to the Set / Clear Left Channel menu option, except that it affects the right audio channel.
3. Mute Audio

When the audio is muted, Cheetah will not output sound through your speakers. This mutes both the left and
right channels. When the audio is muted, there will be a checkmark next to this menu item. This command can
also be run at any time by using the Ctrl+M keyboard shortcut. This setting only affects Cheetah, and does not
mute the sound for other Windows programs.

4. Audio Options

This will launch the Audio Output Dialog for more detailed control over Cheetah's audio output.

Spike Window Properties

The Spike window properties are shown in the properties window when a Spike window or Spike plot is selected in the properties tree. For more
information on the properties window, see the detailed description of the properties window. Changes made to the window properties will affect all
plots within this window.

1. Name
2. Plot Type
Selection

This is the name of this Spike window. It must be unique throughout Cheetah. The window name is shown in the window's
title bar, as well as in the display properties tree.
Spike plots can be displayed in the following ways:
1. Waveform: Shows the extracted waveform for a detected spike. If more than one waveform is visible, this means
more than one spike occurred since the last screen refresh. The waveform seen in this plot is the exact waveform
saved to the spike data records.

2. Feature: Shows the calculated feature information in a XY scatter plot. The features that are plotted can be changed
by changing the plot properties. To change the features available for an acquisition entity, see the -SetFeature
command. The data seen in this plot is the exact data saved to the spike data records.

1. WaveformFeature: Shows both the waveform and feature plots.

3. Show Title
Bar

Sets the visibility of title bar for the specified display window. This option can be used to increase the screen space
dedicated to showing acquired data or can be used to decrease CPU usage for large channel count systems or older
computers. Since most of the plot icons are located in the title bar, you will not be able to click on the icons when the title
bar is hidden. Since the saved screen space is minimal, it is recommended that you leave the title bars visible if possible. All
data in the window will clear when the title bar visibility is changed.
The show title bar checkbox must be in 1 of the following states:
1. Checked: The title bar is visible for all plots in the window.
2. Unchecked: The title bar is hidden for all plots in the window.
Enables or disables the drawing of icons for all plots in the window. This does not include icons that are part of the title
bar. When icons are hidden, you will not be able to click on them to activate plot commands. This command can be used to
increase the screen space dedicated to showing acquired data or can be used to decrease CPU usage for large channel count
systems or older computers. Since the saved screen space is minimal, it is recommended that you leave the icons visible if
possible. All data in the window will clear when the icon visibility is changed.

4. Show Icons
The show icons checkbox must be in 1 of the following states:
1. Checked: All icons not in the title bar will be shown.
2. Unchecked: All icons not in the title bar will be hidden.
Enables or disables the drawing of text values for all plots in the window. This does not include text values that are part of
the title bar. This command can be used to increase the screen space dedicated to showing acquired data or can be used to
decrease CPU usage for large channel count systems or older computers. Since the saved screen space is minimal, it is
recommended that you leave the text visible if possible. All data in the window will clear when the text visibility is changed.
5. Show Text
Values

The show text values checkbox must be in 1 of the following states:
1. Checked: All text values not in the title bar will be shown.
2. Unchecked: All text values not in the title bar will be hidden.

6. Overlay Mode

Sets a plot window's overlay mode. Overlaid windows will not clear out old data before displaying new data. This setting
effects all plots in this window.
The overlay checkbox must be in 1 of the following states:

1. Checked: The window will not clear out any old data until either a clear command is issued, overlay is turned off, or
the window is resized.
2. Unchecked: The window will clear out data based on the plot type.
7. Normal View This specifies how many feature plots are shown for all plots in the window when the window is showing the
WaveformFeature or Feature plot type, and is not maximized. If the window is showing the Waveform plot type, no change
Feature Plot
will be seen when this value is changed. All data in the window will clear when the number of feature plots is changed.
Quantity
8. Maximized
View Feature
Plot Quantity

When a plot is maximized, it is automatically switched to the WaveformFeature plot type. Since the Spike plot will now
have the entire window to work with, extra Feature plots can be shown. This specifies how many feature plots are shown in
maximized view for all plots that are in the specified window. All data in the window will clear when the number of feature
plots is changed, and the window is in maximized view.

9. Plot Removal Clicking on th Remove Plot button will delete the currently selected plot from the window. Clicking on the Remove All Plots
button will delete all plots within the window.
Buttons
10. Plot
Positioning
Buttons

Clicking on the Move Plot Up button will move the selected plot left or up in the plot window. Clicking on the Move Plot
Down button will move the selected plot right or down in the plot window.

9.3 Spike Plots
Spike Plots
This section will cover spike plots and their properties. Some plot properties are based on spike window settings. For more information on window
specific settings (including adding plots to windows) see the spike window overview.

Spike PlotOverview

1. Plot Title Bar
2. Waveform Plot

The title bar houses the name of the acquisition entity whose data is displayed in the plot, along with the user defined plot label
set. If the plot is the currently selected plot for the window it is in, the title bar will be purple. Along the right hand side, you w
that represent actions that can be applied to the entire plot, regardless of the current plot type.

Here is where the spike waveforms will be shown. Single electrodes will only have a single waveform. Stereotrodes will have
1 on the left, channel 2 on the right); and tetrodes (shown above) will have four (channel 1 on the top left, channel 2 on the top
3 on the bottom left, channel 4 on the bottom right). See the detailed description of the waveform plot for more information. If
the acquisition entity is disabled,the waveform plot will change to show that the channel is disabled as shown in the following i

If the waveform plot is too small, the DISABLED text will not be visible. Once the channel is enabled, it will display data norm
3. Feature Plot

The feature plot is a configurable XY scatter plot of values calculated from detected spikes. The number of feature plots that ar
be configured separately for maximized and normal views.See the detailed description of the feature plot for more information.

4. Previous Plot

This option is only available when the plot is in the maximized view. Clicking on it will switch the currently displayed plot to
plot in the window. If this is the first plot in the window, clicking this icon will have no effect.

5. Next Plot

This option is only available when the plot is in the maximized view Clicking on it will switch the currently displayed plot to t
in the window. If this is the last plot in the window, clicking this icon will have no effect.

6. Maximize/Restore Plot

Toggles the view for the plot. If the plot is in maximized view (shown above), clicking this icon will restore the plot to normal
(showing all plots in the window). When in normal view, the icon changes to a single square, and clicking on it will maximize
whose icon is clicked.

7. Clear Window

Clears all data in this plot only. This can also be accomplished by right clicking on the plot and selecting Clear Plot from the m

8. Plot Properties

Clicking this icon will make the properties page visible, select the display tab, and select the plot in the properties tree. This ca
accomplished by right clicking anywhere on the plot and selecting Plot Properties from the menu. See the detailed description
properties for more information on plot properties.

9. Audio Menu

Displays the audio menu.

Waveform Plot
Each channel of a spike AE will have its own waveform plot. Here we are looking at a single electrode waveform plot.

1. Input Range

Displays the current input range of this channel in microvolts. Any waveform that reaches the top of the plot will have a
voltage value approximately equal to this value. The bottom of the plot represents the negative of this value.

2. Spike Detection This bar is positioned in the plot to give an approximation of the current spike detection voltage (in microvolts) for this
channel. Clicking and dragging this bar up and down will adjust the spike detection voltage for this channel
Value Bar
accordingly. The value that is adjusted and shown depends on the method of spike detection used for this acquisition
entity. This functionality is not available when Cheetah is recording.
1. Threshold: The spike detection value is the threshold voltage used to determine if an incoming signal should be
classified as a spike. The bar will look like the following when in threshold mode:
2. Slope: The spike detection value is the change in voltage used in calculating the slope to use for detecting

spikes. This bar does not indicate, nor does dragging it affect, the change in time portion of the slope. The bar will
look like the following when in slope mode:

3. Spike
Waveform

The waveform of detected spikes. If the window is in overlay mode, spikes will accumulate as they are detected; otherwise
all spikes detected since the last screen refresh will be shown. When cells are defined for this AE, waveforms will appear
in the color of their corresponding cell. If the detected spike does not have a defined cell, it will appear in gray.
Displays the current spike detection value for this channel. The value that is shown depends on the method of spike
detection used for this acquisition entity.
1. Threshold: The spike detection value is the threshold voltage (in microvolts) used to determine if an incoming

4. Spike Detection
Value

signal should be classified as a spike. The value will look like the following when in threshold mode:
2. Slope: The spike detection value is the change in voltage (in microvolts) over the change in time (milliseconds)
used in calculating the slope to use for detecting spikes. The value will look like the following when in slope
mode:

5. Clear Sub Plot

Clears all data only in this waveform plot. It does not clear any data from other waveform plots in multi-channel spike AE.
Increases the spike detection voltage value for this channel by 1 pixel. The microvolt value of a pixel is expressed by two
variables: 1) The size of the plot (i.e. making a plot larger decreases the microvolts per pixel value). 2) The input range of
the channel displayed (i.e. a larger input range increases the microvolts per pixel value). The value that is adjusted depends
on the method of spike detection used for this acquisition entity.

6.Spike Detection
Value Up

1. Threshold: The spike detection value is the threshold voltage used to determine if an incoming signal should be
classified as a spike.
2. Slope: The spike detection value is the change in voltage used in calculating the slope to use for detecting
spikes. This bar does not indicate, nor does dragging it affect, the change in time portion of the slope.

Decreases the spike detection voltage for this channel by 1 pixel. The microvolt value of a pixel is expressed by two
variables: 1) The size of the plot (i.e. making a plot larger decreases the microvolts per pixel value). 2) The input range of
the channel displayed (i.e. a larger input range increases the microvolts per pixel value). The value that is adjusted depends
7. Spike Detection on the method of spike detection used for this acquisition entity.
Value Down
1. Threshold: The spike detection value is the threshold voltage used to determine if an incoming signal should be
classified as a spike.
2. Slope: The spike detection value is the change in voltage used in calculating the slope to use for detecting

spikes. This bar does not indicate, nor does dragging it affect, the change in time portion of the slope.

Feature Plot
The number of feature plots shown is configurable for each window. You can also configure which features are plotted (see Feature Plot Properties)
and which features Cheetah calculates for each acquisition entity (see -SetWaveformFeature in Spike Acqusition Entity Commands). All values that
are shown in feature plots are normalized to AD counts so that comparisons between features with disproportional values do not look skewed.

1. X Feature

The name of the feature whose value corresponds to the X axis of the plot. The name of the feature is shown along with
the feature index and the channel whose feature is being shown (for single electrodes this is always 0).

2. Y Feature

The name of the feature whose value corresponds to the Y axis of the plot. The name of the feature is shown along with
the feature index and the channel whose feature is being shown (for single electrodes this is always 0).

3. Quadrant 2

This quadrant represents negative X values and positive Y values.

4. Quadrant 3

This quadrant represents negative X values and negative Y values.

5. Quadrant 1

This quadrant represents positive X values and positive Y values.

6. Box Zoom

Left clicking your mouse and dragging creates a green box over the feature plot. When you stop dragging by releasing the
left mouse button, the feature plot will zoom in on the section enclosed by the green box. To return the plot to have all
four quadrants visible, select All Quadrants from the view property for this plot, or by right clicking on the plot and
selecting All Quadrants from the Zoom menu.

7. Quadrant 4

This quadrant represents positive X values and negative Y values.

Spike Plot Properties
The spike plot properties are shown in the properties window when a spike window or a spike plot is selected in the properties tree. Selecting a spike
window will allow you to make changes to all plots in the window. Selecting an individual plot will only allow changes to that individual plot.

1. Plot Label
2. Plot Enable

Enter a label into the edit box. The label will be displayed after the plot name in both the tree view on the properties
page and in the title bar in the specified plot.
This is used when you want to stop plotting data for only a single acquisition entity's plot in a window, but do not want
to remove the plot from the window. This works like a pause button on a DVD player. It will lock in whatever is
currently displayed in the plot. If an action is taken that will clear the plot, the last data displayed will be cleared. No
data will be added to the plot while it is disabled, but is otherwise processed normally.
The plot enable checkbox must be in 1 of the following states:
1. Checked: The plot will display all data in the plot as is appropriate.

2. Unchecked: The will not be any new data displayed in the plot.

3. Feature Plot
Properties

Controls the feature plot for this spike plot. Changes will only be seen in WaveformFeature and Feature plot types or
when the plot is in the maximized view. See the section below for a more detailed description of the feature plot
properties.

4. Cluster Display
Selection

Controls which of the defined clusters are visible in spike plots. See the section below for a more detailed description
of the cluster display selection.

Feature Plot Properties
The settings for all feature plots will be adjustable from this section. This includes the feature plots only visible when a plot is maximized.

1. Plot Number
2. X Feature
Select

The number of the feature plot. The top left feature plot is plot 0, and plot numbers increase from left to right in a row, with
numbering continuing at the left of the following row.
The feature whose value is represented on the X axis. The name of the feature is shown along with the feature index and the
channel whose feature is being shown (for single electrodes this is always 0). The features available for selection can be
adjusted using -SetWaveformFeature in Spike Acqusition Entity Commands)

3. Y Feature
Select

The feature whose value is represented on the Y axis. The name of the feature is shown along with the feature index and the
channel whose feature is being shown (for single electrodes this is always 0). The features available for selection can be
adjusted using -SetWaveformFeature in Spike Acqusition Entity Commands)

4. Feature Plot
View

Allows you to quickly zoom into a quadrant. You can also change this setting by right clicking on a feature plot and selecting
an option from the Zoom sub menu. If you have zoomed into a plot via a box zoom, this will say User Defined.

Cluster Display Selection

The selections made here affect the spikes shown in both the waveform and feature plots. When a cell is shown, the button will be colored, if it is
hidden, it will be the regular windows color.

1. Zero Cluster

This will show or hide all of the spikes that are detected that do not have a cluster defined.

2. Cluster Select Buttons

Clicking on the cluster number will hide or show spikes that are part of that cluster. If there is no cluster defined
for a particular number, the button will be grayed out.

3. 15+ Button

Clicking on this button will hide or show all spikes that have a cluster number of 15 or greater.

10. Video Trackers
Video Tracking
The Cheetah video tracker allows you to record the movement of a subject during your experiment using colored targets (generally LEDs). Both
position and direction can be tracked based on the color and layout of the targets, and those values are timestamped and written to video tracker
records that can be recorded to a video tracker data file for later analysis. Additionally, Cheetah can take advantage of capture cards that have built in
video encoders to save the live video feed to a video file on your hard disk. Even if you do not want to record position or direction information, the
video tracker can be used to monitor the experiment visually instead of just watching spike and CSC activity. All video setup and calibration can be
done within Cheetah; external calibration programs are not required.
NOTE: The Cheetah 160's built-in video trackers are no longer supported by Cheetah, please contact Neuralynx to obtain new video tracking
cards. Also, the Data Translations drivers for the DT3120 capture device no longer work with Cheetah. Please contact sales@neuralynx.com to
obtain a compatible capture device.
Video Tracker Acquisition Entities
Video tracker acquisition entities are very closely tied to the capture card. You can only have one video tracker acquisition entity per capture card,
and the acquisition entity is created when a video tracker is added to the system This is different than the spike and CSC acquisition entities, where

you have to create the hardware and acquisition entities separately. To create a video tracker, you must use the video tracker creation file command;
this is generally done in a configuration file named VideoTracker.cfg.
Video Tracker Topics:
Video Tracker Capture Device Settings
Video Tracker Acquisition Entity Properties
Video Tracker Plots and Windows
Direction Finding Configuration
Video Tracker Capture Device Commands
Video Tracker Acquisition Entity Commands
Video Tracker Window Commands
Video Tracker Plot Commands

10.1 AE Properties
Video Tracker Acquisition Entity Properties
These settings control how the video tracker acquisition entity processes video frames as they are received from the capture card. The acquisition
entity settings are shown on the properties page when a video tracker is selected in the properties tree.

1. Acquisition Entity Name This is the unique name that is used to identify this video tracker acquisition entity. It is the name you chose

when you created the acquisition entity.

2.Red Threshold Settings

Checking the box next to this setting will enable tracking on red threshold crossings. When enabled, the value
specified by the threshold entry box will be will be used for tracking the red components of the video. This
value can be any whole number between 0 (every pixel with a red component is used) and 255 (no pixels with a
red component are used). Values outside of that range will be set to the closest valid value. Alternatively, you
can click the up or down arrows next to the entry box to increase (up) or decrease (down) the threshold. The red
value of the pixel is calculated using a pure color algorithm that subtracts the intensity value from the red
component of a pixel. When the enable check box is not checked, the threshold entry box will be grayed
out. This setting cannot be changed while Cheetah is recording.

Checking the box next to this setting will enable tracking on green threshold crossings. When enabled, the value
specified by the threshold entry box will be will be used for tracking the green components of the video. This
value can be any whole number between 0 (every pixel with a green component is used) and 255 (no pixels with
a green component are used). Values outside of that range will be set to the closest valid value. Alternatively,
3.Green Threshold Settings
you can click the up or down arrows next to the entry box to increase (up) or decrease (down) the threshold. The
green value of the pixel is calculated using a pure color algorithm that subtracts the intensity value from the green
component of a pixel. When the enable check box is not checked, the threshold entry box will be grayed
out. This setting cannot be changed while Cheetah is recording.

4. Blue Threshold Settings

Checking the box next to this setting will enable tracking on blue threshold crossings. When enabled, the value
specified by the threshold entry box will be will be used for tracking the blue components of the video. This
value can be any whole number between 0 (every pixel with a blue component is used) and 255 (no pixels with
a blue component are used). Values outside of that range will be set to the closest valid value. Alternatively, you
can click the up or down arrows next to the entry box to increase (up) or decrease (down) the threshold. The blue
value of the pixel is calculated using a pure color algorithm that subtracts the intensity value from the blue
component of a pixel. When the enable check box is not checked, the threshold entry box will be grayed
out. This setting cannot be changed while Cheetah is recording.

5. Intensity Threshold
Settings

Checking the box next to this setting will enable tracking on intensity threshold crossings. When enabled, the
value specified by the threshold entry box will be will be used for tracking the intensity components of the
video. This value can be any whole number between 0 (every pixel with any color information is used) and 255
(only pure white pixels will be tracked). Values outside of that range will be set to the closest valid value.
Alternatively, you can click the up or down arrows next to the entry box to increase (up) or decrease (down) the
threshold. The Intensity value of the pixel is calculated by taking the average of the RGB pixel
components. When the enable check box is not checked, the threshold entry box will be grayed out. This setting
cannot be changed while Cheetah is recording.

6. Field Estimation Enable

Enables or disables field processing of video frames. When this box is checked, Cheetah is In field processing
mode. This means that Cheetah will process the even and odd lines of the video frame into separate video
records. The odd lines will be timestamped at the start time of the frame, but the even lines will be timestamped

at the midpoint between the odd lines and the beginning of the next frame. The timestamp of the even lines is an
estimation of the field timestamp. When this box is not checked, Cheetah uses the normal processing mode
method of frame processing. In this mode, all lines are processed into a single video record, and the timestamp is
the beginning of the frame. This setting cannot be changed when Cheetah is either in acquisition or recording
mode.

7. Camera Delay Settings

Checking this box enables a static camera delay for adjusting each video record's timestamp inside Cheetah.
This is used when the processing delay of the camera is known; does not change; and causes a significant time
shift for video relative to neurological data. Every video record will have this value subtracted from its
timestamp prior to the record being written to a file. When camera delay is enabled, you can enter any positive
whole number or 0, specifying the number of microseconds of delay to be used for each record into the delay
entry box. When the camera delay is disabled, the delay entry box will be grayed out, and no adjustment will be
made to the video record's timestamp. This setting cannot be changed when Cheetah is either in acquisition or
recording mode.

When this box is checked, all video records will be saved to the file that is shown right beneath this check
box. Removing the check next to this setting will disable video record file writing. When file writing is disabled,
8. Data File Output Setting
you will still be able to see visual representations of the records in the video plot, as well as be able to receive
records via NetCom. However, no information will be permanently saved while you are recording.
Specifies the tracking mode you wish to use for this video tracker. Cheetah supports the following tracking
types:

9. Tracking Mode
Selection

1. None: No direction finding or position tracking will be done. The video tracker will simply record
transitions above thresholds. All x and y positions and head direction values in video records will be 0.
2. 2 LED: Cheetah will calculate position and direction based on the assumption that there are 2 LEDs of
interest. The direction is determined by the color of each of the LEDs along with the direction
offset. The LED color and direction offset can be changed by pressing the setup button to show the
Direction Finding Configuration window.
3. HS-54: Cheetah will assume that you are using a standard HS-54 layout and track direction and position
based on that layout. Direction is determined by used the standard HS-54 colors along with the direction
offset. The LED color can be viewed and direction offset can be changed by pressing the setup button to
show the Direction Finding Configuration window.

Changing the tracking configuration to one that does not correspond to your actual tracking needs can give
erroneous direction and position values. This setting cannot be changed while Cheetah is recording.
10. Tracking Mode Setup

Clicking this button will show you the Direction Finding Configuration window.

11. Maximum Target

This should be used as a last resort for adjusting tracking options. Attempt to adjust the threshold or video

Radius

settings before modifying this value. The target radius is the maximum number of pixels between two targets to
consider them related for position tracking purposes. This value can be adjusted down if you notice that there is
noise being included in your position tracking. It can be adjusted up if Cheetah is tracking a smaller target that is
not the object you are trying to track.
Example: In 2LED tracking, the right LED is red and the left LED is green, and the LEDs are pretty close
together. Someone puts a green marker on one edge of the maze, that now creates a large green target, throwing
off the center calculation. If the target radius is small, the new target will not be considered to be related to the
red target and the center will be based on the green LED.
There are a couple of exceptions to this rule:
1. If there are no other green targets within the target radius, the video tracker will use the largest green
target it can find for the left LED target.
2. If the erroneous target is located within the target radius from the red target, it will be used as the green
LED target.
This value can be any positive whole number greater or equal to 1 that will be within the video frame. Radius
values that would make the target radius larger than the video image are not allowed, and will be adjusted to the
maximum allowable radius for the current video image (i.e. if the resolution is 720 x 480, the maximum value is
865). It cannot be changed while Cheetah is in either acquisition or recording mode.

12. Video File Output
Enable

Checking this box enables video file output using compression to the file specified in the output file box. This
can be done concurrently with standard Cheetah video tracking. When recording is started, Cheetah will begin to
compress the live video image, without processing, and save that video to the file specified in the output file
box. A subtitle file will be recorded, along with the compressed video, to allow you to view the Cheetah
timestamp overlaid over each video frame in any media player that supports subtitles. It is not recommended that
you start and stop recording multiple times while recording live video, as it causes the video file to not be
playable in some media players. This setting is only available if you are using a video tracking capture card that
supports hardware video encoding, such as the Hauppauge PVR-150. This setting cannot be changed while
Cheetah is recording.

13. Compressed Video
Output File Name

This is the current file that Cheetah is using for video output. Video output is only available if you are using a
video tracking capture card that supports hardware video encoding, such as the Hauppauge PVR-150.

14. Video Compression
Setup

Clicking this button will allow you to change the compression settings used for recording the live video
file. These settings are dependent on your capture device. Consult your capture device's manual for more
information on these settings. Adjustment of compression settings is only available if you are using a video
tracking capture card that supports hardware video encoding, such as the Hauppauge PVR-150. Compression
settings cannot be changed while Cheetah is recording. There is currently no way to save compression settings,
these must be reset manually every time Cheetah is restarted.

10.2 Video Capture Device Properties
Video Settings
Cheetah can control the video settings of your capture card directly, there is no need for a separate calibration application. The video settings are
shown as a section of the properties page when a video tracker is selected in the properties tree.

Video Settings Section

1. Capture Device Name

This is the name of the capture device associated with this video tracker acquisition entity as it is reported to
Windows. You may have more than one capture device with the same name, so the hardware ID is provided to
uniquely identify the capture device.

2. Capture Device
Hardware Identification

This is a unique identification for the capture device associated with this video tracker acquisition entity. You
may use this hardware ID to create video tracker acquisition entities in your configuration files.

3. Input Type

The video selection drop down list is only available when Cheetah is not recording data. This selection will
determine what connection your video camera is using to feed images to the computer. Cheetah supports one
SVideo and one Composite connection. These inputs will work with both NTSC and PAL video formats. If you
select an input type that your capture card does not support, Cheetah will return this setting to its previous value.

SVideo

Uses a 4 pin connection to transfer video signal. It gives better image quality than
composite because it transmits luminance and color information on separate wires. The
remaining two wires are ground.

Composite

Generally uses a coaxial wire with either a BNC or an RCA connection. Composite
signals transmit all image information over a single wire. This results in a less accurate
image than SVideo.

The video format selection drop down list is only available when Cheetah is not in acquisition mode. This
selection will determine how the analog video signal is processed by the capture device. Cheetah only supports
NTSC and PAL video formats. These formats will work through both SVideo and Composite inputs. If you
select a video format that is not supported by your capture card, Cheetah will return this setting to its previous
value.
4. Video Format
NTSC

Uses NTS_M video
formatting with 33ms
frame intervals (30FPS).

Used throughout North and South America,
Japan, and Oceana

PAL

Uses PAL_B video
formatting with 40ms
frame intervals (25FPS).

Used throughout the rest of the
world. Except in along the Mediterranean,
where SECAM is used.

5. Resolution

This setting specifies the dimensions of the video image (width x height). Only values that are returned by the
capture card are listed. Not all resolutions listed will work with all video settings. If you select a resolution that
will not work with the current values of the other video settings, Cheetah will inform you that the resolution you
selected will not work, and return the resolution to its previous value.

6. Saturation Setting

This setting can be adjusted by either moving the slider right (for higher values) or left (for lower values), or
by typing a value between 0 and 255 into the entry box. Any values entered greater than 255 will automatically
be changed to 255. Saturation refers to the intensity of a color signal. Adjusting this setting will
increase/decrease the intensity of all color information evenly. If a signal is more red than blue or green,
increasing saturation will show more of an effect on the red component than any other component. If the color
enable control is turned off, the saturation setting will have no effect on the image. Saturation is sometimes
referred to as color. This setting is not available if it is not supported by your capture card.
This setting can be adjusted by either moving the slider right (for higher values) or left (for lower values), or
by typing a value between 0 and 255 into the entry box. Any values entered greater than 255 will automatically
be changed to 255. Hue control will adjust all the colors in the signal according to the following formula

7. Hue Setting
. Where σ is saturation, μ is brightness, R is the RGB color value and φ is
hue. This adjustment essentially skews the image towards green (lower values) or violet (higher values). Hue is
sometimes referred to as tint. This setting is not available if it is not supported by your capture card.

8. Contrast Setting

This setting can be adjusted by either moving the slider right (for higher values) or left (for lower values), or
by typing a value between 0 and 255 into the entry box. Any values entered greater than 255 will automatically
be changed to 255. Contrast adjustment will intensify the boundaries between different luminance
values. Increasing the contrast will make those boundaries more distinct, while decreasing contrast will tend to
give the image a more muted look. This setting is not available if it is not supported by your capture card.

9. Brightness Setting

This setting can be adjusted by either moving the slider right (for higher values) or left (for lower values), or
by typing a value between 0 and 255 into the entry box. Any values entered greater than 255 will automatically
be changed to 255. Brightness adjustment will increase the values of the RGB signals in the color evenly,
shifting the image towards white (high values) or black(low values). This setting is not available if it is not
supported by your capture card.

10. Sharpness Setting

This setting can be adjusted by either moving the slider right (for higher values) or left (for lower values), or
by typing a value between 0 and 255 into the entry box. Any values entered greater than 255 will automatically
be changed to 255. Sharpness dictates the number of pixels to use for color transitions. When an image switches
between two distinct colors abruptly (say red and black), the video signal attempts to smooth that transition by
adjusting a few pixels on the boundary of the color change. Adjusting the sharpness will either increase (lower
values) or decrease (higher values) the number of pixels used for this transition. This setting is not available if it
is not supported by your capture card.

11. Gamma Setting

This setting can be adjusted by either moving the slider right (for higher values) or left (for lower values), or
by typing a value between 0 and 255 into the entry box. Any values entered greater than 255 will automatically
be changed to 255. Gamma adjustment is an attempt to linearize the power-law relationship between the
encoded luminance and actual desired brightness. If the actual source luminance is L, gamma will adjust the
luminance encoded by the capture card to L^(1/gamma). This setting is not available if it is not supported by
your capture card.

12. White Balance Setting

This setting can be adjusted by either moving the slider right (for higher values) or left (for lower values), or
by typing a value between 0 and 255 into the entry box. Any values entered greater than 255 will automatically
be changed to 255. Adjusts the perception of True White. Since video is an analog signal, the capture device
cannot exactly replicate the true colors being captured. Adjustment of the white balance will change the value
of True White, so that whenever a pure white image is shown to the camera, it will be processed with the True
White encoded value. All other colors that are processed will be adjusted according to True White. This setting
is not available if it is not supported by your capture card.

13. Backlight
Compensation Setting

This setting can be adjusted by either moving the slider right (for higher values) or left (for lower values), or
by typing a value between 0 and 255 into the entry box. Any values entered greater than 255 will automatically
be changed to 255. Backlight compensation is an attempt by the capture device to filter out unwanted
backlighting. This is not supported by most capture devices. This setting is not available if it is not supported by
your capture card.

14. Gain Setting

This setting can be adjusted by either moving the slider right (for higher values) or left (for lower values), or
by typing a value between 0 and 255 into the entry box. Any values entered greater than 255 will automatically
be changed to 255. Increasing the gain will increase the value of the raw video signal by a DC offset. Most
capture devices rely on the camera to perform this adjustment. This setting is not available if it is not supported
by your capture card.

10.3 Direction Finding Configuration
Direction Finding Configuration
To determine the direction the subject is facing, the video tracker will look for specific colored targets (generally LEDs) in a specific
configuration. The Direction Finding Configuration dialog allows you to make adjustments as to what colors are being tracked and where those
targets are in relation to the subject. Make sure that the adjustments you make here are correct, as incorrect values will give erroneous direction
values.
You can launch the Direction Finding configuration by pressing the Configure button on the video tracker acquisition entity properties.

Direction Finding Settings

1. Head Direction Offset

This value is set to adjust the head angle in degrees for tracking LEDs that are not centered on the subject. For
an example of how this value is used, see the documentation for the -SetDirectionOffset command.

2. Direction Indicator

The point of the arrow represents the direction your subject is facing, relative to the LED locations.

3. LED

These images indicate the location and color of the LEDs that cheetah is currently tracking. The location is fixed
based on the LED configuration you have selected. 2LED mode is pictured in the example.
When in 2LED tracking mode, you may specify the color you want each LED to be. The HS-54 configuration
has fixed colors that cannot be changed. Cheetah supports the following LED colors:

4. LED Color Selection

1. RED
2. GREEN
3. BLUE
Setting the LED color to a value that does not correspond to your actual LED colors can give erroneous direction
and position values.

5. OK Button

Unlike most other settings in Cheetah, the changes made for direction finding are not immediately applied. You
will need to press OK in order to apply the changes.

6. Cancel Button

Unlike most other settings in Cheetah, the changes made for direction finding are not immediately applied. If
you wish to discard all changes that you have made, you can click cancel. Closing the dialog by clicking the X
in the upper right corner is identical to clicking the cancel button.

10.4 Windows and Plots
Video Displays
Creating a Video Display
When a video tracker is added to your system, no display is created for it. In order to see what the video tracker is doing, you need to create a video
window and then add a plot.
You can create a video window from the Window menu on Cheetah's main window.

You will then get a new, empty video window. To add a plot to the window you can either use the Display menu of the new window or right click
anywhere in the window and select Add Plot. You will then see the Acquisition Entity Selection dialog. Select one and only one of the video
trackers listed in this window.

Video Window Overview
This section will give you a general overview of each of the parts of the video window. There are more detailed descriptions of some of the sections
after this overview.

1. Title Bar

The video window title bar will always display the name of the window along with the name of the video tracker
that is displayed in this window. Additional information can also be displayed in the window's title bar, such as
whether or not the plot is frozen.

2. File Menu

This menu will expand to show some common window tasks. See the detailed description of the video window's
file menu.

3. Display Menu

This menu will expand to allow you to manipulate some of the display aspects of the video window. See the
detailed description of the video window's display menu.

4. Video Plot

Unlike the other types of plot windows, the video window can only contain a single plot. The entire window will
be filled with the video image. For more information on the video plot, see the video plot description.

5. Close Window

Clicking on this X will close a window, exactly as it does for all Windows programs. Closing a window will
destroy the window. This means that when you close a window, all of the display settings you have changed and
plots you have added to the window will be lost.

6. Maximize Window

Clicking this button behaves the same as it does for all Windows programs on your system.

7. Minimize Window

Clicking this button will minimize this window to the bottom of the screen. It will not minimize this window to
the taskbar as it does with most Windows programs.

Video Window File Menu

1. Save Window
Configuration To File

Saves the window, plot and all of their current settings to a configuration file. This file can be reloaded at any
time. However, the acquisition entity associated with the plot must exist, and a window with the same name must
not exist. This does not save the current hardware or acquisition entity settings.

2. Close Window

Clicking on tis menu option will close a window, exactly as it does for all Windows programs. Closing a window
will destroy the window. This means that when you close a window, all of the display settings you have changed
and plots you have added to the window will be lost.

Video Window Display Menu

1. Add Plot

Clicking this menu option will allow you to add a video tracker plot to this window. Since the video window will only

allow one plot per window, this option will not be available when there is already a plot in the window. You must either
remove the current plot and then add the new one, or add the plot to a new window. When you select add plot, you will see
the Acquisition Entity selection dialog. This command can also be accessed by right clicking anywhere in the video
window, if there is currently no plot in the window.
2. Remove Plot

This menu item will remove the current plot from the video window. Once a plot is removed, nothing will be shown in the
video window; since the video window can only show a single plot. Removing a plot will erase all setting changes you
have made to the plot. If there are no plots in this window, this menu option will not be available. This command can also
be accessed by right clicking anywhere in the video window, if a plot is in the window.

3. Plot Type
Selection

This menu item contains a sub menu listing the plot types available. See Plot Type Selection under the Video Window and
Plot Properties section for more details.

4. Clear Window

This will force the display to clear itself. This is usually used when using overlay mode. In addition to this menu
command, you can press the C key with the window selected to clear the display.

5. Lock Window
Size

When the window size is locked, you will see a check mark next to this option. Locking the window size will disable
resizing of the window.

6. Overlay

The overlay menu option will switch the window in and out of overlay mode. When there is a check mark next to the
menu item, this means the display is currently in overlay mode. When in overlay mode, the window will show each
subsequent video frame overlaid on top of previous frames. Clearing the display or resizing the window will cause the
window to restart frame overlay. In addition to this menu command, you can press the O key with this window selected to
toggle overlay on and off.

Selecting this menu option will freeze the currently displayed video frame in the window. The work "frozen" will also
appear in the title bar, after the acquisition entity name. Clearing the display or resizing the window will cause the window
to clear, but no new frames will be displayed until the window is no longer frozen. There is also a check mark next to this
7. Freeze Window
option when the window is frozen. Un-freezing the window will begin to draw new frames as they are recieved. You will
not see any of the frames that were captured while the window is frozen, but they all will be processed by Cheetah. In
addition to this menu command, you can press the Spacebar with this window selected to freeze and unfreeze the display.
8. Save Window to This option is only available when the window is frozen. It will allow you to save the current window display to a BMP,
PNG or JPG raster image.
Image
9. Window
Properties

This will bring up the properties page and selects this window in the tree. If the properties page is closed, Cheetah will
open the properties page. If the properties page is open, it will make sure the properties page is visible. You can see a
detailed description of video window properties for more information.

Video Plot Overview

1. Targets

When you are in Threshold or Record view mode, any color or intensity values that are above your current threshold
will be shown. If you are in live video mode, you will see the live video instead of targets.

2. Direction Arrow

This shows the direction that the video tracker has detected. The arrow's head points forward. The arrow is overlaid
on top of the video image.

3. Position Cross

The intersection of the two lines of the position cross is the position that the video tracker has detected. The cross is
overlaid on top of the video image.

Video Window and Plot Properties
The video window properties are shown in the properties window when a video window or video plot is selected in the properties tree. For more
information on the properties window, see the detailed description of the properties page. Changes made to the window properties will affect all
plots within this window.

1. Name

This is the name of this video window, and it must be unique throughout Cheetah. The window name is shown
in the window's title bar, as well as in the display properties tree.

2. Show Direction Arrow

The direction arrow will show you the direction that the video tracker has determined your subject is facing. This
information is obtained from the video record that is generated by the video tracker. When this box has a check
mark, the direction arrow will be shown overlaid on the video plot. Removing the check mark will hide the
direction arrow, but direction processing will continue for all video records.

3. Show Position Cross

The position cross will show you the position that the video tracker has determined with in the video frame. This
information is obtained from the video record that is generated by the video tracker. When this box has a check
mark, the position cross will be shown overlaid on the video plot. Removing the check mark will hide the
position cross, but position processing will continue for all video records.
The plot type allows you to change how you view your video data. If Cheetah is not receiving any image
information (generally if acquisition is off) from the capture card, a blue screen will be displayed. Some capture
cards will display a black or blue image if no signal is present on the selected input. Cheetah supports the
following plot types for video:
1. Record View: This is an exact representation of the information that is saved to a video record. Since
video records can only contain a fixed amount of information, the image may not seem to fill the entire
video window. All color threshold crossings are shown in the display. Red, green and blue are shown as
their respective colors, and intensity is shown as gray. If tracking of a specific color is not enabled, you
will not see that color in the display.

4. Plot Type

2. Live Video: Live video will show the live, unprocessed video image that the capture card receives from
the camera. This is also the image that is recorded to an output file, if that option is enabled for the video
tracker. This view is useful for positioning your camera as well as adjusting video settings. This view is
not indicative of the information stored in the video records.

3. Threshold View: This view will show all threshold crossings in the complete image. When in record
view, if you have your thresholds set too low, you will see a bunch of lines towards the top of the
image. This means that the record is saturated, and the system is not tracking properly. You can switch to
threshold view to adjust the thresholds and zero in on the objects you wish to track. This view is not
indicative of the information stored in the video records.

11. Events

Event Acquisition Entity Overview
Events are either TTL changes or user entered strings that occur while Cheetah is running an experiment. Events can be used either as flags to
separate out different sections of neurological data or to monitor and control the experiment. When an event occurs, the timestamp is immediately
saved to an event file. If the event occurred because of a TTL change, the TTL value is saved with an event ID specifying which TTL input device
the triggered the event. For user generated events (either via NetCom or entered in the event display), the string saved. Unlike other acquisition
entities, you do not need to create an event acquisition entity, since there is only one (named Events) throughout the system.
Event Topics:
Event Display
Event Commands
Generic Dialog Commands
Event Display Commands

11.1 Event Display
Event Display

The Event Display will allow you to create and view events that are registered by Cheetah while recording or acquiring. The event display can be
launched from the View menu of Cheetah:

Manual Event Entry Section
The manual event entry section allows you to enter any string you want and have it timestamped and saved to an event record.

1. Event String Entry

The event string can be used as a label for a specific event. You can enter any text you wish (up to 128
characters) into this box. There are different modes available for event string entry that are explained
below. Pressing the Enter key will immediately generate an event record and store the text entered here into the
record.

2. Post Event

Clicking the post event button will immediately generate an event with the text in the event string box at the
current timestamp. You can either click this button or just press Enter after typing the event string to generate the
event.

3. Event Options

Launches the Event Options Dialog where you can modify event display and generation settings.

4. Timestamp

The Cheetah timestamp indicating when the event occurred.

5. TTL Value

If the event was created due to a TTL bit changing, then this represents the current value on a TTL port at the
time the event was generated. Events generated by pressing the post event button will have this value set to 0.
Events generated using the -PostEvent command will show the user specified value used in the command.

6. Event ID

An ID representing the source of this event. See -PostEvent for more information.

7. Event String

The string stored in the event record. This can be either a user defined string or an automatically generated string
depending on where the event originated. Event strings can be associated with a specific TTL bit going from 0
(low) to 1 (high) by using named events.

8. Clear Event History
Display

Clears out all the events in the event history. This does not remove events from a recorded event file, only
from the display.

Event Options Dialog
This dialog must be closed before you can continue using Cheetah.

1. Single Key Entry
Enable

When this option is unchecked, the either the Enter key must be pressed or the post event button clicked to generate an
event. Single key entry allows you to immediately generate an event whenever a letter is entered into the event string
box. After any key is pressed,an event record will be generated with the event string and the last letter in the event
string will be highlighted. Pressing another key will change the last letter in the event string to the key you just pressed
and generate a new record; highlighting the last letter again. This can be useful for generating numbered events.
Example: You wish to generate events labeled "event1", "event2", and "event3". Begin with the single key check box
unchecked, so you are in normal entry mode. Type the word "event" (without the quotes)into the event string
box. Open up the Event Options dialog and click the single key entry enable box to check it. Close the Event Options

dialog and then click in the event string entry right after the "t" in "event." Press the "1" key. You will see an event
with the label "event1" appear in the Event History. Now press "2." Immediately "event2" appears in the Event
History. Finally press "3." "event3" should now be in the Event History list. Unchecking the single key entry enable
will then return you to normal event entry mode.
2. Immediate
Timestamp Entry
Mode

When this option is unchecked, the timestamp for the event will be taken at the time the event is posted (either by
pressing Enter in the event string entry box, or clicking the post event button.) Checking the Immediate Timestamp
entry mode box will take the timestamp when you first begin typing into the event string box, not when you post the
event.

3. TTL Value Format

Changes the numeric format used to display TTL values in the event history. Changing the format will change all of
the TTL values currently shown in the event history.
1. Binary: Shows individual TTL bit on (1 ) or off (0). Bit number 0 is the rightmost bit in the string and the left
most bit is bit 15. EPorts that are less than 16 bits will have their value 0 extended to 16 digits.
2. Decimal: Shows a base 10 representation of all TTL bits.
3. Hexadecimal: Shows a base 16 representation of all TTL bits. Each digit represents a group of four bits with
the right most digit representing bits 0 - 3. Ports that are less than 16 bits will have their value 0 extended to 4
hex digits.
Example: On an eight bit port, bits 3 and 1 are on and all other bits are off. The representation of this TTL value in
each or the value formats is as follows:




Binary: 0000000000001010
Decimal: 10
Hexadecimal: 000A

4. Named TTL Event
List

List of named TTL events that are currently active. See the -SetNamedTTLEvent command for more information.
Clicking on an item in this list will populate the edit controls with the values for the selected item.

5. TTL Bit

The TTL bit number associated with the named event. When this TTL bit goes high (1) on the selected digital IO
device port, the text in the event string will be substituted for the default TTL event string.

6. Digital IO Device
Port

The port of the selected digital IO device where the desired bit is located. See digital IO ports for more information.

7. Digital IO Device

The name of the digital IO device that will be monitored for the bit change.

8. Event String

The custom event string to use when the specified TTL bit goes high (1).
NOTE: Replacing the default event string means that some information about the source of the TTL value will be lost.

Specifically, the name of the DigitalIO device and the port number that generated the TTL
9. Set Named TTL
Event

Associates an event string with a the TTL bit on the port of the digital IO device shown in boxes 5, 6 and 7. If a named
TTL event exists that matches the bit/port/device combination, the event string of that named event will be replaced
with the new event string. See the -SetNamedTTLEvent command for more information.

10. Removed Selected Removes the selected named TTL event from the system. The next time that bit goes high (1), it will use the default
TTL event string. See the -RemoveNamedTTLEvent command for more information.
Named TTL Event
11. Close

Closes this dialog.

12. Audio
Audio
Cheetah has the ability to allow you to listen to individual Spike or CSC acquisition entities through your computer's speakers or a pair of
headphones using the filter settings of those acquisition entities. This is not raw or unfiltered output. Audio output requires that you have a
DirectSound compatible sound card on your system or a hardware system capable of audio output. Currently only two channel audio devices are
supported. Audio output is always available (unless you don't have any compatible audio output devices), and its settings can be changed at any
time. You will only hear audio when Cheetah is in acquisition or recording mode. Cheetah will only output sound through Windows' Primary
Sound Driver or your hardware system's audio output. See your Windows help for more information on the Primary Sound Driver.
Audio Topics:
Audio Output Control
Audio Commands
Generic Dialog Commands

12.1 Output Control
Audio Output Control

The Audio Output Control will allow you to change the way Cheetah outputs audio while recording or acquiring.. All changes take effect
immediately. The Audio Output Control can be launched from the View menu of Cheetah:

There are also multiple ways to view the Audio Output from the plots and plot windows. This varies by type, see the reference guide entry for the
plots and plot windows of the specific type you wish to change.

Audio Output Device Section

1. Audio Device Selection

This is a list of all of the audio devices on your system that can be used by Cheetah for audio output. If you
do not see the audio device you wish to use, it may not be compatible with Cheetah, or is not properly
installed. Clicking on a device in the list will allow you to change the settings for that device in
Cheetah. You will notice that when you click on a device, the name appears at the top of the configuration
portion of the window. Cheetah will output audio on all of the devices at the same time. Generally, the first
audio device is Primary Sound Driver. If you only intend on using a single audio output device, it is
generally a best practice to use the Primary Sound Driver. Your Primary Sound Driver can be changed
through the Windows control panel. See your Windows documentation for more information. If your
acquisition hardware supports audio output, the audio outputs for that hardware will also be listed here. See
your acquisition hardware documentation for more information on the audio output capabilities of your
hardware.

2. Mute All

Checking this box will mute all audio channels on all audio devices.

Audio Device Configuration

1. Configuration Options

This portion of the display contains all of the options that you can change for each device. The
changes you make here will only affect the selected device, and will take effect
immediately. Cheetah currently supports stereo output devices. Changing the selection in the
Audio Output Device list will change the title of this section.

2. Audio Channel Setup

The setup for left and right channel audio is identical. All settings on the left or right channel can
be heard through their respective speakers connected to the selected audio device.

3. Acquisition Entity Selection

Cheetah can output audio for both spike and continuously sampled channels. When you select an
acquisition entity from the list, you should immediately hear it on the channel you are
configuring. The number of channels in the channel selection list will be determined by the
selected acquisition entity. You may only select one acquisition entity per audio
channel. However, the same acquisition entity may be used on a different audio device or
channel. Selecting None as the acquisition entity disables output on the selected audio device and
channel. All devices will initially start out with None selected for the acquisition entity unless
configured to do otherwise. The audio heard on the output channel will already be filtered and
amplified according to the settings for the selected acquisition entity. Spike acquisition entities
will output the continuous signal as audio, not extracted spikes.

4. Channel Selection

Here you will be able to select the channels for the selected acquisition entity that you wish to
hear. This is mainly used for multi-channel acquisition entities such as tetrodes and
stereotrodes. When you select a new acquisition entity, all of the channels available for that
acquisition entity will be displayed, and their audio output will be enabled. To disable output for a
specific channel, uncheck the box next to the channel you want to disable. You should
immediately hear the channel silenced on the audio output. Checking the box next to a channel
should immediately begin outputting the audio for that channel. All channels are output

individually, there is no summing of the channels. So if you had two different songs playing on
two different channels, you would hear both songs being output through the speaker.
5. Volume

The volume slider here is used to amplify the audio signal within Cheetah. To make the sound
louder, move the slider to the towards the word Volume. Moving the slider in the opposite
direction will quiet the audio. Changing the volume in Cheetah has no effect on your Windows
sound settings or the amplification of the signals recorded by Cheetah. Changes in the input range
of your signal will also affect the volume level for Cheetah. Input ranges that are closest to the
actual input signal will provide the largest range of control over the volume. Changes in your
Windows audio settings will add or subtract amplification on top of the Cheetah volume setting.

6. Mute

Checking this box will mute the audio on this channel of the selected audio device only. The
volume slider will be unavailable when the channel is muted. Unchecking the mute option will
restore the output to the previous volume and re-enable the volume slider. This setting has no
effect on the signals recorded by Cheetah.

13. TTL Response
TTL Response
Cheetah has the ability to send out a TTL pulse in response to certain events occurring during acquisition or recording. While the responses are not
extensively customizable, they are designed to provide basic experiment control functionality with the lowest latency possible. If the TTL response
functionality present in Cheetah does not meet your needs, contact support@neuralynx.com with a description of the task you wish to perform.
Cheetah can respond to the following:
Spike Response

When a new spike is detected for a spike acquisition entity,
Cheetah will output a high TTL pulse on a Digital IO
device. Spike responses can be configured to only respond
to specific cells (defined by Spike Sort 3D) or to any spike
that occurs.

TTL Input Response

When a bit is changed on a Digital IO input device, Cheetah
will send a high TTL pulse to a Digital IO output bit.

The TTL pulses are controlled by Digital IO devices. For more information see the Digital IO section of this guide.
Some hardware systems have TTL response mechanisms included that further decrease the latency of spike and TTL input response. See the
documentation for your hardware for more information.
TTL Response Dialog
TTL Response Commands

13.1 TTL Response Dialog
TTL Response Dialog
The TTL Response dialog allows you to view current responses as well as setup new TTL pulse outputs for a specified spike acquisition entity or
TTL input bit. The duration of the TTL pulse is set using the Digital I/O Setup dialog.
The TTL Response dialog can be launched from the View menu of Cheetah:

TTL Response List
The TTL Response dialog contains a list of every available TTL output bit and its current response assignment. Each output bit can be assigned to a
single input object and cell/input bit combination. Clicking on an item in the list will allow you to adjust the input object and cell/input bit monitored
for response.

1. Output Device This is the name of the TTL output device to use for response. If the device you want to use is not listed, it is either not
supported by Cheetah or is currently set as a TTL input device. See the Digital IO section of this guide for more
information on TTL direction and device naming.
2. Output Port

The output port that contains the bit being used for spike response. See the Digital IO section of this guide for more
information on TTL ports.

3. Output Bit
Number

The specific bit that will be pulsed in response to an input object. See the Digital IO section of this guide for more
information on TTL bit numbering.

4. Input Object
Name

The input object to use for TTL response. This list contains both spike acquisition entities and TTL input ports. For more
information on how Cheetah responds to each of these input object types, see the TTL Response commands section of this
guide.

5. Cell or Input
Bit Number

Depending on the type of input object selected, this will either be the cell number (spike input object) or bit number (TTL
input object) monitored to trigger a TTL pulse. For spike input objects, the cell number may be set to a value of all. When
set to all, cell number is disregarded and any spike coming in from the acquisition entity will cause a TTL pulse to be
delivered. Selecting None for any input object type will disable TTL response for the corresponding output bit. For more
information on cell numbers, see the -SetClusterBoundary command. For information on TTL bit numbering see the Digital
IO section of this guide.

14. Licensing
Licensing
When you purchase Cheetah from Neuralynx, you are actually purchasing a license to use Cheetah. This license will make sure that your copy of
Cheetah will only run on your PC, and that you'll be able to use all of the features of Cheetah that you paid for. If your license file gets stolen, it will
be worthless on another computer. Licensing is there to protect your investment. A license is only required when you want to record data from a
Neuralynx hardware system. No license file is required when you play back raw data files.
Here are the important things to know about how licensing works with Cheetah.
Licensing Topics:
Finding Your Host ID
Cheetah License Manager Overview
Updating Your License File

14.1 License Manager

License Manager
The Cheetah License Manager will allow you to view and update the licensing information for this computer. It can be launched from the Help menu
of Cheetah:

License Manager Overview

1. Licensee

This is the name and/or lab to whom the license file was issued. If the name here is not correct, please
contact Neuralynx with your new information so we can update our records and issue you an updated
license file.

2. Host ID

The host ID of the PC you are currently using. This information is required for Neuralynx to issue you a
license file. If you do not have a license file, or your license does not appear to be valid, please include
this information when you request a new license file.

3. AD Channels

The number of AD channels that this copy of Cheetah is licensed to use. Any attempt to use more than
this number of channels will be disallowed by Cheetah.

4. Video Trackers

The number of Video Trackers that this copy of Cheetah is licensed to use. Any attempt to use more
than this number of Video Trackers will be disallowed by Cheetah.

5. Update License File

Allows you to update your license information. See Updating Your License File for more information.

6. Closes License Manager

Closes the license manager. You can either click this button or press the X in the upper right corner to
close the License Manager.

14.2 Updating Your License
Updating Your License File
From time to time, it may be necessary to update your license file. You may do this because you upgraded to a new PC; have purchased more
features from Neuralynx, or simply just want to update your user name and lab. You have two options to update your license once you receive your
new license from Neuralynx. The first is to just re-install Cheetah and provide the new license file when asked. Otherwise, you can just update the
file through Cheetah.
1. With Cheetah running; open the License Manager from the Help menu of the main window.

2. Click the Update License File button.

3. Browse your computer to find the new license file. It should be named NlxLicense.lic. Once you find the new file, click Open.

4. If you are using Windows Vista or Windows 7, you will see a User Account Control (UAC) prompt asking you to allow Cheetah to update
your license file. Click Yes to continue

5. Your new license information should now be shown in the License Manager.

Troubleshooting Tips
If you see an error message when updating your license file, here are some common things to check:

1. Make sure you have selected the correct license file.
2. If the license file is located on a network or removable drive, make sure you can access the drive.
3. Verify that you are using the PC whose host ID was sent to Neuralynx.
If you've verified all of these steps, and are still having licensing issues, please send your log file and a copy of your license to
support@neuralynx.com

14.3 Finding Your Host ID
Finding Your Host ID
Cheetah is only licensed to be used on a single computer. We do this by tying the license file to the host ID of your computer, and will need this
information before issuing you a license file. There are a few ways of finding the host ID of your computer.

Using Cheetah 5.0 or Newer
You can download and install Cheetah without having your license file. When the installer asks you for a license file, continue with the install, and
ignore any messages that pop up. Once Cheetah is installed, you can find the host ID using the license manager.
1. Start Cheetah from the Desktop by double clicking on the Run Cheetah link.

2. Press Enter when the Startup Configuration Selection dialog comes up, and ignore any errors that may occur during startup.

3. Launch the License Manager from the Help menu.

4. The License Manager will show you the host ID for the computer you are currently running. Copy the highlighted 12 character number and
give this to Neuralynx to generate your license.

Using Windows XP
If you do not want to go through the process of downloading and installing Cheetah without a license file, you can use Windows to determine your
host ID.
1. Click on the Start Menu and then Run

2. Type "cmd" (without the quotes) into the Open box.

3. Type "%WINDIR%\System32\ipconfig /all >> %USERPROFILE%\Desktop\hostid.txt" at the command prompt as shown below. This will
create a file called hostid.txt on your Desktop.

4. You can then email the hostid.txt file to Neuralynx to obtain your license file. The hostid.txt file can be safely deleted after you have emailed
it to Neuralynx.
Using Windows Vista or Windows 7
The only deviation from the Windows XP pocedure detailed above is how to launch the command prompt. You can either use the Run shortcut by
holding down the Window key on the keyboard, and while holding down the Window key, press the R key to open the Run dialog. Or you can open
the Start Menu and type Run in the search box, selecting Run from the Programs search result as shown below:

15. NetCom
NetCom Overview

NetCom is a TCP/IP interface for experiment control and real time data streaming. Cheetah contains the server side of this interface, while
Neuralynx provides a library containing the client side of the interface for both internal and user development. NetCom allows most of the
configuration commands to be sent to Cheetah allowing an experiment control program access to many of cheetahs properties as well as its
functionality. NetCom also allows an experiment control program to open up real time data streams. The client program may select any number of
valid acquisition entities and have the data for said acquisition entity passed through NetCom to the client application.
A NetCom Development package, along with examples in C++/MFC, C#, VB and Matlab is available from the software downloads section of our
website ( www.neuralynx.com/Software).

16. Cheetah Commands
Cheetah Commands Overview
Cheetah uses commands to both setup and control an experiment. Most of the commands are going to be processed from configuration files, and are
used to setup an experiment. You can also use commands through NetCom to control an experiment. Regardless of where the commands come
from, they are processed by Cheetah identically.
Command Rules
All of the Cheetah commands obey some common rules. If a command deviates from these rules, the description of the command will let you
know. Actual commands will appear in italics. When using commands in configuration files, there are additional rules (see Configuration Files for
more information).
1. Commands begin with a hyphen (-).
o
-StartAcquisition is valid. StartAcquisition is not
2. Commands and arguments are case insensitive.
o -processconfigurationfile test.cfg and -ProcessConfigurationFile Test.cfg are identical.
3. Commands must be spelled correctly, there are no abbreviations.
o -StartAcquisition is valid. -StartAcq is not
4. All command arguments are separated by a space.
o -SetSpikeThreshold SC1 200 has two arguments SC1 and 200.
5. If any command or argument contains a space, it must be surrounded by double quotes (" ").
o -CreatePlotWindow Spike "Spike Window 1" will create a spike plot window named Spike Window 1.
6. All objects must be created before they are used.
o -CreateSpikeAcqEnt Sc1 DL 1 must be called after -CreateHardwareSubSystem DL DigitalLynx because DL needs to be created to be
used in the spike acquisition entity creation.

7. All command arguments are required unless otherwise stated in the command documentation.

16.1 General Cheetah Commands
General Cheetah Commands
These commands are general commands for Cheetah. They are primarily used during configuration file processing to setup system wide options or
control configuration file pocessing.

-Break
Halts execution of the current configuration file and closes the file. If the current configuration file was called from a different configuration
file using the -ProcessConfigurationFile command, the calling configuration file will continue.
Example: Assume you have two configuration files:
Cheetah.cfg (contains the following three lines):
-SetLogFile logfile.txt
-ProcessConfigurationFile my_file.cfg
-SetDataDirectory C:\Temp

my_file.cfg (contains the following two lines):
-Break
-SetLogFile test.txt
Cheetah will exit the my_file.cfg file without processing the -SetLogFile test.txt command and continue with the -SetDataDirectory command
in Cheetah.cfg.
Default: This command is an action, there is no default value.
Usage: This command can be used at any time.

-GetCheetahBuildDate

Returns the build date for the Cheetah application for which the client is connected to.
Example: -GetCheetahBuildDate
Default: N/A
Usage: This command should only be used from a NetCom client application after a connection to a server has been established.
NetCom Reply
Error Code

If the command is successful, this value will be equal to 0. Otherwise, the value will be equal to -1.

Build Date

The build date of the Cheetah application for which the NetCom client application is currently connected to.

-GetCheetahObjects
Creates a list of acquisition entity object names that are currently setup in cheetah and returns them to the client application. Acquisition entity
object names can then be used to change property values in cheetah or setup real time data streaming. There are no arguments for this
command.

-GetCheetahTypes
Creates a list of acquisition entity object types that are currently setup in cheetah and returns them to the client application. Acquisition entity
object types can then be used with a list of acquisition entity object names (see -GetCheetahObjects) to change property values in cheetah or
setup real time data streaming. There are no arguments for this command.

-GetCheetahVersionNumber
Returns the version number for the Cheetah application for which the client is connected to.
Example: -GetCheetahVersionNumber
Default: N/A
Usage: This command should only be used from a NetCom client application after a connection to a server has been established.
NetCom Reply
Error Code

If the command is successful, this value will be equal to 0. Otherwise, the value will be equal to -1.

Version Number The version number of the Cheetah application for which the NetCom client application is currently connected to.

-GetDataDirectory

Returns the current data directory.
Example: -GetDataDirectory
Default: N/A
Usage: This command should only be used from a NetCom client application after a connection to a server has been established.
NetCom Reply
Error Code

If the command is successful, this value will be equal to 0. Otherwise, the value will be equal to -1.

Data Directory The current data directory being used by Cheetah to store data files in.

-LogMessage  
Logs the message to the current cheetah logfile.
Example: -LogMessage "Log Message To Logfile"
Default: This command is an action, there is no default value.
Usage: This command can be used at any time.
Arguments
Specifies the message label to be for the specified message. This must be one of the following message type keywords:

Message Type

Message

1. Fatal: Fatal messages are unrecoverable, and Cheetah should be restarted.
2. Error: Error messages are for errors in commands, incorrect keywords or values, or intermittent problems with a
portion of the system
3. Warning: Warning messages indicate that something happened out of the ordinary, but was handled by Cheetah.
4. Notice: Notices provide status information about Cheetah. These messages are purely informational.
5. Data: Data messages are not generated by Cheetah. These message types can be used to log information to the log
file. However, if you will use these messages for analysis, you would be better off posting an event with the
message as the event string.
This is an ascii string that must be between double quotes.

-ProcessConfigurationFile 
Tells Cheetah to process the specified configuration file. Cheetah will process this file completely before continuing to the command after ProcessConfigurationFile. Any errors in the specified configuration file will cause all configuration file processing to stop.

Example: -ProcessConfigurationFile my_configuration.cfg
Default: This command is an action, there is no default value.
Usage: This command can be used at any time.
Arguments
The name of the configuration file to process. If only a filename is specified, Cheetah will first look in its current working
directory (usually the directory containing Cheetah.exe) and then in the Configuration directory for the specified file
name. If the file does not exist in either directory, this command will fail.
File Name

Example: -ProcessConfigurationFile my_configuration.cfg
If a complete path is specified, Cheetah will look for the specified file, if it is not found, this command will fail.
Example : -ProcessConfigurationFile "C:\Cheetah Configurations\my_configuration.cfg"

-SetDataDirectory 
Sets the base data directory for all of the files Cheetah creates. The location of these files can be overridden by the -SetLogFile, -SetDataFile,
-SetRawDataFile, or -SetVideoFileOutput commands. A sub-directory will automatically be created with the date and time (in 24 hour
format) at the time this command is processed. Cheetah will use the C:\temp directory as the base data directory if this command is not used.
Example: -SetDataDirectory "C:\Cheetah Data"
Default: Cheetah will use C:\temp as the base data directory..
Usage: This command can be used only if Cheetah is idle.
Arguments
The full path name of the directory to use as the base data directory . If the directory doesn't exist, it will be created.
Example: -SetDataDirectory "C:\Cheetah Data"
Directory Path

If this command is run on October 13, 2007 at 1:57:07 PM, Cheetah will create the following directory (referred to as the
Current Data Directory):
C:\Cheetah Data\2001-10-13_13_57_07
All files not overridden by the commands stated above will be created in that directory, and files will be created every time

the -SetDataDirectory command is used.

-SetLogFile 
Sets the file where all Cheetah system messages will be logged.
Example: -SetLogFile My_Logfile.txt
Default: Cheetah will use CheetahLogFile.txt in the current data directory as the logfile.
Usage: This command can be used at any time.
Arguments
Sets the file to use for logging Cheetah system messages. The logfile normally uses a .TXT extension. If only a filename is
specified, Cheetah will create the file in the current data directory.
Example: -SetLogFile My_Logfile.txt
File Name

If a complete path is specified, Cheetah will create the file in the specified location.
Example : -SetLogFile "C:\Cheetah Logs\My_Logfile.txt"
The directory C:\Cheetah Logs must exist or this command will fail.

16.2 Generic Dialog Commands
Generic Dialog Commands
The permanent windows in Cheetah are listed underneath the Window menu of the main window. These commands control the positioning and
visibility for those windows. Normally these commands are only used by Cheetah when it is saving configuration files.

-SetDialogPosition   
This command allows you to position any of Cheetah's permanent dialogs.
Example: -SetDialogVisible Events 75 80

Default: There is no default value for this command. This means that if this command is not used, the permanent dialogs could be
placed anywhere on the screen.
Usage: This command can be used at any time.
Arguments
Specifies which of Cheetah's permanent dialogs you wish to modify:

Dialog
Keyword

1.
2.
3.
4.
5.
6.
7.

Audio: Selects the Audio Output Dialog
Events: Selects the Event Display Dialog
Properties: Selects the Display and Acquisition Entity Properties Dialog
Status: Selects the System Status Dialog
Main: Selects the Main Window
TTLResponse: Selects the TTL Response Dialog
Hardware: Selects the Hardware Properties Dialog (a hardware system must have already been defined for this
keyword to work).

If the keyword specified does not match any of the listed keywords, this command will fail.
The position, in pixels, to place the left side of the specified dialog. This value is relative to your desktop, and must be
within the bounds of your desktop. If a value is outside the bounds of your desktop, it will be adjusted to that the dialog is
placed as close to your value as possible, while remaining completely visible.
X Coordinate

Y Coordinate

Example: You have your screen resolution set to 1600 x 1200, and the following command is processed by Cheetah:
-SetDialogPosition Audio 1600 100
Since putting the Audio dialog with its left point at 1600 and top at 100 will place the dialog outside of your desktop,
Cheetah will move the dialog left until it is completely visible. The top position will not be changed since it is within the
bounds of the desktop.
The position, in pixels, to place the top of the specified dialog. This value is relative to your desktop, and must be within
the bounds of your desktop. If a value is specified that is outside the bounds of your desktop, it will be adjusted to that the
specified dialog is placed as close to your value as possible, while remaining completely visible.

-SetDialogVisible  
This command allows you to either show or hide any of Cheetah's permanent dialogs.
Example: -SetDialogVisible Events True
Default: The System Status Dialog is shown when Cheetah starts. All other dialogs are hidden.

Usage: This command can be used at any time.
Arguments
Specifies which of Cheetah's permanent dialogs you wish to modify:

Dialog
Keyword

1.
2.
3.
4.
5.
6.
7.

Audio: Selects the Audio Output Dialog
Events: Selects the Event Display Dialog
Properties: Selects the Display and Acquisition Entity Properties Dialog
Status: Selects the System Status Dialog
Main: Selects the Main Window
TTLResponse: Selects the TTL Response Dialog
Hardware: Selects the Hardware Properties Dialog (a hardware system must have already been defined for this
keyword to work).

If the keyword specified does not match any of the listed keywords, this command will fail.
Visible can be one of the following values:
Visible

1. True: The window will be visible.
2. False: The window will be hidden

16.3 System Status Display Commands
System Status Display Commands
These commands control how the system status dialog displays information. These commands are in addition to the generic dialog commands,
which can also be applied to the system status dialog.

-SetSystemStatusMessageFilter  
This command changes the messages that are visible in the System Status Dialog's message history. All messages are passed through the
message filters before being sent to the message history. If the message makes it through the filters, it will be displayed in the message
history. Changes in the filter settings will have no effect on messages that have already been through the filtering process.
Example: -SetSystemStatusMessageFilter Fatal On

Default:

Meassage Type

Value

Fatal

On

Error

On

Warning

Off

Notice

Off

Data

Off

Usage: This command can be used at any time.
Arguments
Specifies the message filter to be set is the system status dialog. This must be one of the following message type keywords:

Message Type

1. Fatal: All messages tagged as FATAL will be affected. Fatal messages are unrecoverable, and Cheetah should be
restarted.
2. Error: All messages tagged as ERROR will be affected. Error messages are for errors in commands, incorrect
keywords or values, or intermittent problems with a portion of the system
3. Warning: All messages tagged as WARNING will be affected. Warning messages indicate that something
happened out of the ordinary, but was handled by Cheetah.
4. Notice: All messages tagged as NOTICE will be affected. Notices provide status information about
Cheetah. These messages are purely informational.
5. Data: All messages tagged as DATA will be affected. Data messages are not generated by Cheetah. These
message types can be used to log information to the log file. However, if you will use these messages for analysis,
you would be better off posting an event with the message as the event string.
The message filters can be in one of the following states:

Value

1. On: If a message type has the filter On, Cheetah will display messages of that type in the System Status Dialog.
2. Off: If a message type has the filter Off, Cheetah will hide messages of that type from the System Status Dialog.

-SetSystemStatusShowDetails 
Tells the System Status dialog to show or hide the expanded details view.

Example: -SetSystemStatusShowDetails True
Default: Cheetah will start with with the expanded details view visible (Show = True).
Usage: This command can be used at any time.
Arguments
The show value can be one of the following:
Show

1. True: The System Status dialog will show the expanded details view.
2. False: The System Status dialog will be in the single line view.

16.4 Digital Lynx SX Commands
Digital Lynx SX Commands
-CreateHardwareSubSystem       
This command is used to tell Cheetah what type of acquisition hardware you are using with your system. Once a system is created, it cannot
be removed, and the name and system type cannot be changed. Cheetah will start with no hardware systems defined if this command is not
used.
Example: -CreateHardwareSubSystem "My DigitalLynx" DigitalLynxSX 32000 192.168.3.10 26011 192.168.3.100 26090
Default: This command is an action, there is no default value.
Usage: This command can only be used when Cheetah is idle.
Note: This version of the command has parameters specific to Digital Lynx SX creation.
Arguments
Hardware Sub
System Name

The name of the hardware sub system you wish to create. This name must be unique throughout the Cheetah system.
Specifies the type of hardware sub system you wish to create. This value must be one of the following types:

Sub System
Type

1. DigitalLynxSX: Creates a Digital Lynx SX acquisition system for use with Cheetah.
2. DigitalLynx: Creates a Digital Lynx acquisition system for use with Cheetah.

3. Cheetah64: Creates a DT3010 acquisition system. This includes the 8, 16, 32, 40, 48, 56 and 64 channel analog
acquisition systems.
4. Cheetah160: Creates an acquisition system using the Cheetah160 box.
5. RawDataFile: Creates an acquisition system that will use a pre-recorded raw data file. The Raw Data File
argument is required when creating a system of this type.
Sample
Frequency

The sample frequency of the Digital Lynx SX hardware. This value must be between 16000 and 40000 Hz in increments
of 2000 Hz. The value 32768 Hz is also valid. Once this value is set, it cannot be modified.

Command IP
Address

The IP address of the Digital Lynx SX hardware. Once this value is set, it cannot be modified.

Command Port
Number

The port number of the Digital Lynx SX hardware. Once this value is set, it cannot be modified.

Data IP Address The IP address that Cheetah will use to receive AD Records. Once this value is set, it cannot be modified.
Data Port
Number

The port number that Cheetah will use to receive AD Records. Once this value is set, it cannot be modified.

-GetDSPDelayCompensationEnabled
Returns the current state of delay compensation for this system. See -SetDSPDelayCompensationEnabled for more information.
Example: -GetDSPDelaycompensationEnabled
Default: N/A
Usage: This command should only be used from a NetCom client application after a connection to a server has been established.
NetCom Reply
Error Code

If the command is successful, this value will be equal to 0. Otherwise, the value will be equal to -1.
The reply can be one of two values:

Enabled

1. True: DSP delay is subtracted from the timestamp for each CSC and spike record.
2. False: DSP delay is not subtracted from the timestamp for each CSC and spike record.

-GetMinMaxInputRange 

Returns the minimum and maximum input range value that can be used for the hardware sub system.
Example: -GetMinMaxInputRange AcqSystem1
Default: N/A
Usage: This command should only be used from a NetCom client application after a connection to a server has been established.
Arguments
Hardware Sub
System Name

The name of the hardware sub sytem to retrieve information for.

NetCom Reply
Error Code

If the command is successful, this value will be equal to 0. Otherwise, the value will be equal to -1.

Min Input Range The minimum input range value allowed for the hardware sub system.
Max Input Range The maximum input range value allowed for the hardware sub system.

-GetRawDataFile 
Returns the raw data file name and location for data recording.
Example: -GetRawDataFile AcqSystem1
Default: N/A
Usage: This command should only be used from a NetCom client application after a connection to a server has been established. The
specified sub system must be a Digital Lynx SX, Digital Lynx, Cheetah64 or Cheetah160 system.
Arguments
Hardware Sub
System Name

The name of the hardware sub sytem to retrieve information for.

NetCom Reply
Error Code If the command is successful, this value will be equal to 0. Otherwise, the value will be equal to -1.
File Name

The name of the raw data file currently in use by the specified hardware sub system. If a raw data file has not been set, this
paramter will not empty. For Cheetah64 systems, only the raw data file name for board 0 is returned.

-SetDmaBuffers   
Creates DMA (Direct Memory Access) buffers to be used to store AD (Analog to Digital) data from a hardware sub sytem. The DMA buffers
are the first set of buffers used in processing data from a sub sytem. Once a buffer is full, the buffer is processed and sent to be filtered. The
buffer size and number of buffers effect the overall performance of the system. Smaller buffer sizes will allow data to be moved through the
system with a lower latecy, but will also increase the possibility of overruning a buffer. If a buffer is overrun, then all the data in that buffer is
lost and cannot be reclaimed. If latency is not an issue, it recommended that larger buffer sizes are used to improve the overall efficiency of
the system.
Example: -SetDmaBuffers AcqSystem1 128 5
Default: The default number of buffers is 64, with a buffer size of 2 ms.
Usage: This command can only be used when Cheetah is idle.
Arguments
Sub System
Name

The name of the sub system which will be modified.

Bufer Count

The number of dma buffers to create. Valid range: 32..256.

Buffer Size

The size of each buffer. This is in milliseconds. Valid range: 1..50

-SetDSPDelayCompensationEnabled 
The Cheetah DAS utilizes two types of digital filters for online signal processing of Digital Lynx data. A Finite Impulse Response (FIR) filter
is used for all high-cut filters and low-cut filters above 50Hz. For low-cut filters below 50Hz a DC Offset (DCO) filter is implemented.
FIR filters implemented in the Cheetah DAS are designed to be linear phase. This means that the output of the FIR is delayed from the input,
but the delay is equal for all frequencies so the phase is not distorted. The number of FIR taps determines the roll-off of the filter and the delay
(i.e. more taps result in a steeper roll-off with the sacrifice of CPU power, memory, and a longer delay.) The delay, in seconds, can be
calculated with the formula:
Delay(s) = ( (High_Cut_Taps - 1) + (Low_Cut_Taps - 1) ) / (Sampling_Freq(Hz) * 2)
Since the filtering is done prior to sub-sampling, the sampling frequency at which the data is filtered is always the sampling frequency of the
system.
This is a system wide setting and it cannot be selectively enabled on specific acquisition entities. Doing so would cause inconsistencies in
timing when comparing data between acquisition entities, thus it is disallowed.

DCO filters do not cause a delay in the data and are not affected by this setting.
Example: -SetDSPDelaycompensationEnabled True
Default: Cheeah defaults to having DSP delay compensation turned off in order to remain compatible with data recorded using previous
versions of Cheetah. This may change in a future release.
Usage: This command can be used only if Cheetah is idle.
Arguments
The enabled argument can be one of two values:

Enabled

1. True: The timestamps for all spike and CSC records will have the DSP delay subtracted from the original Cheetah
timestamp in order to compensate for the delay caused by the DSP filters. .
2. False: DSP delay is not subtracted from the timestamp for each CSC and spike record.
NOTE: Versions of Cheetah prior to 5.5.0 did not have the option of automatically compensating for DSP delay. If
comparing data recorded with earlier versions of Cheetah, be sure to take the DSP delay into account for the older data.

-SetRawDataFile  
This will set the raw data file name and location for data recording. It will also enable raw data output to the file. A raw data file will contain
all samples from all A/D channels before any digital filtering is applied to the signal. These files are useful for recording all information for
later analysis. This file is recorded in addition to the normal Cheetah data files. Cheetah is able to play back raw data files by creating a raw
data file playback hardware subsystem.
Example: -SetRawDataFile AcqSystem1 "CheetahRawData.nrd"
Default: Cheetah will not use a raw data file unless this command is specified.
Usage: This command can be used at any time. The specified sub system must be a Digital Lynx SX, Digital Lynx, Cheetah64 or
Cheetah160 system.
Arguments
Sub System
The name of the sub system whose data will be written to the raw data file.
Name
File Name

Sets the file to use for raw data output. The raw data file normally uses a .NRD extension. If only a filename is specified,
Cheetah will create the file in the current data directory.
Example: -SetRawDataFile AcqSystem1 "CheetahRawData.nrd"

If a complete path is specified, Cheetah will create the file in the specified location.
Example :-SetRawDataFile AcqSystem1 "C:\Cheetah Raw Files\CheetahRawData.nrd"
The directory C:\Cheetah Raw Files must exist or this command will fail.

16.5 Digital Lynx Commands
Digital Lynx Commands
-CreateHardwareSubSystem  
This command is used to tell Cheetah what type of acquisition hardware you are using with your system. Once a system is created, it cannot
be removed, and the name and system type cannot be changed. Cheetah will start with no hardware systems defined if this command is not
used.
Example: -CreateHardwareSubSystem "My DigitalLynx" DigitalLynx
Default: This command is an action, there is no default value.
Usage: This command can only be used when Cheetah is idle.
Arguments
Hardware Sub
The name of the hardware sub system you wish to create. This name must be unique throughout the Cheetah system.
System Name
Specifies the type of hardware sub system you wish to create. This value must be one of the following types:

Sub System
Type

1. DigitalLynx: Creates a Digital Lynx acquisition system for use with Cheetah.
2. Cheetah64: Creates a DT3010 acquisition system. This includes the 8, 16, 32, 40, 48, 56 and 64 channel analog
acquisition systems.
3. Cheetah160: Creates an acquisition system using the Cheetah160 box.
4. RawDataFile: Creates an acquisition system that will use a pre-recorded raw data file. The Raw Data File
argument is required when creating a system of this type.

-GetDSPDelayCompensationEnabled
Returns the current state of delay compensation for this system. See -SetDSPDelayCompensationEnabled for more information.
Example: -GetDSPDelaycompensationEnabled
Default: N/A
Usage: This command should only be used from a NetCom client application after a connection to a server has been established.
NetCom Reply
Error Code

If the command is successful, this value will be equal to 0. Otherwise, the value will be equal to -1.
The reply can be one of two values:

Enabled

1. True: DSP delay is subtracted from the timestamp for each CSC and spike record.
2. False: DSP delay is not subtracted from the timestamp for each CSC and spike record.

-GetMinMaxInputRange 
Returns the minimum and maximum input range value that can be used for the hardware sub system.
Example: -GetMinMaxInputRange AcqSystem1
Default: N/A
Usage: This command should only be used from a NetCom client application after a connection to a server has been established.
Arguments
Hardware Sub
System Name

The name of the hardware sub sytem to retrieve information for.

NetCom Reply
Error Code

If the command is successful, this value will be equal to 0. Otherwise, the value will be equal to -1.

Min Input Range The minimum input range value allowed for the hardware sub system.
Max Input Range The maximum input range value allowed for the hardware sub system.

-GetRawDataFile 

Returns the raw data file name and location for data recording.
Example: -GetRawDataFile AcqSystem1
Default: N/A
Usage: This command should only be used from a NetCom client application after a connection to a server has been established. The
specified sub system must be a Digital Lynx SX, Digital Lynx, Cheetah64 or Cheetah160 system.
Arguments
Hardware Sub
System Name

The name of the hardware sub sytem to retrieve information for.

NetCom Reply
Error Code If the command is successful, this value will be equal to 0. Otherwise, the value will be equal to -1.
File Name

The name of the raw data file currently in use by the specified hardware sub system. If a raw data file has not been set, this
paramter will not empty. For Cheetah64 systems, only the raw data file name for board 0 is returned.

-SetDmaBuffers   
Creates DMA (Direct Memory Access) buffers to be used to store AD (Analog to Digital) data from a hardware sub sytem. The DMA buffers
are the first set of buffers used in processing data from a sub sytem. Once a buffer is full, the buffer is processed and sent to be filtered. The
buffer size and number of buffers effect the overall performance of the system. Smaller buffer sizes will allow data to be moved through the
system with a lower latecy, but will also increase the possibility of overruning a buffer. If a buffer is overrun, then all the data in that buffer is
lost and cannot be reclaimed. If latency is not an issue, it recommended that larger buffer sizes are used to improve the overall efficiency of
the system.
Example: -SetDmaBuffers AcqSystem1 128 5
Default: The default number of buffers is 64, with a buffer size of 2 ms.
Usage: This command can only be used when Cheetah is idle.
Arguments
Sub System
Name

The name of the sub system which will be modified.

Bufer Count

The number of dma buffers to create. Valid range: 32..256.

Buffer Size

The size of each buffer. This is in milliseconds. Valid range: 1..50

-SetDSPDelayCompensationEnabled 
The Cheetah DAS utilizes two types of digital filters for online signal processing of Digital Lynx data. A Finite Impulse Response (FIR) filter
is used for all high-cut filters and low-cut filters above 50Hz. For low-cut filters below 50Hz a DC Offset (DCO) filter is implemented.
FIR filters implemented in the Cheetah DAS are designed to be linear phase. This means that the output of the FIR is delayed from the input,
but the delay is equal for all frequencies so the phase is not distorted. The number of FIR taps determines the roll-off of the filter and the delay
(i.e. more taps result in a steeper roll-off with the sacrifice of CPU power, memory, and a longer delay.) The delay, in seconds, can be
calculated with the formula:
Delay(s) = ( (High_Cut_Taps - 1) + (Low_Cut_Taps - 1) ) / (Sampling_Freq(Hz) * 2)
Since the filtering is done prior to sub-sampling, the sampling frequency at which the data is filtered is always the sampling frequency of the
system.
This is a system wide setting and it cannot be selectively enabled on specific acquisition entities. Doing so would cause inconsistencies in
timing when comparing data between acquisition entities, thus it is disallowed.
DCO filters do not cause a delay in the data and are not affected by this setting.
Example: -SetDSPDelaycompensationEnabled True
Default: Cheeah defaults to having DSP delay compensation turned off in order to remain compatible with data recorded using previous
versions of Cheetah. This may change in a future release.
Usage: This command can be used only if Cheetah is idle.
Arguments
The enabled argument can be one of two values:

Enabled

1. True: The timestamps for all spike and CSC records will have the DSP delay subtracted from the original Cheetah
timestamp in order to compensate for the delay caused by the DSP filters. .
2. False: DSP delay is not subtracted from the timestamp for each CSC and spike record.
NOTE: Versions of Cheetah prior to 5.5.0 did not have the option of automatically compensating for DSP delay. If
comparing data recorded with earlier versions of Cheetah, be sure to take the DSP delay into account for the older data.

-SetNumberInputBoards  
Sets the number of boards that you are using on a Digital Lynx system. In addition to issuing this command, you must have the Digital Lynx

hardware and firmware appropriately configured. See the Digital Lynx manual for more information.
Example: -SetNumberInputBoards AcqSystem1 5
Default: All Digital Lynx systems are created with zero input boards.
Usage: This command can only be used when Cheetah is idle. The sub system must be a DigitalLynx system.
Arguments
Sub
System
Name

The name of the sub system which will be modified.
The number of input boards that exist in the Digital Lynx cabinet. This value must be between 1 and 10 and exactly match the
hardware and firmware configuration.
ATTENTION DRS USERS: When using DRS boards, the input board number will work differently. If you start counting at
the left of the Digital Lynx cabinet, when you get to the right most input board, that will be the number to use for this command.

Value

Example: If you have 3 input boards and 3 DRS boards in a Digital Lynx cabinet arranged in the following order:
Input, DRS, Input, DRS, Input, DRS
You will use the following command to correctly set up Cheetah for a Digital Lynx system named AcqSystem1:
-SetNumberInputBoards AcqSystem1 5

-SetRawDataFile  
This will set the raw data file name and location for data recording. It will also enable raw data output to the file. A raw data file will contain
all samples from all A/D channels before any digital filtering is applied to the signal. These files are useful for recording all information for
later analysis. This file is recorded in addition to the normal Cheetah data files. Cheetah is able to play back raw data files by creating a raw
data file playback hardware subsystem.
Example: -SetRawDataFile AcqSystem1 "CheetahRawData.nrd"
Default: Cheetah will not use a raw data file unless this command is specified.
Usage: This command can be used at any time. The specified sub system must be a Digital Lynx SX, Digital Lynx, Cheetah64 or
Cheetah160 system.
Arguments

Sub System
The name of the sub system whose data will be written to the raw data file.
Name
Sets the file to use for raw data output. The raw data file normally uses a .NRD extension. If only a filename is specified,
Cheetah will create the file in the current data directory.
Example: -SetRawDataFile AcqSystem1 "CheetahRawData.nrd"
File Name

If a complete path is specified, Cheetah will create the file in the specified location.
Example :-SetRawDataFile AcqSystem1 "C:\Cheetah Raw Files\CheetahRawData.nrd"
The directory C:\Cheetah Raw Files must exist or this command will fail.

16.6 Cheetah 64 Commands
Cheetah 64 Commands
-CreateHardwareSubSystem  
This command is used to tell Cheetah what type of acquisition hardware you are using with your system. Once a system is created, it cannot
be removed, and the name and system type cannot be changed. Cheetah will start with no hardware systems defined if this command is not
used.
Example: -CreateHardwareSubSystem "My DigitalLynx" DigitalLynx
Default: This command is an action, there is no default value.
Usage: This command can only be used when Cheetah is idle.
Arguments
Hardware Sub
The name of the hardware sub system you wish to create. This name must be unique throughout the Cheetah system.
System Name
Specifies the type of hardware sub system you wish to create. This value must be one of the following types:
Sub System
Type

1. DigitalLynx: Creates a Digital Lynx acquisition system for use with Cheetah.
2. Cheetah64: Creates a DT3010 acquisition system. This includes the 8, 16, 32, 40, 48, 56 and 64 channel analog

acquisition systems.
3. Cheetah160: Creates an acquisition system using the Cheetah160 box.
4. RawDataFile: Creates an acquisition system that will use a pre-recorded raw data file. The Raw Data File
argument is required when creating a system of this type.

-GetMinMaxInputRange 
Returns the minimum and maximum input range value that can be used for the hardware sub system.
Example: -GetMinMaxInputRange AcqSystem1
Default: N/A
Usage: This command should only be used from a NetCom client application after a connection to a server has been established.
Arguments
Hardware Sub
System Name

The name of the hardware sub sytem to retrieve information for.

NetCom Reply
Error Code

If the command is successful, this value will be equal to 0. Otherwise, the value will be equal to -1.

Min Input Range The minimum input range value allowed for the hardware sub system.
Max Input Range The maximum input range value allowed for the hardware sub system.

-GetRawDataFile 
Returns the raw data file name and location for data recording.
Example: -GetRawDataFile AcqSystem1
Default: N/A
Usage: This command should only be used from a NetCom client application after a connection to a server has been established. The
specified sub system must be a Digital Lynx SX, Digital Lynx, Cheetah64 or Cheetah160 system.
Arguments
Hardware Sub
System Name

The name of the hardware sub sytem to retrieve information for.

NetCom Reply
Error Code If the command is successful, this value will be equal to 0. Otherwise, the value will be equal to -1.
File Name

The name of the raw data file currently in use by the specified hardware sub system. If a raw data file has not been set, this
paramter will not empty. For Cheetah64 systems, only the raw data file name for board 0 is returned.

-PlayDAWavFile  
Starts playback of the currently selected WAV file buffer on the specified system and board number. This command will need to be issued
every time you want to play a WAV file, unless you have continuous playback turned on. If no WAV file is loaded into the currently selected
WAV buffer for this board, no sound will be output.
Example: -PlayDAWavFile AcqSystem1 0
Default: This command is an action, there is no default value.
Usage: This command can be used at any time. The sub system must be a Cheetah64 system.
Arguments
Sub System
Name

The name of the sub system that owns the output port you wish to use.

Board Number This determines which DT3010 board will be used to output the WAV file. The board number can be either 0 or 1.

-SelectDAWavBuffer   
Cheetah can only play one buffer at a time for each board. This command selects which Cheetah WAV file buffer to playback on the specified
board. Cheetah will not start playing this file until a play command is issued. The playback frequency for this board is not changed when a
new buffer is selected, you will need to use the -SetDAPlaybackFrequency command to change the playback frequency.
Example: -SelectDAWavBuffer AcqSystem1 0 2
Default: Cheetah will start with buffer 1 selected.
Usage: This command can be used at any time. The sub system must be a Cheetah64 system.
Arguments
Sub System
Name

The name of the sub system that owns the output port you wish to use.

Board Number This determines which DT3010 board will be used to output the WAV file. The board number can be either 0 or 1.

Buffer Number

Selects the buffer that Cheetah will use for DA WAV playback. Cheetah has 128 buffers available for WAV files. If the
specified buffer does not contain a WAV file, nothing will be output when the play command is issued.

-SetAmpControl   
Tells Cheetah what to use to control the amplifiers for the specified hardware sub system.
Example: -SetAmpControl AcqSystem1 MeasurementComputing 0
Default: Amplifier control is set to True.
Usage: This command can only be used when Cheetah is idle. The sub system must be either a Cheetah64 or Cheetah160 system.
Arguments
Sub System
The name of the sub system which will be modified.
Name
Specifies the interface that will be used to control the amplifiers. This must be one of the following types
Amp
Control
Type

1. MeasurementComputing: Uses a Measurement Computing device (either USB or PCI) for amplifier control. A list
of available Measurement Computing devices can be seen in the Instacal software.
This value is specific to the amplifier control type. The following table describes the different device number meanings.

Device
Number

Amp Control Type

Device Number Meaning

MeasurementComputing

This is the board number as seen in
Instacal.

If the specified device number does not exist, this command will fail.

-SetAmpControlEnabled  
Used to enable amplifier control on the specified system. Disabling the amplifier control may be useful if using only digital filtering or fixed
amplifiers. If you are using Lynx8 amplifiers, it is reccommended that you enable amplifier control.
Example: -SetAmpControlEnabled AcqSystem1 false
Default: Amplifier control is set to True.
Usage: This command can be used at any time. The sub system must be either a Cheetah64 or Cheetah160 system.

Arguments
Sub System
Name

The name of the sub system which will be modified.
This can be one of the following:

Value

1. True: Amplifier control is enabled if set to true.
2. False: Amplifier control is disabled if set to false.

-SetAmpGainType  
Selects the type of gain control to use for controlling signal amplification.
Example: -SetAmpGainType AcqSystem1 "Input Range"
Default: The default value for the gain type is "Input Range"
Usage: This command can only be used at any time.
Arguments
Sub System
Name

The name of the sub system which will be modified.
Can be one of the following types (value must be enclosed in quotes as shown in the above example):

Amp Gain
Type

1. Input Range: Adjusts the system to use optimal gain settings for both amplifiers and AD conversion in order to
acquire a signal inside of the specified input range value.
2. Amp Gain: Allows individual control of both AD and amplifier gain settings. Input Range then becomes a
calculated value and can only be changed through adjusting either of the gain values.

-SetContinuousDAWavPlayback   
This command can be used to make Cheetah constantly repeat a WAV file on the DA output port. This command does not start playing a
WAV file, it will only tell Cheetah how to play a WAV file on the DA output port.
Example: -SetContinuousDAWavPlayback AcqSystem1 0 On
Default: Cheetah will start with continuous playback Off; playing a WAV file only once.

Usage: This command can be used at any time. The sub system must be a Cheetah64 system.
Arguments
Sub System
Name

The name of the sub system that owns the output port you wish to use.

Board Number This determines which DT3010 board will be used to output the WAV file. The board number can be either 0 or 1.
Continuous playback can be in either of the following states:
1. On: Sets Cheetah to continually loop the current DA WAV file. Once Cheetah is done playing the current WAV
file, it will immediately restart the same file from the beginning. To stop the continuous looping, send this
command with value set to Off.
2. Off: Cheetah will play the current DA WAV file once. Another play command must be issued to play the file
again.

Value

-SetDAOutputMode   
Needs a description
Example: -SetDAOutputMode AcqSystem1 0 ContinuousAudio
Default: The default mode is set to SingleValue.
Usage: This command can only be used when Cheetah is idle. The sub system must be a Cheetah64 system.
Arguments
Sub System
Name

The name of the sub system that owns the output port you wish to use.

Board Number This determines which DT3010 board will be used to output the WAV file. The board number can be either 0 or 1.
The DA output mode can be one of the following:

Mode

1. SingleValue: The user may set a port to a specified value to stay constant.
2. BufferedOutput: Buffered data may be stored and played at any time on the port. This is generally used for wav
file playback.
3. BufferedOutputSynxStart: Buffered data may be stored and played at the start of acquisition This is generally
used for wav file playback..
4. ContinuousAudio: This is used only for wav file playback. The wav file that is currently selected with

continuously repeat playback until acquisition is turned off.

-SetDAPlaybackFrequency   
Sets the output frequency to use for WAV file playback. This value is set every time you load a WAV file on this board to the recording
frequency of the file you load. This means that the playback frequency will always be set to the last loaded WAV file. If you load WAV files
of differing frequencies, you may need to issue this command to change the frequency when you change the selected WAV file buffer before
playback. This command can also be used to speed up or slow down WAV file playback.
Example: -SetDAPlaybackFrequency AcqSystem1 0 44100
Default: Cheetah will use the frequency stored in the WAV file that has been loaded. If a value does not exist, Cheetah will default to a value
of 25000 hz.
Usage: This command can be used at any time. The sub system must be a Cheetah64 system.
Arguments
Sub System
Name

The name of the sub system that owns the output port you wish to use.

Board Number This determines which DT3010 board will be used to output the WAV file. The board number can be either 0 or 1.
Value

This is the playback frequency in hertz (Hz). It should match the frequency used when recording the WAV file that is
selected for playback. However, this value can be used to speed up (entering a value that is higher than the recording
frequency) or slow down (entering a value lower than the recording frequency) WAV file playback. This value can be
between 200 and 125000 Hz.

-SetDAPortVoltageOutput    
Sets the voltage for the specified DA port.
Example: -SetDAPortVoltageOutput AcqSystem1 0 1 3
Default: A default value is not set for this property. The last value that was set remains until a new value is set.
Usage: This command can be used at any time. The sub system must be a Cheetah64 system.
Arguments
Sub System
Name

The name of the sub system that owns the output port you wish to use.

Board Number This determines which DT3010 board will be used to output the specified value. The board number can be either 0 or 1.
Port

The port number can be either 0 or 1.

Value

This is the voltage in volts. This value must be between -10 and 10 volts.

-SetDAWavFile    
Loads a WAV file that you have created into Cheetah. Cheetah will not start playing this file until a play command is issued. The playback
frequency for this board will be changed when a new WAV file is loaded, this overrides any previous calls to -SetDAPlaybackFrequency.
Example: -SetDAWavFile AcqSystem1 0 "C:\Wav Files\100HzTone.wav" 2
Default: Cheetah will start with no WAV files loaded.
Usage: This command can be used at any time. The sub system must be a Cheetah64 system.
Arguments
Sub System
Name

The name of the sub system that owns the output port you wish to use.

Board Number This determines which DT3010 board will be used to output the WAV file. The board number can be either 0 or 1.
Sets the file to use for DA WAV outputt. The WAV files normally have a .WAV extension. If only a filename is specified,
Cheetah will only look in it's current working directory. If the file is not found, this command will fail.
File Name

Example: -SetDAWavFile AcqSystem1 0 "100HzTone.wav" 2
If a complete path is specified, Cheetah will look for the specified file, if it is not found, this command will fail.
Example : -SetDAWavFile AcqSystem1 0 "C:\Wav Files\100HzTone.wav" 2

Buffer Number

Selects the buffer that Cheetah will use to load this file. Cheetah has 128 buffers available for WAV files. If the specified
buffer already contains a WAV file, the previous file will be overwritten with the new WAV file.

-SetDigitalIOPortDirection   
Sets the port direction for a digital IO port for the specified sub system.
Example: -SetDigitalIOPortDirection AcqSystem1 1 Input
Default: The default port direction is set to Input.

Usage: This command can only be used when Cheetah is idle. The sub system must be a Cheetah64 system.
Arguments
Sub System
Name

The name of the sub system that owns the IO board you wish to modify

Board Number This is the DT3010 board number that will be modified. The board number can be either 0 or 1.
The digital IO port direction is set using one of the following keywords:
Direction

1. Input: Sets the specified board to watch for TTL inputs.
2. Output: Sets the specified board to ouput TTL values.

-SetDmaBuffers   
Creates DMA (Direct Memory Access) buffers to be used to store AD (Analog to Digital) data from a hardware sub system. The DMA
buffers are the first set of buffers used in processing data from a sub system. Once a buffer is full, the buffer is processed and sent to be
filtered. The buffer size and number of buffers effects the overall performance of the system. Smaller buffer sizes will allow data to be moved
through the system with a lower latecy, but will also increase the possibility of overruning a buffer. If a buffer is overrun, then all the data in
that buffer is lost and cannot be reclaimed. If latency is not an issue, it recommended that larger buffer sizes are used to improve the overall
efficiency of the system.
Example: -SetDmaBuffers AcqSystem1 128 5
Default: The default buffer count value is 64 and the default buffer size is 2 ms
Usage: This command can only be used when Cheetah is idle.
Arguments
Sub System
Name

The name of the sub system which will be modified.

Bufer Count

The number of dma buffers to create. Valid Range: 32..256.

Buffer Size

The size of each buffer. This is in milliseconds. Valid Range: 1..50.

-SetRawDataFile  
This will set the raw data file name and location for data recording. It will also enable raw data output to the file. A raw data file will contain
all samples from all A/D channels before any digital filtering is applied to the signal. These files are useful for recording all information for

later analysis. This file is recorded in addition to the normal Cheetah data files. Cheetah is able to play back raw data files by creating a raw
data file playback hardware subsystem.
Example: -SetRawDataFile AcqSystem1 "CheetahRawData.nrd"
Default: Cheetah will not use a raw data file unless this command is specified.
Usage: This command can be used at any time. The specified sub system must be a Digital Lynx SX, Digital Lynx, Cheetah64 or
Cheetah160 system.
Arguments
Sub System
The name of the sub system whose data will be written to the raw data file.
Name
Sets the file to use for raw data output. The raw data file normally uses a .NRD extension. If only a filename is specified,
Cheetah will create the file in the current data directory.
Example: -SetRawDataFile AcqSystem1 "CheetahRawData.nrd"
If a complete path is specified, Cheetah will create the file in the specified location.
File Name
Example :-SetRawDataFile AcqSystem1 "C:\Cheetah Raw Files\CheetahRawData.nrd"
The directory C:\Cheetah Raw Files must exist or this command will fail.
If a file name is not specified, Cheetah will pop up a file selection dialog box allowing the user to choose a raw data file to
open up.

16.7 Cheetah 160 Commands
Cheetah 160 Commands
-CreateHardwareSubSystem  
This command is used to tell Cheetah what type of acquisition hardware you are using with your system. Once a system is created, it cannot
be removed, and the name and system type cannot be changed. Cheetah will start with no hardware systems defined if this command is not
used.

Example: -CreateHardwareSubSystem "My DigitalLynx" DigitalLynx
Default: This command is an action, there is no default value.
Usage: This command can only be used when Cheetah is idle.
Arguments
Hardware Sub
The name of the hardware sub system you wish to create. This name must be unique throughout the Cheetah system.
System Name
Specifies the type of hardware sub system you wish to create. This value must be one of the following types:

Sub System
Type

1. DigitalLynx: Creates a Digital Lynx acquisition system for use with Cheetah.
2. Cheetah64: Creates a DT3010 acquisition system. This includes the 8, 16, 32, 40, 48, 56 and 64 channel analog
acquisition systems.
3. Cheetah160: Creates an acquisition system using the Cheetah160 box.
4. RawDataFile: Creates an acquisition system that will use a pre-recorded raw data file. The Raw Data File
argument is required when creating a system of this type.

-GetMinMaxInputRange 
Returns the minimum and maximum input range value that can be used for the hardware sub system.
Example: -GetMinMaxInputRange AcqSystem1
Default: N/A
Usage: This command should only be used from a NetCom client application after a connection to a server has been established.
Arguments
Hardware Sub
System Name

The name of the hardware sub sytem to retrieve information for.

NetCom Reply
Error Code

If the command is successful, this value will be equal to 0. Otherwise, the value will be equal to -1.

Min Input Range The minimum input range value allowed for the hardware sub system.
Max Input Range The maximum input range value allowed for the hardware sub system.

-GetRawDataFile 
Returns the raw data file name and location for data recording.
Example: -GetRawDataFile AcqSystem1
Default: N/A
Usage: This command should only be used from a NetCom client application after a connection to a server has been established. The
specified sub system must be a Digital Lynx SX, Digital Lynx, Cheetah64 or Cheetah160 system.
Arguments
Hardware Sub
System Name

The name of the hardware sub sytem to retrieve information for.

NetCom Reply
Error Code If the command is successful, this value will be equal to 0. Otherwise, the value will be equal to -1.
File Name

The name of the raw data file currently in use by the specified hardware sub system. If a raw data file has not been set, this
paramter will not empty. For Cheetah64 systems, only the raw data file name for board 0 is returned.

-SetAmpControl   
Tells Cheetah what to use to control the amplifiers for the specified hardware sub system.
Example: -SetAmpControl AcqSystem1 MeasurementComputing 0
Default: Amplifier control is set to True.
Usage: This command can only be used when Cheetah is idle. The sub system must be a Cheetah160 system.
Arguments
Sub
System The name of the sub system which will be modified.
Name
Specifies the interface that will be used to control the amplifiers. This must be one of the following types
Amp
Control
Type

1. MeasurementComputing: Uses a Measurement Computing device (either USB or PCI) for amplifier control. A list of available Measurem
Computing devices can be seen in the Instacal software. NOTE: When using the Measurement Computing amplifier control, only eight (8)
amplifiers may be used. This limits the system to 64 channels.
2. Cheetah160: Uses the amplifier control built into the Cheetah 160 box. NOTE: When using the Cheetah 160 amplifier controller, ports J60

and J605 will be unavailable for TTL output. See the TTL Input and Output section of the Cheetah 160 HWSS in this guide.

-GetADBitVolts 
Returns the AD bit volts value of each sub channel for the specified acquisition entity.
Example: -GetADBitVolts CSC1
Default: N/A
Usage: This command should only be used from a NetCom client application after a connection to a server has been established.
Arguments
Acq Ent Name The name of the acquisition entity to retrieve information for.
NetCom Reply
Error Code

If the command is successful, this value will be equal to 0. Otherwise, the value will be equal to -1.

Value

The AD bit volts value of each sub channel for the specified acquisition entity.

3.
This value is specific to the amplifier control type. The following table describes the different device number meanings.

Device
Number

Amp Control Type

Device Number Meaning

MeasurementComputing

This is the board number as seen in
Instacal.

Cheetah160

The device number is ignored.

If the specified device number does not exist, this command will fail.

-SetAmpControlEnabled  
Used to enable amplifier control on the specified system. Disabling the amplifier control may be useful if using only digital filtering or fixed
amplifiers. If you are using Lynx8 amplifiers, it is reccommended that you enable amplifier control.
Example: -SetAmpControlEnabled AcqSystem1 false

Default: Amplifier control is set to True.
Usage: This command can be used at any time. The sub system must be either a Cheetah64 or Cheetah160 system.
Arguments
Sub System
Name

The name of the sub system which will be modified.
This can be one of the following:

Value

1. True: Amplifier control is enabled if set to true.
2. False: Amplifier control is disabled if set to false.

-SetAmpGainType  
Selects the type of gain control to use for controlling signal amplification.
Example: -SetAmpGainType AcqSystem1 "Input Range"
Default: The default value for the gain type is "Input Range"
Usage: This command can only be used at any time.
Arguments
Sub System
Name

The name of the sub system which will be modified.
Can be one of the following types (value must be enclosed in quotes as shown in the above example):

Amp Gain
Type

1. Input Range: Adjusts the system to use optimal gain settings for both amplifiers and AD conversion in order to
acquire a signal inside of the specified input range value.
2. Amp Gain: Allows individual control of both AD and amplifier gain settings. Input Range then becomes a
calculated value and can only be changed through adjusting either of the gain values.

-SetDmaBuffers   
Creates DMA (Direct Memory Access) buffers to be used to store AD (Analog to Digital) data from a hardware sub system. The DMA
buffers are the first set of buffers used in processing data from a sub system. Once a buffer is full, the buffer is processed and sent to be
filtered. The buffer size and number of buffers effects the overall performance of the system. Smaller buffer sizes will allow data to be moved

through the system with a lower latency, but will also increase the possibility of overrunning a buffer. If a buffer is overrun, then all the data
in that buffer is lost and cannot be reclaimed. If latency is not an issue, it recommended that larger buffer sizes are used to improve the overall
efficiency of the system.
Example: -SetDmaBuffers AcqSystem1 128 5
Default: The default buffer count value is 64 and the default buffer size is 2 ms
Usage: This command can only be used when Cheetah is idle.
Arguments
Sub System
Name

The name of the sub system which will be modified.

Bufer Count

The number of DMA buffers to create. Valid range: 32..256.

Buffer Size

The size of each buffer. This is in milliseconds. Valid range: 1..50.

-SetRawDataFile  
This will set the raw data file name and location for data recording. It will also enable raw data output to the file. A raw data file will contain
all samples from all A/D channels before any digital filtering is applied to the signal. These files are useful for recording all information for
later analysis. This file is recorded in addition to the normal Cheetah data files. Cheetah is able to play back raw data files by creating a raw
data file playback hardware subsystem.
Example: -SetRawDataFile AcqSystem1 "CheetahRawData.nrd"
Default: Cheetah will not use a raw data file unless this command is specified.
Usage: This command can be used at any time. The specified sub system must be a Digital Lynx SX, Digital Lynx, Cheetah64 or
Cheetah160 system.
Arguments
Sub System
The name of the sub system whose data will be written to the raw data file.
Name
Sets the file to use for raw data output. The raw data file normally uses a .NRD extension. If only a filename is specified,
Cheetah will create the file in the current data directory.
File Name

Example: -SetRawDataFile AcqSystem1 "CheetahRawData.nrd"
If a complete path is specified, Cheetah will create the file in the specified location.

Example :-SetRawDataFile AcqSystem1 "C:\Cheetah Raw Files\CheetahRawData.nrd"
The directory C:\Cheetah Raw Files must exist or this command will fail.
If a file name is not specified, Cheetah will pop up a file selection dialog box allowing the user to choose a raw data file to
open up.

16.8 DRS Commands
Digital Reference Selector (DRS) Commands
-AddDRSBoard 
Adds a DRS board to Cheetah. This will inform Cheetah where the DRS board is located in the Digital Lynx cabinet, and which input board's
references will be controlled by that DRS. The DRS board will then be able to be controlled by Cheetah's DRS control.
Example: -AddDrsBoard 1
Default: All Digital Lynx systems are created with no DRS boards.
Usage: This command can only be used when Cheetah is idle, and is only valid with a Digital Lynx sub system.
Arguments

DRS Slot
Number

This is the position of the DRS board in the Digital Lynx cabinet. Slot 0 is the left most board position and slot 9 is the
right most board position. Each slot can only be occupied by either a DRS or an input board. If an input board or DRS
already exists in the specified slot, this command will fail. This number must also be less than the number of input boards
specified by the -SetNumberInputBoards command.
NOTE: Cheetah requires that all DRS boards be paired with the input board immediately preceding it (e.g. DRS in slot 1
controls references for an Input Board in slot 0). DRS boards must always be in odd slot numbers (e.g. 1, 3, 5, etc.) and all
unpaired input boards should use higher number slots (e.g. IDIDIII is valid, IIIDID is not).

16.9 Raw Data File Commands

Raw Data File Commands
These commands setup a raw data file recording for any of the hardware systems, and for playing recorded raw data files back through Cheetah.

-CreateHardwareSubSystem   
This command is used to tell Cheetah what type of acquisition hardware you are using with your system. Once a system is created, it cannot
be removed, and the name and system type cannot be changed. Cheetah will start with no hardware systems defined if this command is not
used.
Example: -CreateHardwareSubSystem "My DigitalLynx" DigitalLynx
Default: This command is an action, there is no default value.
Usage: This command can only be used when Cheetah is idle.
Arguments
Hardware
Sub System The name of the hardware sub system you wish to create. This name must be unique throughout the Cheetah system.
Name
Specifies the type of hardware sub system you wish to create. This value must be one of the following types:

Sub System
Type

1. DigitalLynx: Creates a Digital Lynx acquisition system for use with Cheetah.
2. Cheetah64: Creates a DT3010 acquisition system. This includes the 8, 16, 32, 40, 48, 56 and 64 channel analog
acquisition systems.
3. Cheetah160: Creates an acquisition system using the Cheetah160 box.
4. RawDataFile: Creates an acquisition system that will use a pre-recorded raw data file. The Raw Data File argument is
required when creating a system of this type.
This argument is only valid if you are creating a RawDataFile type hardware subsystem. If no file name is specified, then
Cheetah will display a file dialog allowing you to browse for a raw data file. Command processing will halt until the file dialog
is closed.

Raw Data
File

Sets the file to use for raw data file playback for this system. Once set, this file cannot be changed. If only a filename is
specified, Cheetah will look for the file in the current data directory.
Example: -CreateHardwareSubSystem "My DataPlayback" AcqSystem1 MyData.nrd
If a complete path is specified, Cheetah will use the file in the specified location.

Example : -CreateHardwareSubSystem "My DataPlayback" AcqSystem1 "C:\Data Directory\MyData.nrd"
The file C:\Data Directory\MyData.nrd must exist or this command will fail.

-GetDSPDelayCompensationEnabled
Returns the current state of delay compensation for this system. See -SetDSPDelayCompensationEnabled for more information.
Example: -GetDSPDelaycompensationEnabled
Default: N/A
Usage: This command should only be used from a NetCom client application after a connection to a server has been established.
NetCom Reply
Error Code

If the command is successful, this value will be equal to 0. Otherwise, the value will be equal to -1.
The reply can be one of two values:

Enabled

1. True: DSP delay is subtracted from the timestamp for each CSC and spike record.
2. False: DSP delay is not subtracted from the timestamp for each CSC and spike record.

-GetMinMaxInputRange 
Returns the minimum and maximum input range value that can be used for the hardware sub system.
Example: -GetMinMaxInputRange AcqSystem1
Default: N/A
Usage: This command should only be used from a NetCom client application after a connection to a server has been established.
Arguments
Hardware Sub
System Name

The name of the hardware sub sytem to retrieve information for.

NetCom Reply
Error Code

If the command is successful, this value will be equal to 0. Otherwise, the value will be equal to -1.

Min Input Range The minimum input range value allowed for the hardware sub system.
Max Input Range The maximum input range value allowed for the hardware sub system.

-SetContinuousRawDataFilePlayback  
Sets the sub system to automatically restart acquisition from the beginning of the file once the end of the file is reached.
Example: -SetContinuousRawDataFilePlayback AcqSystem1 On
Default: Cheetah will start with continuous playback Off.
Usage: This command can only be used when Cheetah is idle. This command is only valid with the RawDataFile sub system.
Arguments
Sub
System
Name

The name of the sub system whose playback mode you wish to modify.
Continuous playback can be in either of the following states:

Value

1. On: Sets Cheetah to continually loop the current raw data file. Once Cheetah is done processing the file, it will
immediately restart the same file from the beginning. This setting is mainly used for presentation or testing purposes. It
is not intended for data collection use.
2. Off: Cheetah will process all the data from the current raw data file once, and then turn off acquisition and
recording. The file can be restarted by starting acquisition again.

-SetDSPDelayCompensationEnabled 
The Cheetah DAS utilizes two types of digital filters for online signal processing of Digital Lynx data. A Finite Impulse Response (FIR) filter
is used for all high-cut filters and low-cut filters above 50Hz. For low-cut filters below 50Hz a DC Offset (DCO) filter is implemented.
FIR filters implemented in the Cheetah DAS are designed to be linear phase. This means that the output of the FIR is delayed from the input,
but the delay is equal for all frequencies so the phase is not distorted. The number of FIR taps determines the roll-off of the filter and the delay
(i.e. more taps result in a steeper roll-off with the sacrifice of CPU power, memory, and a longer delay.) The delay, in seconds, can be
calculated with the formula:
Delay(s) = ( (High_Cut_Taps - 1) + (Low_Cut_Taps - 1) ) / (Sampling_Freq(Hz) * 2)

Since the filtering is done prior to sub-sampling, the sampling frequency at which the data is filtered is always the sampling frequency of the
system.
This is a system wide setting and it cannot be selectively enabled on specific acquisition entities. Doing so would cause inconsistencies in
timing when comparing data between acquisition entities, thus it is disallowed.
DCO filters do not cause a delay in the data and are not affected by this setting.
Example: -SetDSPDelaycompensationEnabled True
Default: Cheeah defaults to having DSP delay compensation turned off in order to remain compatible with data recorded using previous
versions of Cheetah. This may change in a future release.
Usage: This command can be used only if Cheetah is idle.
Arguments
The enabled argument can be one of two values:

Enabled

1. True: The timestamps for all spike and CSC records will have the DSP delay subtracted from the original Cheetah
timestamp in order to compensate for the delay caused by the DSP filters. .
2. False: DSP delay is not subtracted from the timestamp for each CSC and spike record.
NOTE: Versions of Cheetah prior to 5.5.0 did not have the option of automatically compensating for DSP delay. If
comparing data recorded with earlier versions of Cheetah, be sure to take the DSP delay into account for the older data.

-SetDmaBuffers   
Creates DMA (Direct Memory Access) buffers to be used to store AD (Analog to Digital) data from a hardware sub system. The DMA
buffers are the first set of buffers used in processing data from a sub system. Once a buffer is full, the buffer is processed and sent to be
filtered. The buffer size and number of buffers effects the overall performance of the system. Smaller buffer sizes will allow data to be moved
through the system with a lower latecy, but will also increase the possibility of overruning a buffer. If a buffer is overrun, then all the data in
that buffer is lost and cannot be reclaimed. If latency is not an issue, it recommended that larger buffer sizes are used to improve the overall
efficiency of the system.
Example: -SetDmaBuffers AcqSystem1 128 5
Default: The default buffer count value is 64 and the default buffer size is 2 ms
Usage: This command can only be used when Cheetah is idle.
Note: This command will affect the playback speed for the raw data file sub system.
Arguments

Sub System
Name

The name of the sub system which will be modified.

Bufer Count

The number of dma buffers to create. Valid range: 32..256.

Buffer Size

The size of each buffer. This is in milliseconds. Valid range: 1..50.

-SetRawDataFile  
This will set the raw data file name and location for data recording. It will also enable raw data output to the file. Once this command is
issued, there is no way to disable output to the raw data file. A raw data file will contain all samples from all A/D channels before any digital
filtering is applied to the signal. These files are useful for recording all information for later analysis. This file is recorded in addition to the
normal Cheetah data files. Cheetah is able to play back raw data files by creating a raw data file playback hardware subsystem.
Example: -SetRawDataFile AcqSystem1 "CheetahRawData.nrd"
Default: Cheetah will not use a raw data file unless this command is specified.
Usage: This command can only be used when Cheetah is idle. The specified sub system must be a DigitalLynx, Cheetah64 or Cheetah160
system.
Arguments
Sub System
The name of the sub system whose data will be written to the raw data file.
Name
Sets the file to use for raw data output. The raw data file normally uses a .NRD extension. If only a filename is specified,
Cheetah will create the file in the current data directory.
Example: -SetRawDataFile AcqSystem1 "CheetahRawData.nrd"
File Name

If a complete path is specified, Cheetah will create the file in the specified location.
Example :-SetRawDataFile AcqSystem1 "C:\Cheetah Raw Files\CheetahRawData.nrd"
The directory C:\Cheetah Raw Files must exist or this command will fail.

16.10 CSC AE Commands

Continuously Sampled Channel (CSC) Acquisition Entity Commands
These commands are used to control how the CSC acquisition entities process AD data and what it does with the data after processing.

-CreateCscAcqEnt  
Creates a new instance of a continuously sampled channel (CSC) acquisition entity in Cheetah. CSCs are designed to continuously process the
incoming waveform.
Example: -CreateCSCAcqEnt CSC1 AcqSystem1
Default: Cheetah does not create any CSC acquisition entities if this command is not issued.
Usage: This command can be used only when Cheetah is idle.
Arguments
Acq Ent Name

The name of the csc acquisition entity you wish to create. This name must be unique throughout the Cheetah
system. This name cannot be changed after the acquisition entity is created.

Hardware Sub
System Name

The name of the hardware sub system that you want the acquisition entity to be associated with. This specifies which
hardware setup will be providing data to the acquisition entity.

-GetAcqEntReference 
Gets the current reference ID used by an acquisition entity.
Example: -GetAcqEntReference TT1
Default: N/A
Usage: This command should only be used from a NetCom client application after a connection to a server has been established.
Arguments
Acq Ent Name

The name of an acquisition entity.

NetCom Reply
Error Code

If the command is successful, this value will be equal to 0. Otherwise, the value will be equal to -1.

Value

The reference ID used as a reference by this acquisition entity. See -SetAcqEntReference for reference ID information.

-GetADBitVolts 
Returns the AD bit volts value of each sub channel for the specified acquisition entity.
Example: -GetADBitVolts CSC1
Default: N/A
Usage: This command should only be used from a NetCom client application after a connection to a server has been established.
Arguments
Acq Ent Name The name of the acquisition entity to retrieve information for.
NetCom Reply
Error Code

If the command is successful, this value will be equal to 0. Otherwise, the value will be equal to -1.

Value

The AD bit volts value of each sub channel for the specified acquisition entity.

-GetADGain 
Returns the AD gain value for the specified acquisition entity.
Example: -GetADGain CSC1
Default: N/A
Usage: This command should only be used from a NetCom client application after a connection to a server has been established.
Arguments
Acq Ent Name The name of the acquisition entity to retrieve information for.
NetCom Reply
Error Code

If the command is successful, this value will be equal to 0. Otherwise, the value will be equal to -1.

Value

The AD gain for the specified acquisition entity.

-GetADRange 
Returns the AD range for the specified acquisition entity.
Example: -GetADRange CSC5

Default: N/A
Usage: This command should only be used from a NetCom client application after a connection to a server has been established.
Arguments
Acq Ent Name The name of the acquisition entity to retrieve information for.
NetCom Reply
Error Code

If the command is successful, this value will be equal to 0. Otherwise, the value will be equal to -1.

Max AD Value The maximum AD value for the specified acquisition entity's data.
Min AD Value The minimum AD value for the specified acquisition entity's data.

-GetAcqEntProcessingEnabled 
Returns the processing state for the specified acquisition entity.
Example: -GetAcqEntProcessingEnabled CSC1
Default: N/A
Usage: This command should only be used from a NetCom client application after a connection to a server has been established.
Arguments
Acq Ent Name The name of the acquisition entity to retrieve information for.
NetCom Reply
Error Code

If the command is successful, this value will be equal to 0. Otherwise, the value will be equal to -1.
This value will be one of the following keywords:

Processing
Enabled

1. True: Acquisition entity processing is enabled.
2. False: Acquisition entity processing is disabled.

-GetAmplifierGain 
Returns the amplifier gain value for the specified acquisition entity.

Example: -GetAmplifierGain CSC1
Default: N/A
Usage: This command should only be used from a NetCom client application after a connection to a server has been established.
Arguments
Acq Ent Name The name of the acquisition entity to retrieve information for.
NetCom Reply
Error Code

If the command is successful, this value will be equal to 0. Otherwise, the value will be equal to -1.

Value

The amplifier gain for the specified acquisition entity.

-GetAnalogHighCutFrequency 
Returns the amplifier high cut frequency value for the specified acquisition entity.
Example: -GetAnalogHighCutFrequency CSC1
Default: N/A
Usage: This command should only be used from a NetCom client application after a connection to a server has been established.
Arguments
Acq Ent Name The name of the acquisition entity to retrieve information for.
NetCom Reply
Error Code

If the command is successful, this value will be equal to 0. Otherwise, the value will be equal to -1.

Value

The amplifier high cut frequency for the specified acquisition entity.

-GetAnalogLowCutFrequency 
Returns the amplifier low cut frequency value for the specified acquisition entity.
Example: -GetAnalogLowCutFrequency CSC1
Default: N/A
Usage: This command should only be used from a NetCom client application after a connection to a server has been established.
Arguments

Acq Ent Name The name of the acquisition entity to retrieve information for.
NetCom Reply
Error Code

If the command is successful, this value will be equal to 0. Otherwise, the value will be equal to -1.

Value

The amplifier low cut frequency for the specified acquisition entity.

-GetChannelNumber 
Returns the channel number(s) for the specified acquisition entity.
Example: -GetChannelNumber CSC1
Default: N/A
Usage: This command should only be used from a NetCom client application after a connection to a server has been established.
Arguments
Acq Ent Name The name of the acquisition entity to retrieve information for.
NetCom Reply
Error Code

If the command is successful, this value will be equal to 0. Otherwise, the value will be equal to -1.

Channel
Number(s)

This is the channel number list for the specified acquisition entity. The length of the list is determined by the number of sub
channels for the specified acquisition entity. CSC's and single electrodes have 1, stereotrodes 2 and tetrodes 4.

-GetDataFile 
Returns the data file name and path for the specified acquisition entity.
Example: -GetDataFile CSC1
Default: N/A
Usage: This command should only be used from a NetCom client application after a connection to a server has been established.
Arguments
Acq Ent Name The name of the acquisition entity to retrieve information for.
NetCom Reply

Error Code

If the command is successful, this value will be equal to 0. Otherwise, the value will be equal to -1.

Value

This is the data file name and path for the specified acquisition entity.

-GetDiskWriteEnabled 
Returns the disk writing status for the specified acquisition entity.
Example: -GetDiskWriteEnabled CSC1
Default: N/A
Usage: This command should only be used from a NetCom client application after a connection to a server has been established.
Arguments
Acq Ent Name The name of the acquisition entity to retrieve information for.
NetCom Reply
Error Code

If the command is successful, this value will be equal to 0. Otherwise, the value will be equal to -1.
This value will be one of the following keywords:

Value

1. True: Disk writing is enabled.
2. False: Disk writing is disabled.

-GetDspHighCutFilterEnabled 
Returns the DSP high cut filter state for the specified acquisition entity.
Example: -GetDspHighCutFilterEnabled CSC1
Default: N/A
Usage: This command should only be used from a NetCom client application after a connection to a server has been established.
Arguments
Acq Ent Name The name of the acquisition entity to retrieve information for.
NetCom Reply

Error Code

If the command is successful, this value will be equal to 0. Otherwise, the value will be equal to -1.
This value will be one of the following keywords:

Enabled

1. True: DSP high cut filter is enabled.
2. False: DSP high cut filter is disabled.

-GetDspHighCutFrequency 
Returns the DSP high cut frequency for the specified acquisition entity.
Example: -GetDspHighCutFrequency CSC1
Default: N/A
Usage: This command should only be used from a NetCom client application after a connection to a server has been established.
Arguments
Acq Ent Name The name of the acquisition entity to retrieve information for.
NetCom Reply
Error Code

If the command is successful, this value will be equal to 0. Otherwise, the value will be equal to -1.

Frequency

The frequency value of the DSP high cut filter for the specified acquisition entity.

-GetDspHighCutNumberTaps 
Returns the DSP high cut tap count for the specified acquisition entity.
Example: -GetDspHighCutNumberTaps CSC1
Default: N/A
Usage: This command should only be used from a NetCom client application after a connection to a server has been established.
Arguments
Acq Ent Name The name of the acquisition entity to retrieve information for.
NetCom Reply

Error Code

If the command is successful, this value will be equal to 0. Otherwise, the value will be equal to -1.

Value

The number of taps of the DSP high cut filter for the specified acquisition entity.

-GetDspLowCutFilterEnabled 
Returns the DSP low cut filter state for the specified acquisition entity.
Example: -GetDspLowCutFilterEnabled CSC1
Default: N/A
Usage: This command should only be used from a NetCom client application after a connection to a server has been established.
Arguments
Acq Ent Name The name of the acquisition entity to retrieve information for.
NetCom Reply
Error Code

If the command is successful, this value will be equal to 0. Otherwise, the value will be equal to -1.
This value will be one of the following keywords:

Enabled

1. True: DSP low cut filter is enabled.
2. False: DSP low cut filter is disabled.

-GetDspLowCutFrequency 
Returns the DSP low cut frequency for the specified acquisition entity.
Example: -GetDspLowCutFrequency CSC1
Default: N/A
Usage: This command should only be used from a NetCom client application after a connection to a server has been established.
Arguments
Acq Ent Name The name of the acquisition entity to retrieve information for.
NetCom Reply

Error Code

If the command is successful, this value will be equal to 0. Otherwise, the value will be equal to -1.

Frequency

The frequency value of the DSP low cut filter for the specified acquisition entity.

-GetDspLowCutNumberTaps 
Returns the DSP low cut tap count for the specified acquisition entity.
Example: -GetDspLowCutNumberTaps CSC1
Default: N/A
Usage: This command should only be used from a NetCom client application after a connection to a server has been established.
Arguments
Acq Ent Name The name of the acquisition entity to retrieve information for.
NetCom Reply
Error Code

If the command is successful, this value will be equal to 0. Otherwise, the value will be equal to -1.

Value

The number of taps of the DSP low cut filter for the specified acquisition entity.

-GetInputInverted 
Returns the signal inversion state for the specified acquisition entity.
Example: -GetInputInverted CSC1
Default: N/A
Usage: This command should only be used from a NetCom client application after a connection to a server has been established.
Arguments
Acq Ent Name The name of the acquisition entity to retrieve information for.
NetCom Reply
Error Code

If the command is successful, this value will be equal to 0. Otherwise, the value will be equal to -1.
This value will be one of the following keywords:

Enabled
1. True: Input inversion is enabled.

2. False: Input inversion is disabled.

-GetInputRange 
Returns the input range(s) for the specified acquisition entity.
Example: -GetInputRange CSC1
Default: N/A
Usage: This command should only be used from a NetCom client application after a connection to a server has been established.
Arguments
Acq Ent Name The name of the acquisition entity to retrieve information for.
NetCom Reply
Error Code

If the command is successful, this value will be equal to 0. Otherwise, the value will be equal to -1.

Input
Range(s)

This is the input range list for the specified acquisition entity. The length of the list is determined by the number of sub
channels for the specified acquisition entity. CSC's and single electrodes have 1, stereotrodes 2 and tetrodes 4.

-GetSampleFrequency 
Returns the sample frequency for the specified acquisition entity.
Example: -GetSampleFrequency CSC1
Default: N/A
Usage: This command should only be used from a NetCom client application after a connection to a server has been established.
Arguments
Acq Ent Name The name of the acquisition entity to retrieve information for.
NetCom Reply
Error Code

If the command is successful, this value will be equal to 0. Otherwise, the value will be equal to -1.

Sample
Frequency

The sample frequency for the specified acquisition entity.

-GetSubChannelEnabled  
Gets the current enabled state of a subchannel of an acquisition entity. A disabled subchannel causes Cheetah to not process any data on that
subchannel. Once all subchannels are disabled, acquisition entity processing will be disabled for the acquisition entity.
Example: -GetSubChannelEnabled TT1 3
Default: N/A
Usage: This command should only be used from a NetCom client application after a connection to a server has been established.
Arguments
Acq Ent Name

The name of the acquisition entity to retrieve information for.
The index of the subchannel whose setting you wish to change. Valid values are dependent on the type of the acquisition
entity you are changing:

Channel Index

1. Single Electrode, CSC: Value can only be 0.
2. Stereotrode: Value can be 0 or 1.
3. Tetrode: Value can be 0, 1, 2, or 3

NetCom Reply
Error
Code

If the command is successful, this value will be equal to 0. Otherwise, the value will be equal to -1.
The enabled state of an acquisition entity subchannel.

Value

1. True: Cheetah is processing data for this acquisition entity subchannel.
2. False: Cheetah is not processing data for this acquisition entity subchannel. For spike acquisition entities, if a spike is
detected on another subchannel in this acquisition entity, the data recorded for disabled subchannels will be all
zeroes. This will not affect on the data for the AD channel that corresponds to the spike channel index that is
disabled. This means that any raw data file or CSC channels that also use this AD channel will be unaffected.

-GetSubSamplingInterleave 
Returns the sub sampling interleave for the specified acquisition entity.

Example: -GetSubSamplingInterleave CSC1
Default: N/A
Usage: This command should only be used from a NetCom client application after a connection to a server has been established.
Arguments
Acq Ent Name The name of the acquisition entity to retrieve information for.
NetCom Reply
Error Code

If the command is successful, this value will be equal to 0. Otherwise, the value will be equal to -1.

Value

The sub sampling interleave for the specified acquisition entity.

-SetADGain  
Analog systems allow you to adjust the gain of the AD conversion device directly. This command will fail if a digital system is being
used. You should only use this option if you need direct control over this value. In general, using the input range to adjust amplifications will
give you a better signal than adjusting the gain value separately. Adjusting the AD gain will affect the Input Range value. This value cannot
be changed while Cheetah is recording.
Example: -SetADGain CSC1 1
Default: The AD gain default value is based on the default input range.
Usage: This command can be used whenever recording is turned off. This command is only valid for Spike and Continuously Sampled
acquisition entities.
Arguments
Acq Ent
Name

The name of the acquisition entity which will be modified.
The A/D gain setting allows direct control of the final analog gain stage prior to analog-to-digital conversion, thereby
normalizing the input range of the A/D conversion. The following values can be used with their normalized voltages in
parenthesis:

Gain






1 (+/- 10V)
2 (+/- 5V)
4 (+/- 2.5V)
8 (+/- 1.25V)

-SetAcqEntProcessingEnabled  
Enables or disables the processing of data by the acquisition entity. Acquisition entity processing consists of record processing. If record
processing is disabled, records will not be able to be displayed, sent to NetCom or saved to a file. Raw data file processing will still occur if it
is enabled (see -SetRawDataFile). This command supersedes the -SetPlotEnabled and -SetDiskWriteEnabled commands.
Example: -SetAcqEntProcessingEnabled SE1 true
Default: Acquisition entity processing is enabled when the acquisition entity is created.
Usage: This command can be used at any time. This command is only valid for Spike and Continuously Sampled acquisition entities.
Arguments
Acq Ent Name The name of the acquisition entity which will be modified.
This value can be one of the following keywords:
Value

1. True: Enables acquisition entity processing.
2. False: Disables acquisition entity processing.

-SetAcqEntReference  
Sets the reference channel to use for all sub channels of an acquisition entity. This command only works on systems that have DRS boards.
Example: -SetAcqEntReference CSC1 31
Default: All acquisition entities are referenced to the REF1 connection on their corresponding headstage. (i.e. CSC33 using AD channel 33
will be referenced to the REF1 on headstage 2, which is connected to the second DRS board)
Usage: This command can be used at any time. This command is only valid for Spike and Continuously Sampled acquisition entities.
Arguments
Acq Ent
Name

The name of the acquisition entity which will be modified.

DRS boards can use any AD channel, headstage reference or DRS reference as the reference signal for any acquisition entity.
However, the hardware limits the number of unique references that can be used at one time. This command will fail if those
ReferenceID physical limitations prevent connection of the AD channels that are part of the acquisition entity to the desired reference. See
the DRS Control section for more information.

The reference ID is encoded via the following method:
Reference Channel
AD Channels

Encoding
AD Channel number

Example
AD Channel 33 = 33, AD Channel 129 = 129

Headstage
32000000Reference
+ DRSBoardIndex
1

DRS in slot 3 = 32000003

Headstage Reference 2

33000000 + DRSBoardIndex

DRS in slot 5 = 33000005

Headstage Reference 3

34000000 + DRSBoardIndex

DRS in slot 1 = 34000001

Headstage Reference 4

35000000 + DRSBoardIndex

DRS in slot 7 = 35000007

Animal Ground

36000000 + DRSBoardIndex

DRS in slot 9 = 36000009

Panel Ground

37000000 + DRSBoardIndex

DRS in slot 11 = 37000011

-SetAmplifierGain  
Analog systems allow you to adjust the gain of the external amplifier directly. This command will fail if a digital system is being used. You
should only use this option if you need direct control over this value. In general, using the input range to adjust amplifications will give you a
better signal than adjusting the gain value separately. Adjusting the amplifier gain will affect the Input Range value.
Example: -SetAmplifierGain CSC1 1000
Default: The amplifier gain default value is based on the default input range.
Usage: This command can be used at any time. This command is only valid for Spike and Continuously Sampled acquisition entities.
Arguments
Acq Ent
Name

The name of the acquisition entity which will be modified.

Gain

Since the Lynx8 amplifiers have discrete gain values, if the value entered is not one of those values, it will be changed to the
closest discrete value available. The Lynx-8 provides selectable gain from 1x to 50,000x in steps of 12.2 (i.e. 1, 13, 25, etc.).

-SetAnalogHighCutFrequency  
Sets the frequency that Cheetah will use for the high cut (low pass) analog filter on all channels of the specified acquisition entity. High cut
filters will only allow signals whose frequency is below this value to be digitized by Cheetah. Analog filters will affect data being written to a
raw data file (see -SetRawDataFile), as they are active prior to the signal being digitized. This command will fail if Cheetah does not control
analog filtering for the specified acquisition entity.

Example: -SetAnalogHighCutFrequency CSC1 9000
Default: Spike acquisition entities are created with the high cut frequency set to 6000Hz, while CSC acquisition entities are created with a
high cut frequency set to 9000Hz.
Usage: This command can be used at any time. This command is only valid for Spike and Continuously Sampled acquisition entities.
Arguments
Acq Ent Name The name of the acquisition entity which will be modified.
Cheetah supports the following settings for analog high cut filter frequency (all values are in hertz (Hz).):
Frequency
50, 125, 200, 250, 275, 325, 400, 475, 3000, 6000, 9000

-SetAnalogLowCutFrequency  
Sets the frequency that Cheetah will use for the low cut (high pass) analog filter on all channels of the specified acquisition entity. Low cut
filters will only allow signals whose frequency is above this value to be digitized by Cheetah. Analog filters will affect data being written to a
raw data file (see -SetRawDataFile), as they are active prior to the signal being digitized. This command will fail if Cheetah does not control
analog filtering for the specified acquisition entity.
Example: -SetAnalogLowCutFrequency CSC1 0.1
Default: Spike acquisition entities are created with the low cut frequency set to 600Hz, while CSC acquisition entities are created with a low
cut frequency set to .1Hz.
Usage: This command can be used at any time. This command is only valid for Spike and Continuously Sampled acquisition entities.
Arguments
Acq Ent Name The name of the acquisition entity which will be modified.
Cheetah supports the following settings for analog low cut filter frequency (all values are in hertz (Hz).):
Frequency
0.1, 1, 10, 100, 300, 600, 900

-SetChannelNumber     
Sets the AD channel number(s) for the specified acquisition entity. The AD channel numbers correspond to signals on an individual
wire. Channel numbers and counts are dictated by your specific hardware setup.
Example: -SetChannelNumber ST1 0 1

Default: Acquisition entities are created using the next available sequence of open AD channels (i.e. if the first acquisition entity created is a
stereotrode, the channels it will initially use are 0 and 1).
Usage: This command can be used at any time. This command is only valid for Spike and Continuously Sampled acquisition entities.
Arguments
Acq Ent
Name

The name of the acquisition entity which will be modified.

Channel

The AD channel to be set for the first channel of the specified acquisition entity. CSC and Single Electrode acquisition
entities only have a single channel. For the Cheetah160 and Cheetah64 sub systems, AD channel numbers can only be used
once. If the channel number specified is already in use, this command will fail. All acquisition entity types require this
argument.

Channel2

This argument is required if the acquisition entity is a stereotrode or a tetrode. This command will fail if the acquisition
entity is any other type.

Channel3 and These arguments are required only if the acquisition entity is a tetrode. This command will fail if the acquisition entity is
Channel4
any other type.

-SetDataFile  
Sets the data file for the specified acquisition entity. All data records recorded for this acquisition entity will be saved to this file.
Example: -SetDataFile Events "C:\My Events.nev"
Default: Cheetah will create a file using the name of the acquisition entity in the current data directory when the acquisition entity is created
(i.e.Cheetah created Events.nev in the current data directory when the Events acquisition entity was created).
Usage: This command can be used at any time.
Arguments
Acq Ent
The name of the acquisition entity which will be modified.
Name
Sets the file to use for data recording for the specified acquisition entity. If only a filename is specified, Cheetah will create the
file in the current data directory. When the data directory is changed, the file's location will change with the data directory.
File
Name

Example: -SetDataFile SE1 SE1.nse
If a complete path is specified, Cheetah will create the file in the specified location, and will not change the file's location when
the data directory is changed.

Example : -SetDataFile CSC1 "C:\Data Directory\CSC1.ncs"
The directory C:\Data Directory must exist or this command will fail. If the file CSC1.ncs exists, it will be overwritten. The
extension of the file will be changed to the appropriate Neuralynx extension for the specified acquisition entity type. Cheetah will
always create a file using the acquisition entity's name in the current data directory. If this command is issued before any data is
recorded, the file in the current data directory will only have header information.

-SetDiskWriteEnabled  
Enables or disables disk writing of data records for the specified acquisition entity. This command does not affect data records over NetCom
or the data visible in all plots for this acquisition entity. You may want to disable disk writing for control or stimulus signals that you want to
see, but have no need for in data analysis.
Example: -SetDiskWriteEnabled CSC1 true
Default: Cheetah initially enables disk writing when an acquisition entity is created.
Usage: This command can be used at any time.
Arguments
Acq Ent
The name of the acquisition entity which will be modified.
Name
This value can be one of the following keywords:

Value

1. True: Enables disk writing of data records.
2. False: Enables disk writing of data records. If disk writing is disabled prior to recording, a data file will be created for the
specific acquisition entity, but only header information will be written to the file. If disk writing is disabled after recording
has begun, all records after disk writing has been disabled will not be written until disk writing is re-enabled.

-SetDspHighCutFilterEnabled  
Cheetah has the ability to process all signals using digital signal processing (DSP). This command will turn the high cut (low pass) DSP filter
on or off for the specified acquisition entity. This command does not affect the actual filter value (see -SetDspHighCutFrequency), it simply
enables or disables the filter. All channels of an acquisition entity are filtered using the same settings. Disabling DSP filtering can be used to
alleviate CPU load on high channel count systems or older computers.

Example: -SetDspHighCutFilterEnabled SE1 false
Default: Acquisition entities are created with the high cut filter enabled set to true.
Usage: This command can be used at any time. This command is only valid for Spike and Continuously Sampled acquisition entities
Arguments
Acq Ent Name The name of the acquisition entity which will be modified.
This value can be one of the following keywords:
Value

1. True: Enables DSP high cut filtering on all channels of the specified acquisition entity..
2. False: Disables DSP high cut filtering on all channels of the specified acquisition entity..

-SetDspHighCutFrequency  
Sets the frequency that Cheetah will use for the high cut (low pass) digital signal processing (DSP) filter on all channels of the specified
acquisition entity. The high cut filter frequency has no effect if high cut filtering is disabled (see -SetDspHighCutFilterEnabled). High cut
filters will only allow signals whose frequency is below this value to be recorded by Cheetah. DSP filters have no effect on data being written
to a raw data file (see -SetRawDataFile).
Example: -SetDspHighCutFrequency CSC1 9000
Default: Spike acquisition entities are created with the high cut filter set to 6000Hz, while CSC acquisition entities are set to 9000Hz.
Usage: This command can be used at any time. This command is only valid for Spike and Continuously Sampled acquisition entities
Arguments
Acq Ent
The name of the acquisition entity which will be modified.
Name
The high cut frequency of the DSP filter to be set for the specified acquisition entity. This value is in hertz, and can be any value
(including decimal values) between 0.1 Hz and 10000.0 Hz.. All signals with a frequency below this value will be processed by
Cheetah.
Value
Filter Type

Frequency Range (Hz)

Finite Infinite Response (FIR)

.1 - 10000

-SetDspHighCutNumberTaps  

Digital signal processing (DSP) taps determine the amount of roll off for the DSP filter. If you notice the high cut filter is allowing signals that
are too far above your high cut setting to be processed by Cheetah, you may want to increase this value. Cheetah will normally select a tap
value that is appropriate for the high cut filter frequency. Lowering the number of taps can be useful to alleviate CPU load on large channel
count systems or older computers.
Example: -SetDspHighCutNumberTaps CSC1 64
Default: Acquisition entities are created with the high cut taps set to 32.
Usage: This command can be used at any time. This command is only valid for Spike and Continuously Sampled acquisition entities
Arguments
Acq Ent Name The name of the acquisition entity which will be modified.
The following table shows the available taps at certain high cut filter frequencies:

Value

Low Value
(Hz)

High Value (Hz) Taps Choices

.1

199.99

256

200

499.99

128, 256

500

999.99

64,128, 256

1000

10000

32, 64, 128, 256

This command will fail if you try to change to a tap size that is not available given the current filter frequency.

-SetDspLowCutFilterEnabled  
Cheetah has the ability to process all signals using digital signal processing (DSP). This command will turn the low cut (high pass) DSP filter
on or off for the specified acquisition entity. This command does not affect the actual filter value (see -SetDspLowCutFrequency), it simply
enables or disables the filter. All channels of an acquisition entity are filtered using the same settings. Disabling DSP filtering can be used to
alleviate CPU load on high channel count systems or older computers.
Example: -SetDspLowCutFilterEnabled SE1 false
Default: Acquisition entities are created with the low cut filter enabled set to true..
Usage: This command can be used at any time. This command is only valid for Spike and Continuously Sampled acquisition entities
Arguments

Acq Ent Name The name of the acquisition entity which will be modified.
This value can be one of the following keywords:
Value

1. True: Enables DSP low cut filtering on all channels of the specified acquisition entity..
2. False: Disables DSP low cut filtering on all channels of the specified acquisition entity..

-SetDspLowCutFrequency  
Sets the frequency that Cheetah will use for the low cut (high pass) digital signal processing (DSP) filter on all channels of the specified
acquisition entity. The low cut filter frequency has no effect if low cut filtering is disabled (see -SetDspLowCutFilterEnabled). Low cut
filters will only allow signals whose frequency is above this value to be recorded by Cheetah. DSP filters have no effect on data being written
to a raw data file (see -SetRawDataFile).
Example: -SetDspLowCutFrequency CSC1 100
Default: Spike acquisition entities are created with the low cut filter set to 600Hz, while CSC acquisition entities are created with a low cut
filter set to .1Hz.
Usage: This command can be used at any time. This command is only valid for Spike and Continuously Sampled acquisition entities
Arguments
Acq Ent
The name of the acquisition entity which will be modified.
Name
The low cut frequency of the DSP filter to be set for the specified acquisition entity. This value is in hertz, and can be any value
(including decimal values) between 0.1 Hz and 10000.0 Hz.. All signals with a frequency above this value will be processed by
Cheetah.
Value

Filter Type

Frequency Range (Hz)

DC Offset (DCO)

0.1 - 149.99

Finite Infinite Response (FIR)

150 - 10000

-SetDspLowCutNumberTaps  
Digital signal processing (DSP) taps determine the amount of roll off for the DSP filter. If you notice the low cut filter is allowing signals that
are too far beneath your low cut setting to be processed by Cheetah, you may want to increase this value. Cheetah will normally select a tap

value that is appropriate for the low cut filter frequency. Lowering the number of taps can be useful to alleviate CPU load on large channel
count systems or older computers.
Example: -SetDspLowCutNumberTaps CSC1 64
Default: Spike acquisition entities are created with the low cut taps set to 64, while CSC acquisition entities are set to None.
Usage: This command can be used at any time. This command is only valid for Spike and Continuously Sampled acquisition entities
Arguments
Acq Ent Name The name of the acquisition entity which will be modified.
The following table shows the available taps at certain low cut filter frequencies:

Value

Low Value
(Hz)

High Value (Hz) Taps Choices

0.1

149.99

None

150

199.99

256

200

499.99

128, 256

500

999.99

64,128, 256

1000

10000

32, 64, 128, 256

This command will fail if you try to change to a tap size that is not available given the current filter frequency.

-SetInputInverted  
Enables or disables inversion of AD data for a specified acquisition entity.
Example: -SetInputInverted CSC1 false
Default: Acquisition entities are created with the the input inversion set to true.
Usage: This command can be used at any time. This command is only valid for Spike and Continuously Sampled acquisition entities
Arguments
Acq Ent Name The name of the acquisition entity which will be modified.
Value

The input inverted value can be one of the following:

1. True: Cheetah will automatically invert incoming AD data before it is processed.
2. False: Cheetah will not adjust the polarity of the incoming AD data before it is processed.

-SetInputRange     
Sets the input scaling for an acquisition entity. Since there is only a certain number of bits available to digitize the incoming analog data, we
need to scale the input voltages to get the most accurate values possible. In order to improve accuracy, you can tell Cheetah what voltage
range you are expecting. Cheetah will then adjust the volts per bit setting for digitized data.
Example: -SetInputRange TT1 2000 2000 2000 2000
Default: CSC acquisition entities are created with an input range of -1000 to 1000 microvolts.
Spike acquisition entities are created with an input range of -500 to 500 microvolts.
Usage: This command can be used at any time. This command is only valid for Spike and Continuously Sampled acquisition entities.
Arguments
Acq Ent
Name

The name of the acquisition entity which will be modified.
The input range in microvolts to be used for the first channel of the specified acquisition entity. A larger range will be able to
record higher voltages without clipping, however the amount of detail captured is lower (i.e. a larger number of volts is
represented by a single bit). Smaller ranges will increase the detail, while sacrificing the ability to record large voltage
values. You should always try to have your input range set to the range of values that are expected. Min and max input range
values are based on hardware sub system type. Please see the table below.
System Type

Value

Min Input
Range

Max Input Range

Digital Lynx SX 25

131072

Digital Lynx

25

131072

Cheetah 64

25

136986

Cheetah 160

11

40816

Raw Data File

11

136986

CSC and Single Electrode acquisition entities only have a single channel. All acquisition entity types require this argument.

Value2

This argument is required if the acquisition entity is a stereotrode or a tetrode. This command will fail if the acquisition entity is
any other type.

Value3
and
Value4

These arguments are required only if the acquisition entity is a tetrode. This command will fail if the acquisition entity is any
other type.

-SetSubChannelEnabled   
Enables or disables a particular subchannel of an acquisition entity. Disabling a subchannel will cause Cheetah to not process any data on that
subchannel. Once all subchannels are disabled, acquisition entity processing will be disabled for the acquisition entity.
Example: -SetSubChannelEnabled TT1 3 False
Default: All subchannels of an acquisition entity are enabled when it is created.
Usage: This command can be used at any time.
Arguments
Acq Ent Name

The name of the acquisition entity which will be modified.
The index of the subchannel whose setting you wish to change. Valid values are dependent on the type of the acquisition
entity you are changing:

Channel Index

1. Single Electrode, CSC: Value can only be 0.
2. Stereotrode: Value can be 0 or 1.
3. Tetrode: Value can be 0, 1, 2, or 3
Tells Cheetah to enable or disable an acquisition entity subchannel.

Enabled

1. True: Cheetah will process data for this acquisition entity subchannel.
2. False: Cheetah will not process data for this acquisition entity subchannel. For spike acquisition entities, if a
spike is detected on another subchannel in this acquisition entity, the data recorded for disabled subchannels will
be all zeroes. This will not affect on the data for the AD channel that corresponds to the spike channel index that
is disabled. This means that any raw data file or CSC channels that also use this AD channel will be unaffected.

-SetSubSamplingInterleave  

This command allows you to record data for a particular acquisition entity at a lower sampling rate than other acquisition entities. The sub
sampling interleave tells Cheetah to process only every Nth (where N is the Value specified) sample obtained from the recording
hardware. This can also be seen as a sampling divisor.
Example: -SetSubSamplingInterleave SE1 2
Default: Acquisition entities are created with the the sub sampling interleave set to 1.
Usage: This command can only be used when Cheetah is idle. This command is only valid for Spike and Continuously Sampled acquisition
entities
Arguments
Acq Ent
Name

The name of the acquisition entity which will be modified.
The value must be between 1 and 3 for spike acquisition entities and between 1 and 128 for csc acquisition entities.

Value

Example: A Digital Lynx system normally samples all channels at 32000 Hz. Suppose you want to sample CSC1 at 8000
Hz. You would issue the following command:
-SetSubSamplingInterleave CSC1 4
This will only process every 4th sample, giving an effective sampling rate of 8000 Hz.

16.11 Time Window Commands
Time Window Commands
These commands are for creation and manipulation of time windows.

-AddPlot  
Adds a new plot to the specified window. The type of the window determines what type of plot may be added to the window. Once a plot is
added, the acquisition entity whose data is displayed in the plot cannot be changed. All plots are displayed in the order that they are added to
the window. The display order of the plots can be changed through the Properties Dialog. All data in the window will clear when a new plot
is added to the window. Each acquisition entity can be added to a window only once.
Example: -AddPlot "SpikeWindow" SE1

Default: All plot windows are created with no plots.
Usage: This command can be used at any time.
Arguments
Window
Name

The name of the window that will house the new plot.
The acquisition entity name that will be the data source of the plot. The acquisition entity must be of the appropriate type in
order for it to be successfully added to the window.

Acq Ent
Name

Example: Assume a configuration file has the following two commands:
-CreatePlotWindow Spike "My Spike Window"
-AddPlot CSC1
If the acquisition entity CSC1 is a continuously sampled channel, it will not be able to be displayed in a Spike plot window,
and the command will fail.

-CreatePlotWindow  
Creates a new plot window in Cheetah. Once created, the window type cannot be changed.
Example: -CreatePlotWindow Time "My Time Window"
Default: Cheetah starts with no plot windows.
Usage: This command can be used at any time.
Arguments
Specifies the type of window you wish to be created. This value must be one of the following:

Window
Type

1. Spike: The window will only be able to display Spike plots..
2. Time: The window will only be able to display Time plots.
3. Video: The window will only be able to display Video plots.

For a more detailed description of each plot type, see the -SetPlotWindowPlotType command.
Window
Name

The name of the plot window you wish to create. This name must be unique throughout the Cheetah system, otherwise the
command will fail. Window names can be changed after the window is created through the Properties Dialog.

-SetPlotWindowCurrentPlot  
This command has the same effect as either clicking on a plot, or selecting a plot in the Properties dialog's tree view. When a plot is current,
you will see a purple background in the title bar of the current plot, and the plot name will appear in the title bar of the window. All menu
items with "Current Plot" in the name will be applied to this plot. There can only be one current plot per window. Since the Video Tracker
window only has one plot, it will always be current.
Example: -SetPlotWindowCurrentPlot "My Spike Window" SC1
Default: No Spike or Time plot will be set to current unless it is 1) clicked on, 2) selected in the Properties Dialog, or 3) selected by this
command. Video Tracker windows will automatically set a plot to current as soon as it is added.
Usage: This command can be used at any time.
Arguments
Window Name

The name of the window which will be modified.

Acquisition Entity
Name

The name of the acquisition entity associated with the plot you wish to make current. If there is no plot for that
acquisition entity in the specified window, this command will fail.

-SetPlotWindowFrozen  
This command works like a pause button on a DVD player. It will lock in whatever is currently displayed in the window. If an action is taken
that will clear the window, the last data displayed will be cleared. No data will be added to the window while it is frozen, but otherwise is
processed normally. It if a window is frozen before it is displayed, the window may contain garbage or a copy of whatever is displayed
beneath the window. Unfreezing and refreezing the window will allow it to clear normally.
Example: -SetPlotWindowFrozen "My Spike Window" True
Default: All windows are created with frozen set to false.
Usage: This command can be used at any time.
Arguments
Window
Name

The name of the window which will be modified.
The frozen value can be one of the following keywords:

Frozen

1. True: The entire window will be frozen and no new data will be plotted. To begin plotting new data, reissue this
command with Frozen set to false.
2. False: The window will begin to plot new data. If a window was frozen prior to this command being issued, all of the

data visible in the frozen display will be cleared.

-SetPlotWindowHistoryTimeframe  
Sets the time frame for a time plot windows history mode. This time frame is how far back in time a user may view data after freezing the
time window.
Example: -SetPlotWindowHistoryTimeframe Window1 10
Default: All time plot windows are created with a 30 second history time frame.
Usage: This command can be used at any time, but only applies to Plot Windows of type Time.
Arguments
Window Name The name of the window which will be modified.
Value

The value can be an integer between 1 and 30 and is in seconds.

-SetPlotWindowMaximizeView  
Sets the window to fill the entire window with a single plot. This will maximize the current plot. If no current plot is selected, the first plot in
the list will be maximized. Video Tracker plots are always maximized as there is only one per window. All data in the window will clear
when the maximized state of the window is changed.
Example: -SetPlotWindowMaximizeView "My Spike Window" True
Default: Spike and Time windows are created with Maximized set to false. Video Tracker windows are always maximized.
Usage: This command can be used at any time.
Arguments
Window
Name

The name of the window which will be modified.
The maximized value can be one of the following keywords:

Maximized

1. True: The current plot will fill the entire window, hiding all other plots in the window. To return to normal mode,
reissue this command with Maximized set to false.
2. False: All plots in the window are visible.

-SetPlotWindowOverlay  
Sets a plot window's overlay mode. Overlaid windows will not clear out old data before displaying new data. This setting effects all plots in
this window.
Example: -SetPlotWindowOverlay "MyWindow" true
Default: Plot windows are created with overlay set to false.
Usage: This command can be used at any time.
Arguments
Window
Name

The name of the window which will be modified.
This can be one of the following keywords:
1. True: The window will not clear out any old data until either a clear command is issued, overlay is turned off, or the
window is resized.
2. False: The window will clear out old data according to the current plot type. See -SetPlotWindowType for more
information.

Value

-SetPlotWindowPlotType  
Sets the plot type that will be used for this window. All plots in the window will be set to the same type. All data in the window will clear
when the plot type is changed.
Example:
Default:

-SetPlotWindowPlotType "SpikeWindow" Waveform
Window Type Default Plot Type
Spike

WaveformFeature

Time

Sweep

Video

Live

Usage: This command can be used at any time.
Arguments

Window
The name of the window that will be modified.
Name
Plot
Type

The options for a view are dependent upon the type of window that is being set. If the specified plot type does not correspond to
the type of the window (i.e. a plot type of Waveform for a Time window), the command will fail.
Spike Windows:
1. Waveform: Shows the extracted waveform for a detected spike. If more than one waveform is visible, this means more
than one spike occurred since the last screen refresh. The waveform seen in this plot is the exact waveform saved to the
spike data records.

2. Feature: Shows the calculated feature information in a XY scatter plot. The features that are plotted can be changed by
the -SetFeaturePlotSources command. To change the features available for an acquisition entity, see the SetWaveformFeature command. The data seen in this plot is the exact data saved to the spike data records.

3. WaveformFeature: Shows both the waveform and feature plots.

Time Windows:
1. Flash: Displays the waveform for single record. The data shown is indicative of the data that is written to the Cheetah
data files.

2. Scroll: Similar to an oscilloscope, new waveform data will be shown on the right, and old data will scroll to the left. The
amount of time shown in this plot can be adjusted with the -SetPlotWindowTimeframe command. The data shown is
indicative of the data that is written to the Cheetah data files.

3. Sweep: A cursor will move from left to right across the screen. New data will be shown to the immediate left of the
cursor. Old data will be cleared as the cursor moves past it. The data shown is indicative of the data that is written to the
Cheetah data files

.

Video Tracker Windows:
1. Live: The image displayed in the window is the live, unprocessed video image. This is also the same image that will be
written to a video output file (-SetVideoFileOutput) when -SetVideoFileOutputEnabled is true.

1. Threshold: The image displayed in the window is a thresholded version of the live image. This display mode takes into
account the threshold settings for Red, Green, Blue and Intensity when displaying pixels. This is NOT representative of
the data that is recorded to the Video Tracker record file, but is intended as a guide for setting thresholds.

2. Record: Displays a thresholded image of the live video. This display mode will only show pixels that are above the
threshold for Red, Green, Blue and Intensity. However, it will only display as many transitions as the video record can
hold. If the thresholds are set too low, the image may become saturated, and only the top few lines of the image will be
visible. The image displayed is representative of the data stored into a Video Tracker record file.

-SetPlotWindowPosition     
Set the position and size of the specified plot window. All data in the window will clear when the window size or position is changed.
Example: -SetPlotWindowPosition WindowName 200 300 800 600
Default: The position of new plot windows is determined by Windows.
Usage: This command can be used at any time.
Arguments
Window
Name

The name of the window which will be modified.
The position, in pixels, to place the left side of the specified window. This value is relative to your desktop, and must be within
the bounds of your desktop. If a value is outside the bounds of your desktop, it will be adjusted to that the window is placed as
close to your value as possible, while remaining completely visible. If the width of the window is larger than the width of your
desktop, Cheetah will set the x position to 0 and part of the window will not be visible. Negative values are not allowed.

X Position Example: You have your screen resolution set to 1600 x 1200, and the following command is processed by Cheetah:
-SetPlotWindowPosition "My Spike Window" 1600 100 800 600
Since putting the window with its left point at 1600 and top at 100 will place the window outside of your desktop, Cheetah will
move the window left until it is completely visible. The top position will not be changed since it is within the bounds of the

desktop. The final position of the window from the above command will be 800, 100.
The position, in pixels, to place the top of the specified dialog. This value is relative to your desktop, and must be within the
bounds of your desktop. If a value is specified that is outside the bounds of your desktop, it will be adjusted to that the specified
Y Position dialog is placed as close to your value as possible, while remaining completely visible. If the height of the window is larger than
the height of your desktop, Cheetah will set the y position to 0 and part of the window will not be visible. Negative values are
not allowed.
Window
Width

The width of the window in pixels. If the width value at the current x position would cause part of the window to be outside the
bounds of your desktop, Cheetah will move the window left until either all the window is visible, or the x position is
0. Negative values are not allowed.

Window
Height

The height of the window in pixels. If the width value at the current x position would cause part of the window to be outside the
bounds of your desktop, Cheetah will move the window left until either all the window is visible, or the x position is 0. Negative
values are not allowed.

-SetPlotWindowShowGridLines  
Used to set the visibility of the vertical grid lines in a Time window. Hiding the grid lines will not hide the zero line for the time plots. All
data is cleared from the window when the grid visibility is changed. Grid lines can be used to approximate the amount of time between
different points of the visible time plot waveform. To determine the time between grid lines, take the windows timeframe and divide by the
number of grid lines minus 1. This command can be used to decrease CPU usage for large channel count systems or older computers.
Example: -SetPlotWindowShowGridLines "Time Window 1" True
Default: All Time windows are created with a timeframe of 5000 milliseconds.
Usage: This command can be used at any time. This command only affects Time windows.
Arguments
Window Name The name of the window which will be modified.
The show value can be one of the following keywords:
Show

1. True: Horizontal grid lines are visible.
2. False: Horizontal grid lines are hidden.

-SetPlotWindowShowTitleBar  
Sets the visibility of title bar for the specified display window. This command can be used to increase the screen space dedicated to showing

acquired data or can be used to decrease CPU usage for large channel count systems or older computers. Since most of the plot icons are
located in the title bar, you will not be able to click on the icons when the title bar is hidden. Since the saved screen space is minimal, it is
recommended that you leave the title bars visible if possible. All data in the window will clear when the title bar visibility is changed.
Example: -SetPlotWindowShowTitleBar "My Spike Window" true
Default: Plot windows are created with the title bar visible.
Usage: This command can be used at any time.
Arguments
Window
Name

The name of the window which will be modified.
The visibility value can be one of the following keywords:

Value

1. True: The title bar is visible for all plots in the window. Spike windows have one title bar per plot, whereas Time
windows have one title bar for all plots. Video Tracker windows do not have a title bar.
2. False: The title bar is hidden for all plots in the window.

-SetPlotWindowSpreadType  
The spread type of Time windows can be changed using this command. Adjusting the spread type is similar to moving the zero line on an
oscilloscope. It will adjust where the zero line of each of the waveforms is drawn in the window. Changing the spread type can be useful
when you want to see seemingly similar plots overlaid on top of each other. All data in the window will clear when the spread type is
changed.
WARNING: Changing the spread type can cause CPU overload in high channel count systems. If you see drawing errors after changing the
spread type, changing the spread type to FullSpread will alleviate some of the CPU strain.
Example: -SetPlotWindowSpreadType "Time Window 1" FullSpread
Default: All Time windows are created using the FullSpread type.
Usage: This command can be used at any time. This command only affects Time windows.
Arguments
Window Name The name of the window you want to change.
Spread Type

Specifies the type of spread you want to use for this window's display. The spread type is only used by Time
windows. The possible options are:

1. CommonZero: All of the time plots will share the same zero line. This line will be in the middle of the window.

2. HalfSpread: All time plots have their own zero line. The window is divided into 3 sections. The top section
contains 25% of the window. The middle section contains 50% of the window and the bottom section contains 25%
of the window. The zero lines for each plot will be spread evenly throughout the middle section. This type is
designed to allow each plot to use at least 50% of the available window. Plots will overlap when using this spread
type.

.
3. FullSpread: All time plots have their own zero line. If the plots are not zoomed in, there will be no overlapping of
waveforms.

-SetPlotWindowTimeframe  
Sets the amount of time that data remains visible in the Time window. This command has no effect when the window is displaying Flash plot
types. All data is cleared from the window when the timeframe is changed. The timeframe of the window will appear next to the window
name in the window's title bar.
Example: -SetPlotWindowTimeframe "Time Window 1" 10000
Default: All Time windows are created with a timeframe of 5000 milliseconds.
Usage: This command can be used at any time. This command only affects Time windows.
Arguments
Window
Name

The name of the window which will be modified.

Value

This value must be set between 100 and 30000 milliseconds. As the value is increased, less detail will be visible for the
waveforms, but data will be visible longer. Decreasing the value will increase the waveform detail, while decreasing the time
that data remains visible.

16.12 Time Plot Commands

Time Plot Commands
These commands will modify how individual time plots display their data. Some display options can only be changed at the time window level. See
the time window commands for more information (including adding plots to a window).

-SetPlotEnabled   
This command is used if you want to stop plotting data for only a single acquisition entity's plot in a window, but do not want to remove the
plot from the window. This is similar to a freeze for only a single plot (see -SetPlotWindowFrozen). This command works like a Pause button
on a DVD player. It will lock in whatever is currently displayed in the plot. If an action is taken that will clear the plot, the last data displayed
will be cleared. No data will be added to the plot while it is disabled, but otherwise is processed normally.
Example: -SetPlotEnabled "Spike Window 1" SE1 True
Default: All plots are enabled when they are created..
Usage: This command can be used at any time. This command only affects Spike and Time plots.
Arguments
Window
Name

The name of the window that contains the plot you want to change.

Acq Ent
Name

The name of the acquisition entity whose plot you want to change. If the window does not contain a plot for the specified
acquisition entity, this command will fail. This is also referred to as the plot name.
The enabled value can be one of the following keywords:

Enabled

1. True: Only the specified plot will be disabled and no new data will be plotted. To begin plotting new data, reissue this
command with enabled set to false.
2. False: Only the specified plot will begin to plot new data. If a plot was disabled prior to this command being issued,
all of the data visible in the disabled display will be cleared.

-SetPlotLabel   
Sets a label to the plot in the specified window. This label is used only for display purposes. Not all plots will show the label on the plot
itself, but all plot labels will be visible in the Property Dialog's tree view. The data in only the plot whose label is set will be cleared when the
plot label is changed.
Example: -SetPlotLabel "Spike Window 1" SE1 "My Label"

Default: All plots are created with no label.
Usage: This command can be used at any time.
Arguments
Window
Name

The name of the window that contains the plot you want to change.

Acq Ent
Name

The name of the acquisition entity whose plot you want to change. If the window does not contain a plot for the specified
acquisition entity, this command will fail. This is also referred to as the plot name.

Value

The label to use for this plot.

-SetTimePlotZoomFactor   
Sets the zoom factor of a specific plot in a time window.
Example: -SetPlotZoomFactor "Time Window 1" SE1 4
Default: All plots are created with a zoom factor of 1.
Usage: This command can be used at any time.
Arguments
Window
Name

The name of the window that contains the plot you want to change.

Acq Ent
Name

The name of the acquisition entity whose plot you want to change. If the window does not contain a plot for the specified
acquisition entity, this command will fail. This is also referred to as the plot name.

ZoomFactor

The zoom factor to use when displaying data for this particular plot. The zoom factor is simply a multiplier for the displayed
data (e.g. a zoom factor of 4 shows the data scaled at 4x the normal plotting size). Valid zoom factor values are: 1, 2, 4, and
8.

16.13 Spike AE Commands
Spike Acquisition Entity Commands
These commands are used to control how the spike acquisition entities process AD data and what it does with the data after processing.

-ClearClusters 
Clears all defined clusters for the specified acquisition entity. Once cleared, all cluster definitions for this acquisition entity will be lost.
Example: -ClearClusters SE1
Default: This command is an action, there is no default value.
Usage: This command can be used at any time, and is available for spike acquisition entities only.
Arguments
Acq Ent Name The name of the acquisition entity whose cluster definitions will be cleared.

-CreateSpikeAcqEnt   
Creates a new instance of a spike acquisition entity in Cheetah. Spike acquisition entities will detect specific signals from the incoming
neurological data base on the spike detection type (see -SetSpikeDetectionType). If these specific signals are found on any of the electrodes
related to this spike acquisition entity, the signal at that time will be extracted from the incoming signal from all electrodes related to this spike
acquisition entity , and saved to a spike record. Spikes are sometimes referred to as single units. Spike acquisition entities can be created as
single electrodes (SE), stereotrodes (ST, two electrodes), or tetrodes (TT, four electrodes).
Example: -CreateSpikeAcqEnt TT1 DCDCB 4
Default: Cheetah does not start with any spike acquisition entities created.
Usage: This command can be used only when Cheetah is idle.
Arguments
Acq Ent Name

The name of the spike acquisition entity you wish to create. This name must be unique throughout the Cheetah
system. This name cannot be changed after the acquisition entity is created.

Hardware Sub
System Name

The name of the hardware sub system that you want the acquisition entity to be associated with. This specifies which
hardware setup will be providing data to the acquisition entity.

AD Channel
Count

This is the number of channels (electrodes) used to detect the spike. This value must be 1 if creating a single electrode, 2
if creating a stereotrode or 4 if creating a tetrode. Any other values will cause this command to fail. The specific AD
channel to use for each channel of the spike acquisition entity is set using the -SetADChannel command.

-GetAcqEntReference 
Gets the current reference ID used by an acquisition entity.

Example: -GetAcqEntReference TT1
Default: N/A
Usage: This command should only be used from a NetCom client application after a connection to a server has been established.
Arguments
Acq Ent Name

The name of an acquisition entity.

NetCom Reply
Error Code

If the command is successful, this value will be equal to 0. Otherwise, the value will be equal to -1.

Value

The reference ID used as a reference by this acquisition entity. See -SetAcqEntReference for reference ID information.

-GetADBitVolts 
Returns the AD bit volts value of each sub channel for the specified acquisition entity.
Example: -GetADBitVolts TT1
Default: N/A
Usage: This command should only be used from a NetCom client application after a connection to a server has been established.
Arguments
Acq Ent Name The name of the acquisition entity to retrieve information for.
NetCom Reply
Error Code

If the command is successful, this value will be equal to 0. Otherwise, the value will be equal to -1.

Value

The AD bit volts value of each sub channel for the specified acquisition entity.

-GetADGain 
Returns the AD gain value for the specified acquisition entity.
Example: -GetADGain TT1
Default: N/A
Usage: This command should only be used from a NetCom client application after a connection to a server has been established.
Arguments

Acq Ent Name The name of the acquisition entity to retrieve information for.
NetCom Reply
Error Code

If the command is successful, this value will be equal to 0. Otherwise, the value will be equal to -1.

Value

The AD gain for the specified acquisition entity.

-GetADRange 
Returns the AD range for the specified acquisition entity.
Example: -GetADRange ST5
Default: N/A
Usage: This command should only be used from a NetCom client application after a connection to a server has been established.
Arguments
Acq Ent Name The name of the acquisition entity to retrieve information for.
NetCom Reply
Error Code

If the command is successful, this value will be equal to 0. Otherwise, the value will be equal to -1.

Max AD Value The maximum AD value for the specified acquisition entity's data.
Min AD Value The minimum AD value for the specified acquisition entity's data.

-GetAcqEntProcessingEnabled 
Returns the processing state for the specified acquisition entity.
Example: -GetAcqEntProcessingEnabled TT1
Default: N/A
Usage: This command should only be used from a NetCom client application after a connection to a server has been established.
Arguments
Acq Ent Name The name of the acquisition entity to retrieve information for.
NetCom Reply

Error Code

If the command is successful, this value will be equal to 0. Otherwise, the value will be equal to -1.
This value will be one of the following keywords:

Processing
Enabled

1. True: Acquisition entity processing is enabled.
2. False: Acquisition entity processing is disabled.

-GetAmplifierGain 
Returns the amplifier gain value for the specified acquisition entity.
Example: -GetAmplifierGain TT1
Default: N/A
Usage: This command should only be used from a NetCom client application after a connection to a server has been established.
Arguments
Acq Ent Name The name of the acquisition entity to retrieve information for.
NetCom Reply
Error Code

If the command is successful, this value will be equal to 0. Otherwise, the value will be equal to -1.

Value

The amplifier gain for the specified acquisition entity.

-GetAnalogHighCutFrequency 
Returns the amplifier high cut frequency value for the specified acquisition entity.
Example: -GetAnalogHighCutFrequency TT1
Default: N/A
Usage: This command should only be used from a NetCom client application after a connection to a server has been established.
Arguments
Acq Ent Name The name of the acquisition entity to retrieve information for.
NetCom Reply

Error Code

If the command is successful, this value will be equal to 0. Otherwise, the value will be equal to -1.

Value

The amplifier high cut frequency for the specified acquisition entity.

-GetAnalogLowCutFrequency 
Returns the amplifier low cut frequency value for the specified acquisition entity.
Example: -GetAnalogLowCutFrequency TT1
Default: N/A
Usage: This command should only be used from a NetCom client application after a connection to a server has been established.
Arguments
Acq Ent Name The name of the acquisition entity to retrieve information for.
NetCom Reply
Error Code

If the command is successful, this value will be equal to 0. Otherwise, the value will be equal to -1.

Value

The amplifier low cut frequency for the specified acquisition entity.

-GetChannelNumber 
Returns the channel number(s) for the specified acquisition entity.
Example: -GetChannelNumber SE1
Default: N/A
Usage: This command should only be used from a NetCom client application after a connection to a server has been established.
Arguments
Acq Ent Name The name of the acquisition entity to retrieve information for.
NetCom Reply
Error Code

If the command is successful, this value will be equal to 0. Otherwise, the value will be equal to -1.

Channel
Number(s)

This is the channel number list for the specified acquisition entity. The length of the list is determined by the number of sub
channels for the specified acquisition entity. CSC's and single electrodes have 1, stereotrodes 2 and tetrodes 4.

-GetDataFile 
Returns the data file name and path for the specified acquisition entity.
Example: -GetDataFile CSC1
Default: N/A
Usage: This command should only be used from a NetCom client application after a connection to a server has been established.
Arguments
Acq Ent Name The name of the acquisition entity to retrieve information for.
NetCom Reply
Error Code

If the command is successful, this value will be equal to 0. Otherwise, the value will be equal to -1.

Value

This is the data file name and path for the specified acquisition entity.

-GetDiskWriteEnabled 
Returns the disk writing status for the specified acquisition entity.
Example: -GetDiskWriteEnabled SE1
Default: N/A
Usage: This command should only be used from a NetCom client application after a connection to a server has been established.
Arguments
Acq Ent Name The name of the acquisition entity to retrieve information for.
NetCom Reply
Error Code

If the command is successful, this value will be equal to 0. Otherwise, the value will be equal to -1.
This value will be one of the following keywords:

Value

1. True: Disk writing is enabled.
2. False: Disk writing is disabled.

-GetDspHighCutFilterEnabled 

Returns the DSP high cut filter state for the specified acquisition entity.
Example: -GetDspHighCutFilterEnabled TT1
Default: N/A
Usage: This command should only be used from a NetCom client application after a connection to a server has been established.
Arguments
Acq Ent Name The name of the acquisition entity to retrieve information for.
NetCom Reply
Error Code

If the command is successful, this value will be equal to 0. Otherwise, the value will be equal to -1.
This value will be one of the following keywords:

Enabled

1. True: DSP high cut filter is enabled.
2. False: DSP high cut filter is disabled.

-GetDspHighCutFrequency 
Returns the DSP high cut frequency for the specified acquisition entity.
Example: -GetDspHighCutFrequency TT1
Default: N/A
Usage: This command should only be used from a NetCom client application after a connection to a server has been established.
Arguments
Acq Ent Name The name of the acquisition entity to retrieve information for.
NetCom Reply
Error Code

If the command is successful, this value will be equal to 0. Otherwise, the value will be equal to -1.

Frequency

The frequency value of the DSP high cut filter for the specified acquisition entity.

-GetDspHighCutNumberTaps 
Returns the DSP high cut tap count for the specified acquisition entity.

Example: -GetDspHighCutNumberTaps TT1
Default: N/A
Usage: This command should only be used from a NetCom client application after a connection to a server has been established.
Arguments
Acq Ent Name The name of the acquisition entity to retrieve information for.
NetCom Reply
Error Code

If the command is successful, this value will be equal to 0. Otherwise, the value will be equal to -1.

Value

The number of taps of the DSP high cut filter for the specified acquisition entity.

-GetDspLowCutFilterEnabled 
Returns the DSP low cut filter state for the specified acquisition entity.
Example: -GetDspLowCutFilterEnabled TT1
Default: N/A
Usage: This command should only be used from a NetCom client application after a connection to a server has been established.
Arguments
Acq Ent Name The name of the acquisition entity to retrieve information for.
NetCom Reply
Error Code

If the command is successful, this value will be equal to 0. Otherwise, the value will be equal to -1.
This value will be one of the following keywords:

Enabled

1. True: DSP low cut filter is enabled.
2. False: DSP low cut filter is disabled.

-GetDspLowCutFrequency 
Returns the DSP low cut frequency for the specified acquisition entity.

Example: -GetDspLowCutFrequency TT1
Default: N/A
Usage: This command should only be used from a NetCom client application after a connection to a server has been established.
Arguments
Acq Ent Name The name of the acquisition entity to retrieve information for.
NetCom Reply
Error Code

If the command is successful, this value will be equal to 0. Otherwise, the value will be equal to -1.

Frequency

The frequency value of the DSP low cut filter for the specified acquisition entity.

-GetDspLowCutNumberTaps 
Returns the DSP low cut tap count for the specified acquisition entity.
Example: -GetDspLowCutNumberTaps TT1
Default: N/A
Usage: This command should only be used from a NetCom client application after a connection to a server has been established.
Arguments
Acq Ent Name The name of the acquisition entity to retrieve information for.
NetCom Reply
Error Code

If the command is successful, this value will be equal to 0. Otherwise, the value will be equal to -1.

Value

The number of taps of the DSP low cut filter for the specified acquisition entity.

-GetInputInverted 
Returns the signal inversion state for the specified acquisition entity.
Example: -GetInputInverted TT1
Default: N/A
Usage: This command should only be used from a NetCom client application after a connection to a server has been established.
Arguments

Acq Ent Name The name of the acquisition entity to retrieve information for.
NetCom Reply
Error Code

If the command is successful, this value will be equal to 0. Otherwise, the value will be equal to -1.
This value will be one of the following keywords:

Enabled

1. True: Input inversion is enabled.
2. False: Input inversion is disabled.

-GetInputRange 
Returns the input range(s) for the specified acquisition entity.
Example: -GetInputRange TT1
Default: N/A
Usage: This command should only be used from a NetCom client application after a connection to a server has been established.
Arguments
Acq Ent Name The name of the acquisition entity to retrieve information for.
NetCom Reply
Error Code

If the command is successful, this value will be equal to 0. Otherwise, the value will be equal to -1.

Input
Range(s)

This is the input range list for the specified acquisition entity. The length of the list is determined by the number of sub
channels for the specified acquisition entity. CSC's and single electrodes have 1, stereotrodes 2 and tetrodes 4.

-GetSampleFrequency 
Returns the sample frequency for the specified acquisition entity.
Example: -GetSampleFrequency SE1
Default: N/A
Usage: This command should only be used from a NetCom client application after a connection to a server has been established.
Arguments

Acq Ent Name The name of the acquisition entity to retrieve information for.
NetCom Reply
Error Code

If the command is successful, this value will be equal to 0. Otherwise, the value will be equal to -1.

Sample
Frequency

The sample frequency for the specified acquisition entity.

-GetSpikeAlignmentPoint 
Returns the spike alignment point for the specified acquisition entity.
Example: -GetSpikeAlignmentPoint TT1
Default: N/A
Usage: This command should only be used from a NetCom client application after a connection to a server has been established.
Arguments
Acq Ent Name The name of the acquisition entity to retrieve information for.
NetCom Reply
Error Code

If the command is successful, this value will be equal to 0. Otherwise, the value will be equal to -1.

Value

The spike alignment point for the requested acquisition entity.

-GetSpikeCellFiringCount  
Returns the number of spikes detected for the cell number of the specified acquisition entity.
Example: -GetSpikeCellFiringCount TT1 3
Default: N/A
Usage: This command should only be used from a NetCom client application after a connection to a server has been established.
Arguments
Acq Ent Name The name of the acquisition entity to retrieve information for.
Cell Number

The cell number for which the data is being requested.

NetCom Reply
Error Code

If the command is successful, this value will be equal to 0. Otherwise, the value will be equal to -1.

Count

The number of spikes detected with the specified cell number for the specified Acq Ent.

-GetSpikeDetectionType 
Returns the spike detection type for the specified acquisition entity.
Example: -GetSpikeDetectionType TT1
Default: N/A
Usage: This command should only be used from a NetCom client application after a connection to a server has been established.
Arguments
Acq Ent Name The name of the acquisition entity to retrieve information for.
NetCom Reply
Error Code

If the command is successful, this value will be equal to 0. Otherwise, the value will be equal to -1.
The spike detection type for the specified acquisition entity. This value will be one of the following:

Value

1. Threshold: Threshold spike detection is currently being used.
2. Slope: Slope spike detection is currently being used.

-GetSpikeDualThresholding 
Returns the thresholding state for the specified acquisition entity.
Example: -GetSpikeDualThresholding TT1
Default: N/A
Usage: This command should only be used from a NetCom client application after a connection to a server has been established.
Arguments
Acq Ent Name The name of the acquisition entity to retrieve information for.
NetCom Reply

Error Code

If the command is successful, this value will be equal to 0. Otherwise, the value will be equal to -1.
This value will be one of the following keywords:

Enabled

1. True: Dual thresholding is enabled.
2. False: Dual thresholding is disabled.

-GetSpikeRetriggerTime 
Returns the spike retrigger time for the specified acquisition entity.
Example: -GetSpikeRetriggerTime TT1
Default: N/A
Usage: This command should only be used from a NetCom client application after a connection to a server has been established.
Arguments
Acq Ent Name The name of the acquisition entity to retrieve information for.
NetCom Reply
Error Code

If the command is successful, this value will be equal to 0. Otherwise, the value will be equal to -1.

Value

The spike retrigger time for the requested acquisition entity.

-GetSpikeSlope  
Returns the slope spike detection parameters(Voltage Change, Time Change) for the specified acquisition entity.
Example: -GetSpikeSlope TT5 2
Default: Cheetah defaults slope parameters to 100 micro volts for the voltage change and 160 microseconds for the time change.
Usage: This command should only be used from a NetCom client application after a connection to a server has been established.
Arguments
Acq Ent Name The name of the acquisition entity to retrieve information for.
Sub Channel
Index

The index of the spike channel whose setting you wish to retrieve. Valid values are dependent on the type of the spike
acquisition entity you are changing:

1. Single Electrode: Value can only be 0.
2. Stereotrode: Value can be 0 or 1.
3. Tetrode: Value can be 0, 1, 2, or 3
NetCom Reply
Error
Code

If the command is successful, this value will be equal to 0. Otherwise, the value will be equal to -1.

Voltage
Change

The change in voltage used to detect a spike. If the input signal voltage change is higher than this value, Cheetah will classify
the data as a spike and it will be stored in a spike record. The voltage change value is in microvolts and must be between 5 and
5000 microvolts. You want to set the voltage range high enough that noise will not trigger a spike detection, but low enough to
see all events of interest.

Time
Change

The change in time used for calculating a voltage change in order to detect a spike. If the input signal change in voltage meets or
exceeds the above parameter within this specified time, Cheetah will classify that data as a spike. The time change value must
be between 64 and 1000 microseconds.

-GetSpikeThreshold 
Returns the threshold value(s) for the specified acquisition entity.
Example: -GetSpikeThreshold TT1
Default: N/A
Usage: This command should only be used from a NetCom client application after a connection to a server has been established.
Arguments
Acq Ent Name The name of the acquisition entity to retrieve information for.
NetCom Reply
Error Code

If the command is successful, this value will be equal to 0. Otherwise, the value will be equal to -1.

Threshold

This is the threshold value list for the specified acquisition entity. The length of the list is determined by the number of sub
channels for the specified acquisition entity. Single electrodes have 1, stereotrodes 2 and tetrodes 4.

-GetSubChannelEnabled  

Gets the current enabled state of a subchannel of an acquisition entity. A disabled subchannel causes Cheetah to not process any data on that
subchannel. Once all subchannels are disabled, acquisition entity processing will be disabled for the acquisition entity.
Example: -GetSubChannelEnabled TT1 3
Default: N/A
Usage: This command should only be used from a NetCom client application after a connection to a server has been established.
Arguments
Acq Ent Name

The name of the acquisition entity to retrieve information for.
The index of the subchannel whose setting you wish to change. Valid values are dependent on the type of the acquisition
entity you are changing:

Channel Index

1. Single Electrode, CSC: Value can only be 0.
2. Stereotrode: Value can be 0 or 1.
3. Tetrode: Value can be 0, 1, 2, or 3

NetCom Reply
Error
Code

If the command is successful, this value will be equal to 0. Otherwise, the value will be equal to -1.
The enabled state of an acquisition entity subchannel.

Value

1. True: Cheetah is processing data for this acquisition entity subchannel.
2. False: Cheetah is not processing data for this acquisition entity subchannel. For spike acquisition entities, if a spike is
detected on another subchannel in this acquisition entity, the data recorded for disabled subchannels will be all
zeroes. This will not affect on the data for the AD channel that corresponds to the spike channel index that is
disabled. This means that any raw data file or CSC channels that also use this AD channel will be unaffected.

-GetSubSamplingInterleave 
Returns the sub sampling interleave for the specified acquisition entity.
Example: -GetSubSamplingInterleave TT1
Default: N/A
Usage: This command should only be used from a NetCom client application after a connection to a server has been established.

Arguments
Acq Ent Name The name of the acquisition entity to retrieve information for.
NetCom Reply
Error Code

If the command is successful, this value will be equal to 0. Otherwise, the value will be equal to -1.

Value

The sub sampling interleave for the specified acquisition entity.

-GetWaveformFeature  
Returns the feature string for the specified acquisition entity.
Example: -GetWaveformFeature SE1 2
Default: N/A
Usage: This command should only be used from a NetCom client application after a connection to a server has been established.
Arguments
Acq Ent Name The name of the acquisition entity to retrieve information for.
Feature Index

The index of this feature. Each spike record contains 8 features, therefore valid values are 0 through 7.

NetCom Reply
Error Code
Feature
String

If the command is successful, this value will be equal to 0. Otherwise, the value will be equal to -1.
The string will consist of the feature name, feature index, electrode index and optional parameters. For a detailed description
of these values, see -SetWaveformFeature.
Example:
Valley 1 0

-SetADGain  
Analog systems allow you to adjust the gain of the AD conversion device directly. This command will fail if a digital system is being
used. You should only use this option if you need direct control over this value. In general, using the input range to adjust amplifications will
give you a better signal than adjusting the gain value separately. Adjusting the AD gain will affect the Input Range value. This value cannot
be changed while Cheetah is recording.

Example: -SetADGain CSC1 1
Default: The AD gain default value is based on the default input range.
Usage: This command can be used whenever recording is turned off. This command is only valid for Spike and Continuously Sampled
acquisition entities.
Arguments
Acq Ent
Name

The name of the acquisition entity which will be modified.
The A/D gain setting allows direct control of the final analog gain stage prior to analog-to-digital conversion, thereby
normalizing the input range of the A/D conversion. The following values can be used with their normalized voltages in
parenthesis:

Gain






1 (+/- 10V)
2 (+/- 5V)
4 (+/- 2.5V)
8 (+/- 1.25V)

-SetAcqEntProcessingEnabled  
Enables or disables the processing of data by the acquisition entity. Acquisition entity processing consists of record processing. If record
processing is disabled, records will not be able to be displayed, sent to NetCom or saved to a file. Raw data file processing will still occur if it
is enabled (see -SetRawDataFile). This command supersedes the -SetPlotEnabled and -SetDiskWriteEnabled commands.
Example: -SetAcqEntProcessingEnabled SE1 true
Default: Acquisition entity processing is enabled when the acquisition entity is created.
Usage: This command can be used at any time. This command is only valid for Spike and Continuously Sampled acquisition entities
Arguments
Acq Ent Name The name of the acquisition entity which will be modified.
This value can be one of the following keywords:
Value

1. True: Enables acquisition entity processing.
2. False: Disables acquisition entity processing.

-SetAcqEntReference  
Sets the reference channel to use for all sub channels of an acquisition entity. This command only works on systems that have DRS boards.
Example: -SetAcqEntReference TT1 31
Default: All acquisition entities are referenced to the REF1 connection on their corresponding headstage. (i.e. SE33 using AD channel 33 will
be referenced to the REF1 on headstage 2, which is connected to the second DRS board)
Usage: This command can be used at any time. This command is only valid for Spike and Continuously Sampled acquisition entities.
Arguments
Acq Ent
Name

The name of the acquisition entity which will be modified.
DRS boards can use any AD channel, headstage reference or DRS reference as the reference signal for any acquisition entity.
However, the hardware limits the number of unique references that can be used at one time. This command will fail if those
physical limitations prevent connection of the AD channels that are part of the acquisition entity to the desired reference. See
the DRS Control section for more information.
The reference ID is encoded via the following method:

ReferenceID

Reference Channel

Encoding

Example

AD Channels

AD Channel number

AD Channel 33 = 33, AD Channel 129 = 129

Headstage
32000000Reference
+ DRSBoardIndex
1

DRS in slot 3 = 32000003

Headstage Reference 2

33000000 + DRSBoardIndex

DRS in slot 5 = 33000005

Headstage Reference 3

34000000 + DRSBoardIndex

DRS in slot 1 = 34000001

Headstage Reference 4

35000000 + DRSBoardIndex

DRS in slot 7 = 35000007

Animal Ground

36000000 + DRSBoardIndex

DRS in slot 9 = 36000009

Panel Ground

37000000 + DRSBoardIndex

DRS in slot 11 = 37000011

-SetAmplifierGain  
Analog systems allow you to adjust the gain of the external amplifier directly. This command will fail if a digital system is being used. You
should only use this option if you need direct control over this value. In general, using the input range to adjust amplifications will give you a
better signal than adjusting the gain value separately. Adjusting the amplifier gain will affect the Input Range value.
Example: -SetAmplifierGain CSC1 1000

Default: The amplifier gain default value is based on the default input range.
Usage: This command can be used at any time. This command is only valid for Spike and Continuously Sampled acquisition entities.
Arguments
Acq Ent
Name

The name of the acquisition entity which will be modified.

Gain

Since the Lynx8 amplifiers have discrete gain values, if the value entered is not one of those values, it will be changed to the
closest discrete value available. The Lynx-8 provides selectable gain from 1x to 50,000x in steps of 12.2 (i.e. 1, 13, 25, etc.).

-SetAnalogHighCutFrequency  
Sets the frequency that Cheetah will use for the high cut (low pass) analog filter on all channels of the specified acquisition entity. High cut
filters will only allow signals whose frequency is below this value to be digitized by Cheetah. Analog filters will affect data being written to a
raw data file (see -SetRawDataFile), as they are active prior to the signal being digitized. This command will fail if Cheetah does not control
analog filtering for the specified acquisition entity.
Example: -SetAnalogHighCutFrequency CSC1 9000
Default: Spike acquisition entities are created with the high cut frequency set to 6000Hz, while CSC acquisition entities are created with a
high cut frequency set to 9000Hz.
Usage: This command can be used at any time. This command is only valid for Spike and Continuously Sampled acquisition entities.
Arguments
Acq Ent Name The name of the acquisition entity which will be modified.
Cheetah supports the following settings for analog high cut filter frequency (all values are in hertz (Hz).):
Frequency
50, 125, 200, 250, 275, 325, 400, 475, 3000, 6000, 9000

-SetAnalogLowCutFrequency  
Sets the frequency that Cheetah will use for the low cut (high pass) analog filter on all channels of the specified acquisition entity. Low cut
filters will only allow signals whose frequency is above this value to be digitized by Cheetah. Analog filters will affect data being written to a
raw data file (see -SetRawDataFile), as they are active prior to the signal being digitized. This command will fail if Cheetah does not control
analog filtering for the specified acquisition entity.
Example: -SetAnalogLowCutFrequency CSC1 0.1
Default: Spike acquisition entities are created with the low cut frequency set to 600Hz, while CSC acquisition entities are created with a low

cut frequency set to .1Hz.
Usage: This command can be used at any time. This command is only valid for Spike and Continuously Sampled acquisition entities.
Arguments
Acq Ent Name The name of the acquisition entity which will be modified.
Cheetah supports the following settings for analog low cut filter frequency (all values are in hertz (Hz).):
Frequency
0.1, 1, 10, 100, 300, 600, 900

-SetChannelNumber     
Sets the AD channel number(s) for the specified acquisition entity. The AD channel numbers correspond to signals on an individual
wire. Channel numbers and counts are dictated by your specific hardware setup.
Example: -SetChannelNumber ST1 0 1
Default: Acquisition entities are created using the next available sequence of open AD channels (i.e. if the first acquisition entity created is a
stereotrode, the channels it will initially use are 0 and 1).
Usage: This command can be used at any time. This command is only valid for Spike and Continuously Sampled acquisition entities
Arguments
Acq Ent
Name

The name of the acquisition entity which will be modified.

Channel

The AD channel to be set for the first channel of the specified acquisition entity. CSC and Single Electrode acquisition
entities only have a single channel. For the Cheetah160 and Cheetah64 sub systems, AD channel numbers can only be used
once. If the channel number specified is already in use, this command will fail. All acquisition entity types require this
argument.

Channel2

This argument is required if the acquisition entity is a stereotrode or a tetrode. This command will fail if the acquisition
entity is any other type.

Channel3 and These arguments are required only if the acquisition entity is a tetrode. This command will fail if the acquisition entity is
Channel4
any other type.

-SetClusterBoundary   
Cluster boundaries are used for online classification of spikes. Three boundary types are supported.
Waveform - 32 max/min pairs which define the waveform shape

Range - a max/min pair defining a range on a particular feature
Convex Hull - a variable size set of x,y coordinates defining a convex boundary in a 2-dimensional feature space
Example: -SetClusterBoundary SE1 2 "ConvexHull 5 7 1976 -236 2128 -8 2026 305 1456 247 1422 -77 1571 -199"
Default: Cheetah does not define a cluster boundary when a spike acquisition entity is created.
Usage: This command can be used at any time, and is available for spike acquisition entities only.
Arguments
Acq Ent
Name

The name of the acquisition entity which will be modified.

Cell Number

The cell or cluster number this boundary represents. Valid options are 1 through 31. Cluster 0 is always reserved for
unclustered or "noise" data.

Value

The cluster definition string. Each boundary type has a different format:
Range   
Template      ...  
ConvexHull       ...  

-SetDataFile  
Sets the data file for the specified acquisition entity. All data records recorded for this acquisition entity will be saved to this file.
Example: -SetDataFile Events "C:\My Events.nev"
Default: Cheetah will create a file using the name of the acquisition entity in the current data directory when the acquisition entity is created
(i.e.Cheetah created Events.nev in the current data directory when the Events acquisition entity was created).
Usage: This command can be used at any time.
Arguments
Acq Ent
The name of the acquisition entity which will be modified.
Name
Sets the file to use for data recording for the specified acquisition entity. If only a filename is specified, Cheetah will create the
file in the current data directory. When the data directory is changed, the file's location will change with the data directory.
File
Name

Example: -SetDataFile SE1 SE1.nse
If a complete path is specified, Cheetah will create the file in the specified location, and will not change the file's location when

the data directory is changed.
Example : -SetDataFile CSC1 "C:\Data Directory\CSC1.ncs"
The directory C:\Data Directory must exist or this command will fail. If the file CSC1.ncs exists, it will be overwritten. The
extension of the file will be changed to the appropriate Neuralynx extension for the specified acquisition entity type. Cheetah will
always create a file using the acquisition entity's name in the current data directory. If this command is issued before any data is
recorded, the file in the current data directory will only have header information.

-SetDiskWriteEnabled  
Enables or disables disk writing of data records for the specified acquisition entity. This command does not affect data records over NetCom
or the data visible in all plots for this acquisition entity. You may want to disable disk writing for control or stimulus signals that you want to
see, but have no need for in data analysis.
Example: -SetDiskWriteEnabled CSC1 true
Default: Cheetah initially enables disk writing when an acquisition entity is created.
Usage: This command can be used at any time.
Arguments
Acq Ent
The name of the acquisition entity which will be modified.
Name
This value can be one of the following keywords:

Value

1. True: Enables disk writing of data records.
2. False: Enables disk writing of data records. If disk writing is disabled prior to recording, a data file will be created for the
specific acquisition entity, but only header information will be written to the file. If disk writing is disabled after recording
has begun, all records after disk writing has been disabled will not be written until disk writing is re-enabled.

-SetDspHighCutFilterEnabled  
Cheetah has the ability to process all signals using digital signal processing (DSP). This command will turn the high cut (low pass) DSP filter
on or off for the specified acquisition entity. This command does not affect the actual filter value (see -SetDspHighCutFrequency), it simply
enables or disables the filter. All channels of an acquisition entity are filtered using the same settings. Disabling DSP filtering can be used to
alleviate CPU load on high channel count systems or older computers.

Example: -SetDspHighCutFilterEnabled SE1 false
Default: Acquisition entities are created with the high cut filter enabled set to true.
Usage: This command can be used at any time. This command is only valid for Spike and Continuously Sampled acquisition entities
Arguments
Acq Ent Name The name of the acquisition entity which will be modified.
This value can be one of the following keywords:
Value

1. True: Enables DSP high cut filtering on all channels of the specified acquisition entity..
2. False: Disables DSP high cut filtering on all channels of the specified acquisition entity..

-SetDspHighCutFrequency  
Sets the frequency that Cheetah will use for the high cut (low pass) digital signal processing (DSP) filter on all channels of the specified
acquisition entity. The high cut filter frequency has no effect if high cut filtering is disabled (see -SetDspHighCutFilterEnabled). High cut
filters will only allow signals whose frequency is below this value to be recorded by Cheetah. DSP filters have no effect on data being written
to a raw data file (see -SetRawDataFile).
Example: -SetDspHighCutFrequency CSC1 9000
Default: Spike acquisition entities are created with the high cut filter set to 6000Hz, while CSC acquisition entities are set to 9000Hz.
Usage: This command can be used at any time. This command is only valid for Spike and Continuously Sampled acquisition entities
Arguments
Acq Ent
The name of the acquisition entity which will be modified.
Name
The high cut frequency of the DSP filter to be set for the specified acquisition entity. This value is in hertz, and can be any value
(including decimal values) between 0.1 Hz and 10000.0 Hz.. All signals with a frequency below this value will be processed by
Cheetah.
Value
Filter Type

Frequency Range (Hz)

Finite Infinite Response (FIR)

.1 - 10000

-SetDspHighCutNumberTaps  
Digital signal processing (DSP) taps determine the amount of roll off for the DSP filter. If you notice the high cut filter is allowing signals that
are too far above your high cut setting to be processed by Cheetah, you may want to increase this value. Cheetah will normally select a tap
value that is appropriate for the high cut filter frequency. Lowering the number of taps can be useful to alleviate CPU load on large channel
count systems or older computers.
Example: -SetDspHighCutNumberTaps CSC1 64
Default: Acquisition entities are created with the high cut taps set to 32.
Usage: This command can be used at any time. This command is only valid for Spike and Continuously Sampled acquisition entities
Arguments
Acq Ent Name The name of the acquisition entity which will be modified.
The following table shows the available taps at certain high cut filter frequencies:

Value

Low Value
(Hz)

High Value (Hz) Taps Choices

.1

199.99

256

200

499.99

128, 256

500

999.99

64,128, 256

1000

10000

32, 64, 128, 256

This command will fail if you try to change to a tap size that is not available given the current filter frequency.

-SetDspLowCutFilterEnabled  
Cheetah has the ability to process all signals using digital signal processing (DSP). This command will turn the low cut (high pass) DSP filter
on or off for the specified acquisition entity. This command does not affect the actual filter value (see -SetDspLowCutFrequency), it simply
enables or disables the filter. All channels of an acquisition entity are filtered using the same settings. Disabling DSP filtering can be used to
alleviate CPU load on high channel count systems or older computers.
Example: -SetDspLowCutFilterEnabled SE1 false
Default: Acquisition entities are created with the low cut filter enabled set to true..
Usage: This command can be used at any time. This command is only valid for Spike and Continuously Sampled acquisition entities
Arguments

Acq Ent Name The name of the acquisition entity which will be modified.
This value can be one of the following keywords:
Value

1. True: Enables DSP low cut filtering on all channels of the specified acquisition entity..
2. False: Disables DSP low cut filtering on all channels of the specified acquisition entity..

-SetDspLowCutFrequency  
Sets the frequency that Cheetah will use for the low cut (high pass) digital signal processing (DSP) filter on all channels of the specified
acquisition entity. The low cut filter frequency has no effect if low cut filtering is disabled (see -SetDspLowCutFilterEnabled). Low cut
filters will only allow signals whose frequency is above this value to be recorded by Cheetah. DSP filters have no effect on data being written
to a raw data file (see -SetRawDataFile).
Example: -SetDspLowCutFrequency CSC1 100
Default: Spike acquisition entities are created with the low cut filter set to 600Hz, while CSC acquisition entities are created with a low cut
filter set to .1Hz.
Usage: This command can be used at any time. This command is only valid for Spike and Continuously Sampled acquisition entities
Arguments
Acq Ent
The name of the acquisition entity which will be modified.
Name
The low cut frequency of the DSP filter to be set for the specified acquisition entity. This value is in hertz, and can be any value
(including decimal values) between 0.1 Hz and 10000.0 Hz.. All signals with a frequency above this value will be processed by
Cheetah.
Value

Filter Type

Frequency Range (Hz)

DC Offset (DCO)

0.1 - 149.99

Finite Infinite Response (FIR)

150 - 10000

-SetDspLowCutNumberTaps  
Digital signal processing (DSP) taps determine the amount of roll off for the DSP filter. If you notice the low cut filter is allowing signals that
are too far beneath your low cut setting to be processed by Cheetah, you may want to increase this value. Cheetah will normally select a tap

value that is appropriate for the low cut filter frequency. Lowering the number of taps can be useful to alleviate CPU load on large channel
count systems or older computers.
Example: -SetDspLowCutNumberTaps CSC1 64
Default: Spike acquisition entities are created with the low cut taps set to 64, while CSC acquisition entities are set to None.
Usage: This command can be used at any time. This command is only valid for Spike and Continuously Sampled acquisition entities
Arguments
Acq Ent Name The name of the acquisition entity which will be modified.
The following table shows the available taps at certain low cut filter frequencies:

Value

Low Value
(Hz)

High Value (Hz) Taps Choices

0.1

149.99

None

150

199.99

256

200

499.99

128, 256

500

999.99

64,128, 256

1000

10000

32, 64, 128, 256

This command will fail if you try to change to a tap size that is not available given the current filter frequency.

-SetInputInverted  
Enables or disables inversion of AD data for a specified acquisition entity.
Example: -SetInputInverted CSC1 false
Default: Acquisition entities are created with the the input inversion set to true.
Usage: This command can be used at any time. This command is only valid for Spike and Continuously Sampled acquisition entities
Arguments
Acq Ent Name The name of the acquisition entity which will be modified.
Value

The input inverted value can be one of the following:

1. True: Cheetah will automatically invert incoming AD data before it is processed.
2. False: Cheetah will not adjust the polarity of the incoming AD data before it is processed.

-SetInputRange     
Sets the input scaling for an acquisition entity. Since there is only a certain number of bits available to digitize the incoming analog data, we
need to scale the input voltages to get the most accurate values possible. In order to improve accuracy, you can tell Cheetah what voltage
range you are expecting. Cheetah will then adjust the volts per bit setting for digitized data.
Example: -SetInputRange TT1 2000 2000 2000 2000
Default: CSC acquisition entities are created with an input range of -1000 to 1000 microvolts.
Spike acquisition entities are created with an input range of -500 to 500 microvolts.
Usage: This command can be used at any time. This command is only valid for Spike and Continuously Sampled acquisition entities
Arguments
Acq Ent
Name

The name of the acquisition entity which will be modified.
The input range in microvolts to be used for the first channel of the specified acquisition entity. A larger range will be able to
record higher voltages without clipping, however the amount of detail captured is lower (i.e. a larger number of volts is
represented by a single bit). Smaller ranges will increase the detail, while sacrificing the ability to record large voltage
values. You should always try to have your input range set to the range of values that are expected. Min and max input range
values are based on hardware sub system type. Please see the table below.
System Type

Value

Min Input
Range

Max Input Range

Digital Lynx SX 25

131072

Digital Lynx

25

131072

Cheetah 64

25

136986

Cheetah 160

11

40816

Raw Data File

11

136986

CSC and Single Electrode acquisition entities only have a single channel. All acquisition entity types require this argument.

Value2

This argument is required if the acquisition entity is a stereotrode or a tetrode. This command will fail if the acquisition entity is
any other type.

Value3
and
Value4

These arguments are required only if the acquisition entity is a tetrode. This command will fail if the acquisition entity is any
other type.

-SetSpikeAlignmentPoint  
All spike records contain 32 points of data per channel. The alignment point is the position in those 32 points of the point of most interest (i.e.
the peak of a spike when in Threshold spike detection mode). Adjusting the alignment point will allow you to have more data before or after
the point of interest saved to the spike record.
Example: -SetAlignmentPoint SE1 8
Default: Cheetah normally sets the alignment point to 8.
Usage: This command can be used at any time, and is available for spike acquisition entities only.
Arguments
Acq Ent
Name

The name of the acquisition entity which will be modified.
The index of a spike waveform for which the timestamp is used. The value must be between 1 and 30.

Value

Example: Assume SE1 is using Threshold spike detection with a threshold of 5000 microvolts and an alignment point
of 8. This means that if an incoming signal is over 5000 microvolts, Cheetah will then try and find the peak of the signal
following that threshold crossing. Once that point is found, Cheetah will save the 7 points prior to the peak, and the 24 points
following the peak for all channels to the spike record.

-SetSpikeDetectionType  
This command tells Cheetah how to look for spikes in the incoming neurological signal.
Example: -SetSpikeDetectionType ST1 threshold
Default: Cheetah spike detection type is normally Threshold.
Usage: This command can be used at any time, and is available for spike acquisition entities only.
Arguments

Acq Ent
The name of the acquisition entity which will be modified.
Name
The spike detection type can be one of the following:

Type

1. Threshold: Cheetah detect spikes by detecting a signal whose voltage is higher than a defined threshold (see SetSpikeThreshold). Any signal that crosses this threshold will be classified as a spike, and all channels of the acquisition
entity for that time period will be saved to a spike record.
2. Slope: Cheetah detects spikes by detecting a change in voltage higher than a defined value (see -SetSpikeSlope). Any
change in voltage that is higher than the defined value within a specified time will be classified as a spike, and all channels
of the acquisition entity for that time period will be saved to a spike record.

-SetSpikeDualThresholding  
Sets dual spike thresholding for the specified acquisition entity. This tells Cheetah that a spike can be either in the positive or negative
direction.
Example: -SetSpikeDualThresholding ST1 true
Default: Cheetah normally has dual thresholding set to False.
Usage: This command can be used at any time, and is available for spike acquisition entities only. The spike detection type must be
Threshold.
Arguments
Acq Ent
Name

The name of the acquisition entity which will be modified.
The auto set feature for analog filters can be one of the following:

Value

1. True: Cheetah detects spikes that are above the current threshold setting and below the negative of the threshold
setting.
2. False: Cheetah will only detect spikes that are above the current threshold setting.

Example: If the current threshold setting is 5000 microvolts, and dual thresholding is enabled, signals that have a value above
5000 microvolts and below -5000 microvolts will be classified as spikes.

-SetSpikeRetriggerTime  
Sets the amount of time to wait after a spike has been detected before searching for the next spike. This command can be useful if there are
rapidly firing spikes, or echoes present on a particular acquisition entity. The retrigger time is based off of the peak of the previous spike.
Example: -SetSpikeRetriggerTime SE1 16
Default: Cheetah normally waits 100 microseconds after a spike is detected.
Usage: This command can be used at any time, and is available for spike acquisition entities only.
Arguments
Acq Ent
Name

The name of the acquisition entity which will be modified.

Value

This is the amount of time to wait after a spike is detected before searching for the next spike. This can be any value between
1 and 1000000 microseconds.

-SetSpikeSlope    

Source Exif Data:
File Type                       : PDF
File Type Extension             : pdf
MIME Type                       : application/pdf
PDF Version                     : 1.5
Linearized                      : No
Page Count                      : 325
Language                        : en-US
Tagged PDF                      : Yes
Title                           : Cheetah Control Commands
Author                          : John Walsh
Creator                         : Microsoft® Word 2010
Create Date                     : 2012:08:27 14:37:38-06:00
Modify Date                     : 2012:08:27 14:37:38-06:00
Producer                        : Microsoft® Word 2010
EXIF Metadata provided by EXIF.tools

Navigation menu