Pre-Sales QuestionsWhat are the system requirements for Cheetah 5?
Minimum Hardware Requirements:
- Dual-Core processor (Intel Pentium D / AMD 64 x2 or newer processor)
- 3GB RAM
- 250GB Serial ATA 3.0Gb/s 7200RPM Hard Drive
- 512MB PCIe DirectX 9 compatible graphics card (AMD FirePro V3900 1GB Graphic Card is currently supported with HP Z420/Z820 computer systems)
- DirectX capable sound card for audio output
- 1000Mbps (gigabit) Ethernet adapter
- Windows XP SP3 32 bit*, Windows Vista SP2 32bit*, Windows 7 32 bit**. 64 bit operating systems are not supported due to driver restrictions.
*Digital Lynx SX acquisition systems require Windows 7
**Digital Lynx S acquisition systems require a DIP switch change when upgrading from Cheetah 5.4 and earlier versions to Cheetah 5.6.3
***Cheetah 160 acquisition systems are not supported on Windows 7
General QuestionsWhy won't Cheetah start?
Here are things to check if Cheetah will not start properly:
- Check your logfile and read error messages. This is the most important part of figuring out what is wrong with Cheetah's startup. It will tell you exactly which command caused Cheetah to not start properly. The error messages that are shown are also useful in trying to determine what is wrong. If neither of those provide you enough information to continue, make sure that the logfile is included in your email, or available for reference if you call. Logfiles can be viewed by either clicking View Logfile under Cheetah's File menu, or by opening CheetahLogFile.txt file in Cheetah's data directory.
- Licensing Issues. Cheetah requires a valid license to create hardware sub systems. If you are running Cheetah using a Raw Data File Playback system, you do not need a license file. The logfile will have an error message stating that a licensing error has occurred. If you receive a licensing error, please read Answers to Common Neuralynx Licensing Questions.
- Incorrect System Setup. When installing Cheetah, you will be prompted to select your system type (and amplifier control type if using the Cheetah 32 system). If you select the wrong system, the Cheetah software will try to setup your system using the wrong configuration and not load correctly. Running the installer again and selecting the correct system is the best solution (you do not need to backup or uninstall the incorrect installation). You can also edit configuration files to setup the correct system if you do not wish to reinstall. See the Cheetah Reference Guide for more information on configuration file commands.
- Invalid Configuration File Loaded. If Cheetah tries to load a command that it does not understand, it will issue an error message and stop processing the configuration files. The line that cause the error will be the last line shown in the logfile. Since Cheetah 5 has a different command syntax than previous versions of Cheetah, you cannot use old configuration files with Cheetah 5. See the Cheetah Reference Guide for more information on configuration file commands.
- Duplicate Object Created. If you attempt to create any object (hardware sub system, window, acquisition entity, etc.) using a name that already exists, Cheetah will show an error message and stop processing the configuration files. This is generally caused if you try and load a second electrode configuration file, or load configuration files after Cheetah has started. See the Configuration Files section of the Cheetah Reference Guide for more information.
- Object Referenced that was Never Created. Cheetah needs to have objects created before they are used in a command. Cheetah's logfile will show the invalid name in the error message. This is generally caused if you load configuration files after Cheetah has started. See the Configuration Files section of the Cheetah Reference Guide for more information.
NetCom is an application programming interface (API) library that you can use to create your own custom programs to monitor and control Cheetah. Netcom adds the ability to leverage multiple programs on multiple PCs to both monitor and control your experiment. Please see this page for more information.
While the NetCom server is embedded within Cheetah, you create the client using the NetCom API. This requires that you have some programming knowledge in a language that is supported by NetCom: C++/MFC, .NET (e.g. C#, VB.NET, etc), any .NET aware application such as LabView, and Matlab.
We try and make upgrading Cheetah as easy as possible, and improve on this process with every new version. However, sometimes things just don't work correctly. Whether it be dealing with computer specifications, driver issues, or differences in how Cheetah works, it can cause some delays before things are running normally. So, to avoid any extra stress that upgrading may cause, here is a quick guide to answer the question of "Should I upgrade?"
When Not to Upgrade
Although we always encourage you to use the latest version of Cheetah, there are some instances where you should not upgrade (unless advised to by Neuralynx). These suggestions are mainly to avoid delays that could derail your experiment.
- Do not upgrade during the middle of an experiment . Different versions of Cheetah can have different configuration commands, different methods of navigating through the program, or new features that could cause the data recorded for your experiment to not be consistent after the upgrade.
- Do not upgrade if you do not have a computer that is capable of running the latest version of Cheetah. The Cheetah Requirements are updated with every Cheetah release. If your computer doesn't meet those requirements, don't upgrade.
- Do not upgrade if you are under time constraints. If you don't give yourself time to become familiar with the newest version of Cheetah before starting your experiment, it may cause delays in getting your experiment running. Also, as you become more familiar with new features, it may change how you run and record your experiment.
- Do not upgrade if your experiment control program will not work with the upgrade. You may want to contact us via firstname.lastname@example.org to see if we have a solution that will allow you to upgrade. An example: Cheetah 4.x had the ability to control Cheetah via a COM interface. Because of performance and reliability issues, the COM interface was removed from Cheetah 5.0 and was replaced with NetCom. So, if you have a COM application and do not have the time or means to port it to NetCom, do not upgrade.
When To Upgrade
Some of these scenarios may be contradictory to some of the "Not to Upgrade" ones, but when in doubt, err on the side of caution and stick with what you have.
- Upgrade if a new feature will help you perform your experiment. Every version of Cheetah will have a release notes document that describes what has changed since the last version. This document is included with Cheetah (Start Menu -> Neuralynx -> Cheetah5 -> Cheetah Release Notes) and is posted to the release announcement in the forums.
- Upgrade if a new release fixes a bug or other problem you have been having with Cheetah. We try and test Cheetah as thoroughly as we can before making a release, but it is impossible to catch everything. If there are problems that are particularly bad, we will have a bugfix release. You can tell bugfix releases because the last number in the version is non-zero (i.e. 5.0.2 is a bugfix release, 5.2.0 is not). Bugfix releases have no new functionality and only address the bugs listed in the release notes.
- When setting up a brand new system, start with the latest version of Cheetah (if possible). All new systems that are shipped from Neuralynx will have the latest release version installed before they leave.
- Upgrade if you just want to have the latest version. As we said before, we always encourage you to use the latest version of Cheetah. Just make sure you read the "When Not to Upgrade" section before doing so.
If You Choose Not to Upgrade, there are some things you should know. First of all, we will only perform bug fixes or updates on the most current version of Cheetah. This means that if you find a major bug in version 5.0.0, and the current version is 5.2.0, the fix for your bug will be in 5.2.1. Next, there is no guarantee that older versions of Cheetah will be supported on newer operating systems or with newer hardware. As an example, Cheetah 5.1.0 and older will not run on Windows Vista. If you want to use Vista, you must use 5.2.0.
When Cheetah 5 was released, we created a guide containing all information about Cheetah. It is called the Cheetah Reference Guide, and you can find it either under the Help menu in Cheetah, or in the Cheetah5 Start Menu group. The guide provides a full-text search to show you just what you are looking for. It has been updated with every Cheetah release since 5.0.0 and will continue to be the source for all information about Cheetah. The Cheetah Reference Guide should be the first place you look for any questions you have about using Cheetah. If you can't find what you are looking for, let us know and we will update the reference guide for the next Cheetah release.
For those of you who just want a brief introduction to Cheetah, we created the Cheetah Quickstart. This file is located in the Cheetah5 Start Menu folder. This guide gives you the minimum knowledge that you need to know to start recording with Cheetah.
Setup QuestionsWhat type of electrical shielding do you recommend for the recording environment with the Digital Lynx system?
The Digital Lynx does not need any additional electrical shielding in the recording environment. The recording system was engineered and designed with differential amplifiers which subtracts artifact interference. In any recording environment, it is always a good idea to keep clear any electrical devices that have the ability to output electrical noise. If there is other electrical equipment in the experiment radius, it is good practice to isolate one single ground for all equipment. We also recommend that the subject is always placed on an ungrounded, non static generating surface while recording is occurring. As always, if you have any particular questions about a certain situation, feel free to contact us and we can recommend a solution.
This only applies to Digital Lynx "S" Systems running Cheetah Version 5.4 and earlier ONLY, not "SX" systems or Cheetah 5.5 and later.
When installing Cheetah, if you are using a Digital Lynx system, you will be asked for the number of boards in your system. If you are not using a DRS, you can just count the number of input boards and select that number, leaving the DRS checkbox unchecked.
However, when using DRS boards, the board count 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.
Example: If you have 3 input boards and 3 DRS boards in a Digital Lynx cabinet arranged in the following order from left to right:
Input, DRS, Input, DRS, Input, DRS
The number of boards used for your system will be 5, and you will check the DRS checkbox on the installer.
If the rightmost board is an input board:
Input, DRS, Input, DRS, Input, Input
The number of boards will be 6, and you will leave the DRS checkbox unchecked.
The same counting scheme holds true when using the -SetNumberInputBoards command in the configuration files.
In addition to issuing this command, you must have the Digital Lynx hardware and firmware appropriately configured. For more information see the Digital Lynx Manual.
This only applies to Digital Lynx "S" Systems running Cheetah Version 5.5 and later ONLY, not "SX" systems or Cheetah 5.4 and earlier.
Follow the general configuration instructions for Cheetah 5.4 systems, using this configuration chart as a guide:
Please note, before opening the back of the Digital Lynx you must power the system off and also remove the power cord from the outlet. You must also take all ESD precautions (which includes wearing your ESD wrist strap.) If you have have any questions, please contact Neuralynx Support and we would be happy to assist you.
Your .cfg files will also need to be modified if you are using DRS Boards. This setup no longer requires the use of the "32 Dummy Channels" within .cfg files. If you do have these setup in your current .cfg files, you will need to make sure that the channel counts are in order without having any jumps in channel numbers (for the 32 dummy channels.) If you have any questions regarding your current .cfg files, please contact email@example.com and we would be happy to assist you.
Hardware QuestionsDoes it matter which direction I insert the electrode wire and the pins on an EIB?
Software QuestionsWhat's new in Cheetah version 5.6.3?
- Data Translation Driver updated from 18.104.22.168 to 22.214.171.124 for Cheetah64 analog systems.
- Timestamps for events created from Digital IO input for Cheetah 32/64 HWSS are now correct.
- All DRS references are now set using a single Cheetah command, no need to manage globals and locals on each DRS.
- Added Named TTL Events. Allows you to associate custom event string with specific TTL bits transitioning from 0 (low) to 1 (high).
- Cheetah will now support a sample frequency of 32768 Hz for the Lynx SX hardware sub system.
- FIR Filters can now be used for Lynx SX DA output.
- Cheetah now supports the Digital Lynx SX 16 board system.
- Cheetah now requires that DRS boards only be at odd slot indices and that all input boards not paired with a DRS be placed after all paired input boards.
- Cheetah now logs an error when the VT is no longer receiving frames from the capture device during acquisition.
- Added New Commands:
- Deprecated Commands that will be removed in a future release
- SetDRSLocalReferences (replaced by -SetAcqEntReference)
- SetDRSGlobalReferences (replaced by -SetAcqEntReference)
- SetDRSChannelReferences (replaced by -SetAcqEntReference)
- All Cheetah output files now contain a file version in the file header.
- The -AcqEntName field has been added to the event file header.
- The -FileType, -NumADChannels and -RecordSize fields have been added to the raw data file header.
- The -NLXBase_Class_Name field has been changed to -AcqEntName in the video file header.
- The -FileType, -CheetahRev, -HardwareSubSystemName, -HardwareSubSystemType, -SamplingFrequency, -ADMaxValue, -ADBitVolts and -NumADChannels fields have been added to the lost AD records file header.
- All AD and raw data timestamps are now synced to start and stop recording event timestamps for all hardware sub systems.
- The -PostEvent command now has an optional timestamp argument.
- Cluster and Feature library version information now written to log file.
- AD data files are now automatically created when the Acq Ent(CSC, Spike) is created.
- Fixed problems when using globals or making many DRS reference changes that caused Cheetah to report references incorrectly.
- Fixed erroneous error message saying VT is not in ADAcqEntContainer.
- Cheetah no longer generates error messages when clicking in the white space below the device selection list in the Audio Output Dialog.
- Cheetah now returns error code for NetCom OpenStream and CloseStream commands.
- Creation of a VT can now only happen when Cheetah is idle.
- VT capture device selection dialog no longer shows capture devices that have invalid hardware IDs.
- Attempting to create a plot window via NetCom now fails instead of locking Cheetah's UI which requires a restart of Cheetah to unlock.
- Tooltips are now shown when hovering over the icons in the time windows.
- Cheetah now searches the path of a configuration file that calls -ProcessConfigurationFile if no complete path is specified for the file to process.
This is mainly due to driver compatibility. Since not all of our hardware vendors provide a 64 bit version of our drivers, we cannot create a version of Cheetah that will run on 64 bit systems.
Cheetah captures spikes as 32 samples, and at 32KHz sampling, you usually will not capture part of a second spike during that sample window. However, if you lower your sampling rate, those 32 samples start encompassing more time. In order to detect spikes that occur during the 32 samples of a previous spike, you need to use the retrigger time on each spike acquisition entity that is affected by this issue. The retrigger time is the amount of time to wait after a spike has been detected before searching for the next spike. This setting can be useful 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. When adjusting this value, it is best to start at a higher time and work backwards towards 1. Starting out at 1 might solve the problem, but it causes your system to do unnecessary work.
There is a small sample data set available at http://neuralynx.com/software/SampleTetrodeData.zip. This data is recorded from tetrodes in the rat hippocampus. The 5 files in the set represent varying degrees of data separation, Sample1.ntt containing mostly well-defined clusters of data points (easy to sort) through Sample5.ntt with more packed data (more difficult to sort.)This sample data can also be used to evaluate the features and usability of SpikeSort 3D.
Since version 4.40, Cheetah has had the ability to output the audio of two spike channels to the right and left stereo channels of your PC's sound card. In order to do this, you need to include the audio.cfg setup file in your Cheetah setup either by uncommenting or adding the line reading "-PrcSetupFile Audio.cfg"
You should only need to change the -AudioSource lines in the Audio.cfg using the following syntax:
-AudioSource <Audio_CH> <AcqEntName>
<Audio_CH> is either 0 for left, or 1 for right.
<AcqEntName> must be a defined AcqEnt, and must be a spike channel (SE, ST or TT)
The volume on the PC might need to be turned up much louder than normal, as these are not very strong signals.
Neuralynx stores all data in our record files as A/D values. This means that any program you use that reads these files, will read the data in as A/D values by default, NOT volts. In order to convert these A/D values to volts, you need to view the header of the file in question and find the "-ADBitVolts" entry. This value will give you the number of volts for each bit increment in the A/D value. To convert to volts, simply multiply the A/D value by the ADBitVolts value.
Some Neuralynx programs (such as Neuraview) have an option to display data values as either A/D values or volts. See the Neuraview manual for more information. The input range of the Digital Lynx is +/- 132mV
If you already have Cheetah 5 installed, just copy the host ID from the "This PC Host ID" box on the Cheetah's licensing window (under the Help menu in Cheetah).
When you upgrade your computer or get a new network card, your computer's host id changes. Since we use this id for licensing purposes, Cheetah will not run unless you get a new license. Here is an easy way to get the host id of your computer before you contact us to get your new license file:
1. Click on Start then on Run…
2. Type cmd and press enter.
3. Type C:\
4. Remove all the hyphens from the Physical Address, and that is your host id.
If you already have Cheetah 5 installed, just copy the host ID from the "This PC Host ID" box on the Cheetah's licensing window (under the Help menu in Cheetah).
Neuralynx provides two interfaces between Neuralynx data and Matlab:
The first is the Matlab Import/Export MEX files. They will allow you to perform offline analysis of data in Matlab on files recorded from Cheetah. At this time, there is no support for raw data files.
The second option, NetCom for Matlab, allows for online analysis of data and control of Cheetah. You can download the NetCom Development Package. An example of NetCom for Matlab usage is included in this package.
The Import/Export MEX files are designed for use with both the 32 and 64 bit versions of Matlab 2007a and newer for Windows. While Linux versions of the readers are available on our website, they are provided as is and with no support for them via Neuralynx.
Installing the MEX files is a three step process after downloading them from our website:
1. Unzip the MEX files into a directory on your PC. We usually use C:\MatlabReaders, but you can use whatever you want.
2. Start up Matlab and under the File menu, select Set Path.
3. Add the full path of the directory where you extracted the MEX files and click save.
Once you have your Matlab path setup correctly, you can then type help and the MEX file name at the Matlab command prompt (i.e. >help Nlx2MatCSC ) to see how the MEX file is used. You can then call the MEX file the same way you would call any other Matlab function.