_Our standard rig plan‎ > ‎Modules‎ > ‎

Multichannel Intan recording (for multichannel analysis)


When we need access to several analog input channels, we usually acquire this information on a separate data acquisition board, such as the Intan Demo Board.  (You may ask why we use a separate card for this purpose: the reason is that the CED micro1401/Spike2 system that we use to acquire stimulus timing information and up to 4 analog inputs cannot be inexpensively expanded to handle 32 or 64 channels at high sampling rates.) 


Because we are using 2 acquisition devices (micro1401/Spike2 for stimulus timing information and a few analog inputs, and Intan for several analog inputs), we need to learn the time conversion between these devices. This means we need to identify the time shift between when the 2 devices were started (that is, what time on the LabView system corresponds to time 0 on the Spike 2 system?) as well as the time scaling between the 2 clocks (because the clocks on the 2 devices will advance at slightly different rates, and this difference matters over the course of a several minute recording).

To do this, we typically record the stimulus trigger signal on 1 analog input channel of the Intan board (usually the first digital input channel).  Because the CED 1401/Spike2 system is also acquiring trigger times from this channel, we can analyze the signals from the Intan board to learn the exact mapping in shift and scale.

Acquisition software

The acquisition software we use is from Intan Technologies.  


Output of the acquisition program:  It writes 1 file that is based on the base file name that you choose and the time and has an extension .rhd.  If you want to read the file directly to look at its contents, you can use our functions read_Intan_RHD2000_datafile and read_Intan_RHD2000_header to read the header information. (See help read_Intan_RHD2000_datafile or help read_Intan_RHD2000_header to learn more; these are part of vhlab-toolbox-matlab .)

Each recording epoch should have its own directory (t00001, t00002, etc). All of the files that are related to that epoch (excepting some 2-photon files) should be in that directory. This normally includes our spike2data.smr file, an Intan file with extension .rhd, a stimulus information file stims.mat, and some text files.

These folders should also contain the files vhintan_filtermap.txt, which describes how the channels should be grouped for filtering (see help vhintan_filtermap in Matlab), and vhintan_channelgrouping.txt, which describes how channels should be grouped for spike extraction and spike sorting (see help vhintan_channelgrouping in Matlab).

Note 2: In the meantime, one has to create these files manually. Follow the example in Step 0 to do this.

How to extract and cluster spikes (spike sorting)

Step 0: Making sure all of the description files are correct

In the base directory (20NN-XX-YY), make sure there is a file called subject.txt that has the subject. Usually ferretNNN.YYYY@vhlab.org. 

Before starting, please make sure you go through your experiment directory to find all of the directories (t00001, t00002, etc) that contain multichannel data to make sure the reference.txtvhintan_filtermap.txt, and vhintan_channelgrouping.txt files are specified correctly.  If you see files vhlv_filtermap.txt and vhlv_channelgroup.txt, then they should be re-named. If you acquired using 32 channels, and want the electrode channels to be combined, you should use:


[1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32]

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32]

Step 1:  Open in NDI

Future here.

Step 2:  Prepare to perform spike sorting with JRCLUST

Future here.

Step 3: Perform spike detection and initial sorting with JRCLUST

Future here.

Step 4: Examine and modify the spike clusters with JRCLUST

Future here.

Step 5: Examine and modify the spike clusters with JRCLUST

Future here.

Step 6: Write the output neurons to NDI

Future here.