Differences between revisions 5 and 31 (spanning 26 versions)
Revision 5 as of 2008-05-13 10:28:57
Size: 2587
Editor: hih-kn-2301-01
Comment:
Revision 31 as of 2010-09-15 05:56:10
Size: 9984
Editor: hih-kn-2301-01
Comment:
Deletions are marked like this. Additions are marked like this.
Line 5: Line 5:
Line 7: Line 6:
<<TableOfContents(3)>> <<TableOfContents(4)>>
Line 10: Line 9:
 * {{{ Channel Bitmask for DIn spike recording (24ch) }}}
  . Enter here a bitmask which defines the DIn channels to be recorded. Channel 0 is reserved for the Trigger and should always be set. A complete 24 channel recording (including the trigger channel 0) is specified by a channel mask 16777215. A binary-to-digital-converter can be found [[http://www.townblog.de/tools/umrechnung-binaer-dezimal.htm|here]].

 * {{{ Channel Bitmask for other DIO (8ch) }}}
  . Enter here a bitmask which defines the DIn channels direction of the trigger subdevice. 1 means input, 0 means output. Channel 0 is reserved for the Trigger output and is set to output automatically. Example: Input on channels 1, 2, 3, 4 and 7 (bitmask 10011110) is specified by a channel mask 158. A binary-to-digital-converter you can use to calculate your appropriate bimask can be found [[http://www.townblog.de/tools/umrechnung-binaer-dezimal.htm|here]].

 * {{{ Experiment output trigger: Channel ID }}}
  . The ID of the digital output channel that is used for the experiment trigger. This trigger is HI during the running experiment and gets back to LO when the experiment is finished. Disable the trigger by setting this ID to -1.

 * {{{ Experiment output trigger: Subdevice ID }}}
  . The ID of the digital output subdevice that is used for the experiment trigger (find out via {{{comedi_test -t info}}}). Disable the trigger by setting this ID to -1.

 * {{{ Number of AIn channels to be recorded }}}
  . How many analog input channels are sampled, recorded and saved to the hdf5 data file. Since one channel for the trial trigger and two for the eye position is needed, the minimum for this parameter is 3.
Line 12: Line 25:
   Acquired samples per second by the daq card.   . Acquired samples per second by the daq card.
Line 14: Line 27:
 * {{{ SubdeviceID for AIn eye position recording (16ch) }}}
   The ID of the analog input subdevice (find out via {{{comedi_test -t info}}}).
 * {{{ SubdeviceID for AIn (eye position) recording (16ch) }}}
  . The ID of the analog input subdevice (find out via {{{comedi_test -t info}}}).
Line 18: Line 31:
   The ID of the digital input subdevice (find out via {{{comedi_test -t info}}}). If no spikes or comparable digital signals are to be recorded, set this value to -1.   . The ID of the digital input subdevice (find out via {{{comedi_test -t info}}}). If no spikes or comparable digital signals are to be recorded, set this value to -1.
Line 21: Line 34:
   The ID of the digital in-/output subdevice (find out via {{{comedi_test -t info}}}). The trial trigger is on channel 0 output. The other channels may be used for response buttons, reward signals, LEDs and similar things.   . The ID of the digital in-/output subdevice (find out via {{{comedi_test -t info}}}). The trial trigger is on channel 0 output. The other channels may be used for response buttons, reward signals, LEDs and similar things.
Line 24: Line 37:
Line 26: Line 38:
   Path and filename of the last experiment configuration used. Usually this is not modified here.   . Path and filename of the last experiment configuration used. Usually this is not modified here. If the experiment file can not be found, nrec might no longer start up. You will then have to edit .nrec.cfg manually or using a XML-editor and set this parameter back to a valid value.
Line 29: Line 41:
Line 31: Line 42:
Line 33: Line 43:

  
Currently used horizontal calibration coefficients. These are the 6 coefficients a,b,c,d,e,f in the voltage (x) to gaze_angle funtion:<<BR>> ganze_angle = a + b * x + c * y + d * x^2^ + e * x * y + f * y^2^.<<BR>>
  
Usually this is not modified here.
  . Currently used horizontal calibration coefficients. These are the 6 coefficients a,b,c,d,e,f in the voltage (x) to gaze_angle funtion:<<BR>> ganze_angle = a + b * x + c * y + d * x^2^ + e * x * y + f * y^2^.<<BR>> Usually this is not modified here.
Line 38: Line 46:
   Currently used vertical calibration coefficients. These are the 6 coefficients a,b,c,d,e,f in the voltage (x) to gaze_angle funtion:<<BR>> ganze_angle = a + b * x + c * y + d * x^2^ + e * x * y + f * y^2^.<<BR>>
  
Usually this is not modified here.
  . Currently used vertical calibration coefficients. These are the 6 coefficients a,b,c,d,e,f in the voltage (x) to gaze_angle funtion:<<BR>> ganze_angle = a + b * x + c * y + d * x^2^ + e * x * y + f * y^2^.<<BR>> Usually this is not modified here.
Line 42: Line 49:
   Number of channels used for eye position calibration. Use 1 for x-only mode or 2 for x-y-mode.   . Number of channels used for eye position calibration. Use 1 for x-only mode or 2 for x-y-mode.
Line 45: Line 52:
   Number of calibration coefficients per channel. Order of the polynomial in the above equations. Currently only a value of 6 is implemented.   . Number of calibration coefficients per channel. Order of the polynomial in the above equations. Currently only a value of 6 is implemented.
Line 48: Line 55:
Line 50: Line 56:
   Number of channels used for eye position measurement. Currently only a value of 2 is implemented.<<BR>>Usually this is not modified here.   . Number of channels used for eye position measurement. Currently only a value of 2 is implemented.<<BR>>Usually this is not modified here.
Line 53: Line 59:
   Device ID for eye movement data acquisition. Usually 0.   . Device ID for eye movement data acquisition. Usually 0.
Line 56: Line 62:
   Subdevice ID for eye movement data acquisition. Usually equals DAQ/SUBDEVICE_ID_AIN.   . Subdevice ID for eye movement data acquisition. Usually equals DAQ/SUBDEVICE_ID_AIN.
Line 59: Line 65:
   ID of channel for horizontal eye position. Usually 0.   . ID of channel for horizontal eye position. Usually 0.
Line 62: Line 68:
   ID of channel for vertical eye position. Usually 1.   . ID of channel for vertical eye position. Usually 1.
Line 64: Line 70:
{{{... to be continued}}}  * {{{ Range ID (see comedi_test output) }}}
    ID of the voltage range used on the X and Y channel inputs. comedi_test returns the possible ranges, e.g.: {{{ ranges: all chans: [-10,10] [-5,5] [-0.5,0.5] [-0.05,0.05] }}}. These ranges would refer to the IDs 0, 1, 2, 3.

== Local system setup ==

=== Monitor ===
 * {{{ Distance }}}
  . Viewing distance between eyes and screen in mm.

 * {{{ Frame rate }}}
  . Refresh rate of the screen.

 * {{{ Measured Target Latency }}}
  . Using a photodetector like a photodiode, the real latency between saved target position and the displayed target can be measured and stored here for later taking it into account in the data analysis. It depends on the graphic card and monitor hardware and therefore has to be measured.

 * {{{ Shape }}}
  . Shape of the screen. Affects the internal conversion of degrees visual angle into pixels. (Flat: tangential correction, Sphere: no correction, Cylinder: vertical tangential correction only)

 * {{{ Height }}}
  . Height of the screen in mm.

 * {{{ Width }}}
  . Width of the screen in mm.

==== Resolution ====

 * {{{ Horizontal }}}
  . Number of horizontal pixels (columns).

 * {{{ Vertical }}}
  . Number of vertical pixels (rows).

== Stimuli ==
Clear Color R
 * {{{ Clear Color Alpha/B/G/R }}}
  . Defines the background color of the stimulus window. You may have to restart nrec and start the experiment to activate the change.

 * {{{ Clear Screen at the End of Experiment }}}
  . If activated, the screen is cleared when the experiment is finished or stopped.

 * {{{ Force Buffer Swap Waiting }}}
  . If set, the system will wait for buffer swap by reading the buffer count via GetVideoSyncSGI. Some ATI graphic cards seem not to wait for a vsync in glXSwapBuffers. You have to restart nrec to activate a change of this parameter.

 * {{{ Frameerror handling }}}
  . 0: strict, system assumes that calculation of a new frame lasts less than 1/framerate seconds.<<BR>> 1: tolerant, system allows the frame calculation to be longer than 1/framerate seconds. Especially useful in conjunction with movie primitives.

 * {{{ Hide Cursor }}}
  . If activated, mouse pointer is hidden when inside the stimulus window. You have to restart nrec to activate the change.


 * {{{ Minimum trial duration }}}
  . Use this parameter, if you want to ensure, that the time between the start of two consecutive trials is constant. Deactivated, if set to -1.

== Stimulus window ==

Parameters defining the graphics output. You will have to restart nrec to apply these settings.

 * {{{ Full screen }}}
  . If activated, the whole screen is used instead of a window.

 * {{{ Graphics system }}}
  . DirectFB is obsolete. Use "X Window".

 * {{{ Height }}}
  . Number of vertical pixels (rows).

 * {{{ Width }}}
  . Number of horizontal pixels (columns).

 * {{{ X Display Name }}}
  . Choose the appropriate X Display. For Notebooks e.g., the external screen normally is :0.1<<BR>> __Caution:__ If the chosen display is not GLX capable, nrec might not start up anymore. You will then have to edit .nrec.cfg manually or using a XML-editor and set this parameter back to a valid value.

== Storage ==

Parameters related to storage of the data to a hdf5-file.

 * {{{ Append Date and Time to Filename }}}
  . To the filename which is set in the parameter list, an extra suffix is added in front of the h5-suffix. It has the format year-month-day-hour-minute-second-millisecond. A new filename is generated every time the experiment starts (usually by a button press on "START EXPERIMENT").

 * {{{ Automatic Backup Creation after N Trials }}}
  . To avoid data loss in case of (hopefully seldom) nrec crashes, the current data file can be copied to a backup file (suffix ".bak") after N trials. N is specified by this parameter. The copying process interrupts nrec execution for a certain time interval. Functionality is disabled when it is set to 0.

 * {{{ Auto-Save Experiment Configuration }}}
  . If this parameter is enabled, the current experiment configuration is saved automatically when the experiment is started or the program is quitted.

 * {{{ Save Repeated Trials }}}
  . If this parameter is enabled, all repeated trials are saved. Disable to reduce hdf5 data file size.

== User Interface ==

Parameters defining the look of the user interface.

 * {{{ Digital inputs (channel mask) }}}
  . Some of the digital channels are visualized by red/green squares below the eye position panel. This number specifies which channels are shown. You will have to restart nrec to apply this setting.

=== Eye Position Panel ===

Area on the right upper side of the main window where the current eye position and other things are displayed.

 * {{{ Online Display Raw Scaling }}}
  . If "raw data" is activated below the panel, the display shows the current analog input in volts. This parameter defines the voltage range of the shown area.

 * {{{ Online Display Scaling }}}
  . If "raw data" is deactivated, the display shows the current eye position (gaze angle) in degrees. A scaling of 1 scales the shown eye position range so, that it covers the current screen size.

=== Main window layout ===

These parameters are usually changed directly on the user interface. There is no need to modify them here.

=== Plotting setup ===

These parameters are usually changed directly on the user interface. There is no need to modify them here.

Documentation of nrec Parameters

1. Data Acquisition

  •  Channel Bitmask for DIn spike recording (24ch) 

    • Enter here a bitmask which defines the DIn channels to be recorded. Channel 0 is reserved for the Trigger and should always be set. A complete 24 channel recording (including the trigger channel 0) is specified by a channel mask 16777215. A binary-to-digital-converter can be found here.

  •  Channel Bitmask for other DIO (8ch) 

    • Enter here a bitmask which defines the DIn channels direction of the trigger subdevice. 1 means input, 0 means output. Channel 0 is reserved for the Trigger output and is set to output automatically. Example: Input on channels 1, 2, 3, 4 and 7 (bitmask 10011110) is specified by a channel mask 158. A binary-to-digital-converter you can use to calculate your appropriate bimask can be found here.

  •  Experiment output trigger: Channel ID 

    • The ID of the digital output channel that is used for the experiment trigger. This trigger is HI during the running experiment and gets back to LO when the experiment is finished. Disable the trigger by setting this ID to -1.
  •  Experiment output trigger: Subdevice ID 

    • The ID of the digital output subdevice that is used for the experiment trigger (find out via comedi_test -t info). Disable the trigger by setting this ID to -1.

  •  Number of AIn channels to be recorded 

    • How many analog input channels are sampled, recorded and saved to the hdf5 data file. Since one channel for the trial trigger and two for the eye position is needed, the minimum for this parameter is 3.
  •  sampling rate 

    • Acquired samples per second by the daq card.
  •  SubdeviceID for AIn (eye position) recording (16ch) 

    • The ID of the analog input subdevice (find out via comedi_test -t info).

  •  SubdeviceID for DIn spike recording (24ch) 

    • The ID of the digital input subdevice (find out via comedi_test -t info). If no spikes or comparable digital signals are to be recorded, set this value to -1.

  •  SubdeviceID for other DIO (8ch) 

    • The ID of the digital in-/output subdevice (find out via comedi_test -t info). The trial trigger is on channel 0 output. The other channels may be used for response buttons, reward signals, LEDs and similar things.

2. Experiment file

  •  Experiment file 

    • Path and filename of the last experiment configuration used. Usually this is not modified here. If the experiment file can not be found, nrec might no longer start up. You will then have to edit .nrec.cfg manually or using a XML-editor and set this parameter back to a valid value.

3. Eye position module

3.1. Calibration

  •  Channel 0 

    • Currently used horizontal calibration coefficients. These are the 6 coefficients a,b,c,d,e,f in the voltage (x) to gaze_angle funtion:
      ganze_angle = a + b * x + c * y + d * x2 + e * x * y + f * y2.
      Usually this is not modified here.

  •  Channel 1 

    • Currently used vertical calibration coefficients. These are the 6 coefficients a,b,c,d,e,f in the voltage (x) to gaze_angle funtion:
      ganze_angle = a + b * x + c * y + d * x2 + e * x * y + f * y2.
      Usually this is not modified here.

  •  # Channels 

    • Number of channels used for eye position calibration. Use 1 for x-only mode or 2 for x-y-mode.
  •  # Coefficient/channel 

    • Number of calibration coefficients per channel. Order of the polynomial in the above equations. Currently only a value of 6 is implemented.

3.2. Input hardware

  •  # Channels 

    • Number of channels used for eye position measurement. Currently only a value of 2 is implemented.
      Usually this is not modified here.

  •  Device ID 

    • Device ID for eye movement data acquisition. Usually 0.
  •  Subevice ID  

    • Subdevice ID for eye movement data acquisition. Usually equals DAQ/SUBDEVICE_ID_AIN.
  •  X Channel ID 

    • ID of channel for horizontal eye position. Usually 0.
  •  Y Channel ID 

    • ID of channel for vertical eye position. Usually 1.
  •  Range ID (see comedi_test output) 

    • ID of the voltage range used on the X and Y channel inputs. comedi_test returns the possible ranges, e.g.:  ranges: all chans: [-10,10] [-5,5] [-0.5,0.5] [-0.05,0.05] . These ranges would refer to the IDs 0, 1, 2, 3.

4. Local system setup

4.1. Monitor

  •  Distance 

    • Viewing distance between eyes and screen in mm.
  •  Frame rate 

    • Refresh rate of the screen.
  •  Measured Target Latency 

    • Using a photodetector like a photodiode, the real latency between saved target position and the displayed target can be measured and stored here for later taking it into account in the data analysis. It depends on the graphic card and monitor hardware and therefore has to be measured.
  •  Shape 

    • Shape of the screen. Affects the internal conversion of degrees visual angle into pixels. (Flat: tangential correction, Sphere: no correction, Cylinder: vertical tangential correction only)
  •  Height 

    • Height of the screen in mm.
  •  Width 

    • Width of the screen in mm.

4.1.1. Resolution

  •  Horizontal 

    • Number of horizontal pixels (columns).
  •  Vertical 

    • Number of vertical pixels (rows).

5. Stimuli

Clear Color R

  •  Clear Color Alpha/B/G/R 

    • Defines the background color of the stimulus window. You may have to restart nrec and start the experiment to activate the change.
  •  Clear Screen at the End of Experiment 

    • If activated, the screen is cleared when the experiment is finished or stopped.
  •  Force Buffer Swap Waiting 

    • If set, the system will wait for buffer swap by reading the buffer count via GetVideoSyncSGI. Some ATI graphic cards seem not to wait for a vsync in glXSwapBuffers. You have to restart nrec to activate a change of this parameter.
  •  Frameerror handling 

    • 0: strict, system assumes that calculation of a new frame lasts less than 1/framerate seconds.
      1: tolerant, system allows the frame calculation to be longer than 1/framerate seconds. Especially useful in conjunction with movie primitives.

  •  Hide Cursor 

    • If activated, mouse pointer is hidden when inside the stimulus window. You have to restart nrec to activate the change.
  •  Minimum trial duration 

    • Use this parameter, if you want to ensure, that the time between the start of two consecutive trials is constant. Deactivated, if set to -1.

6. Stimulus window

Parameters defining the graphics output. You will have to restart nrec to apply these settings.

  •  Full screen 

    • If activated, the whole screen is used instead of a window.
  •  Graphics system 

    • DirectFB is obsolete. Use "X Window".
  •  Height 

    • Number of vertical pixels (rows).
  •  Width 

    • Number of horizontal pixels (columns).
  •  X Display Name 

    • Choose the appropriate X Display. For Notebooks e.g., the external screen normally is :0.1
      Caution: If the chosen display is not GLX capable, nrec might not start up anymore. You will then have to edit .nrec.cfg manually or using a XML-editor and set this parameter back to a valid value.

7. Storage

Parameters related to storage of the data to a hdf5-file.

  •  Append Date and Time to Filename 

    • To the filename which is set in the parameter list, an extra suffix is added in front of the h5-suffix. It has the format year-month-day-hour-minute-second-millisecond. A new filename is generated every time the experiment starts (usually by a button press on "START EXPERIMENT").
  •  Automatic Backup Creation after N Trials 

    • To avoid data loss in case of (hopefully seldom) nrec crashes, the current data file can be copied to a backup file (suffix ".bak") after N trials. N is specified by this parameter. The copying process interrupts nrec execution for a certain time interval. Functionality is disabled when it is set to 0.
  •  Auto-Save Experiment Configuration 

    • If this parameter is enabled, the current experiment configuration is saved automatically when the experiment is started or the program is quitted.
  •  Save Repeated Trials 

    • If this parameter is enabled, all repeated trials are saved. Disable to reduce hdf5 data file size.

8. User Interface

Parameters defining the look of the user interface.

  •  Digital inputs (channel mask) 

    • Some of the digital channels are visualized by red/green squares below the eye position panel. This number specifies which channels are shown. You will have to restart nrec to apply this setting.

8.1. Eye Position Panel

Area on the right upper side of the main window where the current eye position and other things are displayed.

  •  Online Display Raw Scaling 

    • If "raw data" is activated below the panel, the display shows the current analog input in volts. This parameter defines the voltage range of the shown area.
  •  Online Display Scaling 

    • If "raw data" is deactivated, the display shows the current eye position (gaze angle) in degrees. A scaling of 1 scales the shown eye position range so, that it covers the current screen size.

8.2. Main window layout

These parameters are usually changed directly on the user interface. There is no need to modify them here.

8.3. Plotting setup

These parameters are usually changed directly on the user interface. There is no need to modify them here.

nrec: ParameterExplanationNrec (last edited 2015-12-11 09:24:32 by FriedemannBunjes)