Parameter Files

The Parameter File

Generic file name: base.xml

Format: XML

The parameter file is a generic file which contains information required by many related programs; Klusters only needs a subset of this information. Note for advanced users: the schema describing the parameter file can be found in the source archive (src/parameter.xsd). Here is an example:


<parameters creator="par2xml" version="1.0" >	
  <acquisitionSystem>
    <nBits>16</nBits>
    <nChannels>16</nChannels>
    <samplingRate>20000</samplingRate>
    <voltageRange>20</voltageRange>
    <amplification>1000</amplification>
    <offset>0</offset>
  </acquisitionSystem>
  <fieldPotentials>
    <lfpSamplingRate>1250</lfpSamplingRate>
  </fieldPotentials>
  <anatomicalDescription>
    <channelGroups>
      <group>
        <channel>0</channel>
        <channel>2</channel>
        <channel>7</channel>
      </group>
      <group>
        <channel>3</channel>
        <channel>4</channel>
        <channel>5</channel>
        <channel>6</channel>
      </group>
      <group>
        <channel>8</channel>
        <channel>10</channel>
        <channel>15</channel>
      </group>
      <group>
        <channel>11</channel>
        <channel>12</channel>
        <channel>13</channel>
        <channel>14</channel>
      </group>
    </channelGroups>
  </anatomicalDescription>
  <spikeDetection>
    <channelGroups>
      <group>
        <channels>
          <channel>0</channel>
          <channel>2</channel>
          <channel>7</channel>
        </channels>
        <nSamples>32</nSamples>
        <peakSampleIndex>16</peakSampleIndex>
        <nFeatures>4</nFeatures>
      </group>
      <group>
        <channels>
          <channel>3</channel>
          <channel>4</channel>
          <channel>5</channel>
          <channel>6</channel>
        </channels>
        <nSamples>32</nSamples>
        <peakSampleIndex>16</peakSampleIndex>
        <nFeatures>3</nFeatures>
      </group>
      <group>
        <channels>
          <channel>8</channel>
          <channel>10</channel>
          <channel>15</channel>
        </channels>
        <nSamples>32</nSamples>
        <peakSampleIndex>16</peakSampleIndex>
        <nFeatures>4</nFeatures>
      </group>
      <group>
        <channels>
          <channel>11</channel>
          <channel>12</channel>
          <channel>13</channel>
          <channel>14</channel>
        </channels>
        <nSamples>32</nSamples>
        <peakSampleIndex>16</peakSampleIndex>
        <nFeatures>3</nFeatures>
      </group>
    </channelGroups>
  </spikeDetection>
</parameters>

As mentioned earlier, Klusters belongs to a larger framework for neurophysiological data analysis, also comprising NeuroScope. If you use NeuroScope to create your spike extraction groups, a basic parameter file will be created for you and you will only need to add the nSamples, peakSampleIndex and nFeatures tags.

Note

Obsolete flat text parameter files (see the following section) can easily be converted into an XML parameter file, using par2xml (type par2xml --help for details). This is included in the archive parameters.tar.gz and can be downloaded from Klusters's website.

Most tags are self-explanatory, but some tags may need clarification:

  • voltageRange: the total voltage range, e.g. if the system is set to ±5V, the range is 10V.

  • offset: some acquisition systems record the data with a fixed offset; this can be specified here so that Klusters can recenter all the channel traces in the Trace View.

  • lfpSamplingRate (not used by Klusters): sampling rate for local field Potentials (EEG).

  • anatomicalDescription (not used by Klusters): lists channel groups according to their anatomical locations.

  • spikeDetection: lists channel groups used for spike extraction.

  • nSamples: number of samples in each waveform.

  • peakSampleIndex: sample index of the peak in each waveform.

  • nFeatures: number of principal components (features) per electrode.

Each group tag inside the spikeDetection tag identifies a group of electrodes used for spike extraction and sorting. Notice that the order of these group tags is relevant: the first tag describes the first electrode group (i.e., files base.clu.1, base.fet.1 and base.spk.1), the second tag describes the second electrode group (i.e., files base.clu.2, etc.) and so on. When loading wide-band signals recorded from a group of electrodes in Klusters, the traces appear in the Trace View in the same order as the channels are listed in the channels tag.

Obsolete Parameter Files

Starting from version 1.5, the parameter file format was changed from two flat text files to the single XML file described in the previous section (as mentioned in the documentation for previous versions of Klusters, the flat text format was temporary - it was mostly used for backwards compatibility with legacy software - and destined to be replaced with a more flexible one). However, Klusters is backward compatible and can still read these parameter files, which are described in the following paragraphs.

The General Parameter File

Generic file name: base.par

Format: ASCII

The general parameter file is a generic file used by a number of programs. Klusters needs only a subset of the information provided. Here is an example:

16 16          # total number of electrodes, resolution of the acquisition system (in bits)
50 800         # sampling interval (in microseconds), high-pass filter frequency (in Hz)
4              # number of electrode groups
4 0 1 2 3      # number of electrodes for the 1st group, electrode IDs
4 4 5 6 7      # number of electrodes for the 2nd group, electrode IDs
3 8 9 10       # number of electrodes for the 3rd group, electrode IDs (in this example, electrode 11 was discarded)
4 12 13 14 15  # number of electrodes for the 4th group, electrode IDs
Only the first 3 lines are mandatory for Klusters. The high-pass filter frequency is not used at the moment (a value of 0 can be used if not known).

The Specific Parameter File

Generic file name: base.par.n

Format: ASCII

The specific parameter file is a generic file used by a number of programs. It describes addidional parameters for a given electrode group. Again, Klusters needs only a subset of the information provided. Here is an example:

16 4 50     # total number of electrodes, number of electrodes for this group,  sampling interval (in microseconds)
0 1 2 3     # electrode IDs
10 2        # refractory sample index after detection, RMS integration window length
90          # approximate firing frequency in Hz
16 8        # number of samples in each waveform, sample index of the peak
12 6        # window length to realign the spikes, sample index of the peak (detection program)
4 4         # number of samples (before and after the peak) to use for reconstruction and features
3 16        # number of principal components (features) per electrode, number of samples used for the PCA
800.        # high pass filter frequency (in Hz)
All 9 lines are expected in this file, but only lines 1, 4, 5, and 8 are actually used at the moment (for unused parameters, a value of 0 can be used).