r38 - 19 Nov 2007 - 17:10:56 - JeffPelzYou are here: TWiki >  VPL Web  > DualPurkinjeImageTracker
Tags:
create new tag
, view all tags

Dual-Purkinje Eye Tracker

Fourward Technologies Manual:

Applied Optics Paper: Technical Description

Instructions

Automatic Data Logging:

We discussed using the voltage on one of the Aux lines to trigger data recording. This is possible, using the Software triggers and Trigger-Conditions, but it doesn't look like we can keep on displaying data while it is not being displayed, so instead, I'm going to log all the data to disk during a 'record' session, then do the data reduction before saving the text files. This also avoids any data loss due to noise on the image & status Aux lines.

We should also consider doing a D/A A/D auto-calibration periodically or even at the start of each run. We could run through a sweep of a range of voltages, or maybe even just a few, then recalculate the slope/intercept for the calculation to recover the image and status codes. Right now it is robust, but we should expect drift over time. This would also allow us to use more than 8 bits with some confidence...

-- JeffPelz - 08 Aug 2007

Calibration issues:

Stage setup values

L/R U/D I/O Slide Post Observer - date


-7.55 +4.47 +2.18 19mm 82mm KY 7/26/07

-9.52 +4.03 +1.09 26mm 75mm JP 7/26/07

A/D USB-2527 vs. USB-1616FS systems

The USB-2527 is capable of high-speed collection, but is actually a single very A/D with a very high-speed mux. There is significant 'cross-talk' between the channels unless you allow significant settling time (~1ms) between samples. The output impedance of the DPI is evidently relatively high, so a voltage on one channel was affecting the other channels; for example, a large horizontal signal on Ch0 was influencing the vertical signal on Ch2.

The only thing MCC could suggest was longer settling times or intermediate buffers between the DPI and the USB-2527, so we are going to switch the 2527 for a USB-1616FS A/D. It is (on paper) a slower device, but it is a true 16 channel A/D with 16 independent A/D subsystems, so it has the added advantage that the sampling is truly synchronous between channels (the USB-2527 was actually offset by a few microseconds). Initial testing of the 1616FS (Sept '07) shows very high immunity between channels; 5V into channel 0 has no measurable influence on ch 1.

-- JeffPelz - 09 Sep 2007

A/D General Issues

It turns out that the 1408-FS runs at 48kHz when converting from analog to digital, but reading raw digital values is much slower - 8 msec to poll the DIO pins. This means going back to plan A: reading the Track-noBlink lines with analog lines instead of digital. This also means it's not practical to use the digital lines to pass trial info to the lab computer logging data. Options include:

1. Upgrade to a faster box. Measurement Computing has a USB-2500 Series A/D system. The USB-2523 has 16 single-ended/8 differential 16-bit analog inputs, 1 MHz throughput, 24 digital I/O, and four 32-bit counter input channels for ~ $720 (acad). The USB-2527 adds four 16-bit analog out channels and costs ~$900 (acad).

2. Use only the analog inputs on the 1408FS. It is easy to use the analog inputs for the Track-noBlink - it's just TTL (0/5VDC). Signaling trial info to the lab computer is less obvious, but could also be done with analog signals. Putting another 1408FS (or any D/A device) on the stimulus computer, you could set the output voltage at any time coded based on stimulus display, etc. Reading the analog voltage on the lab computer would allow trial information to be stored with the eye position data. The problem with this solution is that we no longer have enough ports available to read (H1,V1) and (ThetaH?,ThetaV) for right and left trackers concurrently (which would greatly simplify calibration by eliminating the need to flip the switches all the time and read from a single meter).

The USB-1208FS (<$150 acad., and can be controlled from Psychophysics Toolbox) has two 12-bit analog outputs (0.000 - 4.095 VDC in 1mV steps; 2^12 = 4096). In single-ended mode, the USB-1408FS has 13-bit precision, but if we give 'headroom' for noise and signal loss between the systems and limit the read to 10 bits/channel (1024 steps, 4 mV/step), that gives 1024 x 1024 = 1M distinct codes using both channels. This gives up a 'button box' so if you wanted that you would have to use one analog channel for trial info and the other for a button box.

I think that you can run two USB-1408FS boxes at the same time, so if you wanted to, you could run one for each tracker, maintaining the ability to monitor (H1,V1) even in binocular mode.

Another option is to use the audio output of the stimulus computer to generate a signal. It could be a fixed frequency with varying volume, which would create a varying voltage at the input, or varying frequency which could be read. It would be simplest if the trial info were continuous during the trial so it could be read at any time, but it could be a short code given at the start of the trial too.

We could use one analog input channel (13-bit precision in single-ended mode) to read an analog signal from a 1208FS from the stimulus computer (with somewhere between 8 and 12 bits output), and use the second for a button box. We would have to do some testing to see how precise the signaling would be, but I suspect it would be OK at 12-bits, and it would certainly be fine at 10 bits (1024 levels; 4mv/step). A button box could be built that has a number of resistors set as voltage dividers with a regulated DC power supply. The output would be the sum of the voltages from the buttons pressed: For example, if there were 4 buttons, they could be tied to 0.25, 0.5, 1.0, and 2.0 VDC. A reading of 3.25VDC would indicate a chord of the 1st, 3rd, & 4th keys, etc.

-- JeffPelz - 26 Mar 2007

A/D Breakout Box Documentation

-- JeffPelz - 16 Apr 2007

A/D Breakout Box Low-pass Filter

Passive low-pass (RC) filters are built in to the breakout box in channels 0-7 (R&L ThetaH?&V, H1 & V1) and channels 10&11 (Aux A&B for 'XDAT'). The following document has information about the filter and sample data to show the effect of the filters. Note that the remaining channels are not filtered, so if you ever want to collect 'raw' data, just use channels [8,9,12,13,14,15]. Because the USB-1616FS is has 16 independent A/Ds, you could even collect both by just connecting copies of R&L ThetaH?&V to ch 12-15.

-- JeffPelz - 09 Sep 2007 (updated with photo of interior of bo box)

-- JeffPelz - 24 Aug 2007

A/D Board Manuals

[ See http://twiki.cis.rit.edu/bin/view/VPL/InstructionManuals#MCC_USB_Analog_Digital_Converter ]

Pseudo XDAT calibration:

-- JeffPelz - 19 Apr 2007

MATLAB programs

  • first_AD.m: A MATLAB program (cells) that reads 2 channels from the A/D, logs the data to disk, reads it back, and plots it.
  • preview_and_extract_data_mcc.m: A MATLAB program (cells) that reads 1 channel of data from a mcc box, previews the data in real time, then extracts the data and displays it. Good example to use for monitoring EMS during collection with peekdata() while logging to disk.
-- JeffPelz - 27 Mar 2007

  • DPI_binoc_75.m: DPI_binoc_75.m - Capture signals from R&L trackers, preview to display, and stream data to disk.
  • DPI_setup_43.m: DPI_setup_43.m - Setup trackers by showing H1, V1, Theta H&V from both trackers in real time
  • DPI_explore_data_arbitrary_70.m: DPI_explore_data_arbitrary_70.m - look at data file from binoc

-- JeffPelz - 12 Apr 2007

-- JeffPelz - 15 Apr 2007

-- JeffPelz - 16 Apr 2007

-- JeffPelz - 19 Apr 2007

(Adapted most for 1024x768 display) -- JeffPelz - 26 May 2007

Same center point for both programs now, and saves all calibration data.

-- JeffPelz - 10 Jul 2007

-- JeffPelz - 31 Jul 2007

-- JeffPelz - 09 Sep 2007

Papers:

-- JeffPelz - 22 Mar 2007

Movies of Warren: Tracker training

Movies from Warren: How to repairs

Dental Impression Compound:

Johnson & Lund Co. Rochester, NY 14623-2824 (585) 475-0160
Monday - Friday 8:00 a.m. - 4:30 p.m.
Winton Place, Bldg D, last door

Kerr Impression Compounds are available in both cakes and sticks. The different colors signify the softening temperatures of each compound and are as follows:

Soft Green 122-124°F (50-51°C)
Grey 128-130°F (53-54°C)
Red 132-133°F (55-56°C)

Directions:
Thoroughly soften the compound in clear water in the temperature range noted above. Knead the compound with warm, wet fingers to be sure that it is uniformly softened throughout.

  • Adapt to a suitable impression tray and flame surface
  • Dip into hot water before inserting into mouth.
  • Hardening can be hastened by use of cold water or cold air.
  • Working temperatures for cakes and sticks are in the same range as specified above.
  • Sticks may be softened over a flame to a workable condition.

-- JeffPelz - 13 May 2007

-- SueKola - 02 Mar 2007

Computer instructions

Pictures

* DSCN_1469.JPG: * DSCN_1470.JPG: * DSCN_1471.JPG: * DSCN_1473.JPG: * DSCN_1474.JPG: * DSCN_1476.JPG: * DSCN_1477.JPG: * DSCN_1479.JPG: * DSCN_1480.JPG: * DSCN_1482.JPG: * DSCN_1483.JPG: * DSCN_1484.JPG: * DSCN_1485.JPG: * DSCN_1486.JPG: * DSCN_1487.JPG: * DSCN_1488.JPG: * DSCN_1489.JPG: * DSCN_1490.JPG: * DSCN_1491.JPG: * DSCN_1492.JPG:
toggleopenShow attachmentstogglecloseHide attachments
Topic attachments
I Attachment Action Size Date Who Comment
docdoc etguide_3-20-2000.doc manage 30.5 K 02 Mar 2007 - 14:08 SueKola The Idiot's Guide to Eyetracking
docdoc eyealign.doc manage 26.0 K 02 Mar 2007 - 14:10 SueKola Basic Alignment Procedures
docdoc eyeopsandcontrol.doc manage 23.5 K 02 Mar 2007 - 14:15 SueKola Basic Operation and Control
exeexe 4th_Motor_Replacement.exe manage 1779.9 K 02 Mar 2007 - 17:33 SueKola Executable lecture on how to replace the 4th motor
exeexe Mirror-Motor_Repair.exe manage 4479.8 K 02 Mar 2007 - 18:10 SueKola Executable lecture on how to repair the mirror-motor
pdfpdf measurement_computing_USB-1408FS_A-D.pdf manage 2603.8 K 06 Mar 2007 - 20:14 JeffPelz A/D USB manual
docdoc A-D_breakout_box_documentation_jbp_1.doc manage 747.0 K 07 Mar 2007 - 17:40 JeffPelz  
pdfpdf Crane_Steele_Generation-V_dual-Purkinje-image_eyetracker.pdf manage 1727.7 K 12 Mar 2007 - 11:11 JeffPelz 1985 Applied Optics paper describing Gen V tracker
xmlxml PowerPoint_to_DVD.xml manage 22.4 K 12 Mar 2007 - 15:42 JeffPelz  
docdoc A-D_breakout_box_documentation_jbp_2.doc manage 1420.0 K 13 Mar 2007 - 23:47 JeffPelz  
docdoc A-D_breakout_box_documentation_jbp_3.doc manage 1411.5 K 14 Mar 2007 - 12:26 JeffPelz  
pdfpdf Matlab_Data_Acquisition_Toolbox_2_Users_Guide_daqug.pdf manage 4022.0 K 19 Mar 2007 - 20:18 JeffPelz  
pdfpdf Matlab_Data_Acquisition_Toolbox_2_Quick_Reference_Guide_daqug.pdf manage 215.7 K 19 Mar 2007 - 20:23 JeffPelz  
pdfpdf deubel_bridgeman_fourth_purkinje_image_signals_reveal_eye-lens_deviations_and_retinal_image_distortions.pdf manage 957.0 K 22 Mar 2007 - 07:35 JeffPelz  
pdfpdf deubel_bridgeman_perceptual_consequences_of_ocular_lens_overshoot_during_saccadic_eye_movements_1995.pdf manage 498.8 K 22 Mar 2007 - 11:42 JeffPelz  
elsem first_AD.m manage 1.5 K 23 Mar 2007 - 17:23 JeffPelz A MATLAB program (cells) that reads 2 channels from the A/D, logs the data to disk, reads it back, and plots it.
pdfpdf USB-1408FS.pdf manage 488.2 K 27 Mar 2007 - 14:55 JeffPelz  
pdfpdf usb-1208FS_users_guide.pdf manage 2384.6 K 27 Mar 2007 - 14:55 JeffPelz  
elsem preview_and_extract_data_mcc.m manage 1.5 K 27 Mar 2007 - 15:06 JeffPelz  
pdfpdf USB-2527.pdf manage 2029.7 K 12 Apr 2007 - 13:50 JeffPelz USB-2527 A/D board manual
pdfpdf USB-1208FS.pdf manage 2384.6 K 12 Apr 2007 - 13:51 JeffPelz  
pdfpdf USB-1208FS-notes.pdf manage 237.3 K 12 Apr 2007 - 13:51 JeffPelz  
elsem DPI_binoc_75.m manage 25.1 K 12 Apr 2007 - 13:55 JeffPelz  
elsem DPI_setup_43.m manage 16.4 K 12 Apr 2007 - 13:56 JeffPelz  
elsem DPI_explore_data_arbitrary_70.m manage 60.6 K 12 Apr 2007 - 13:57 JeffPelz  
elsem DPI_setup_50.m manage 22.3 K 14 Apr 2007 - 23:58 JeffPelz  
elsem DPI_binoc_80.m manage 27.9 K 14 Apr 2007 - 23:59 JeffPelz  
elsem DPI_explore_data_arbitrary_84.m manage 72.0 K 14 Apr 2007 - 23:59 JeffPelz  
elsem DPI_read_daq_3.m manage 3.2 K 15 Apr 2007 - 00:01 JeffPelz  
docdoc A-D_breakout_box_documentation_jbp_6.doc manage 973.5 K 15 Apr 2007 - 20:11 JeffPelz  
pdfpdf A-D_breakout_box_documentation_jbp_6.pdf manage 876.1 K 15 Apr 2007 - 20:13 JeffPelz  
jpgjpg AD_back_panel_LABELS_800.jpg manage 155.0 K 15 Apr 2007 - 21:53 JeffPelz  
jpgjpg AD_USB_2527_wiring_with_back_panel_800.jpg manage 222.6 K 15 Apr 2007 - 21:53 JeffPelz  
jpgjpg AD_breakout_box_db9_pinout_480.jpg manage 86.0 K 15 Apr 2007 - 21:53 JeffPelz  
docdoc Configuring_the_USB-2527_with_InstaCal_5.doc manage 655.0 K 16 Apr 2007 - 11:24 JeffPelz  
pdfpdf Configuring_the_USB-2527_with_InstaCal_5.pdf manage 537.0 K 16 Apr 2007 - 11:25 JeffPelz  
elsem DPI_binoc_82.m manage 27.7 K 16 Apr 2007 - 11:26 JeffPelz  
elsem DPI_setup_53.m manage 24.4 K 16 Apr 2007 - 11:27 JeffPelz  
pdfpdf calibrate_XDAT_AD.pdf manage 432.8 K 19 Apr 2007 - 01:10 JeffPelz  
elsem DPI_binoc_83.m manage 28.5 K 19 Apr 2007 - 01:13 JeffPelz  
elsem DPI_setup_54.m manage 24.2 K 19 Apr 2007 - 01:13 JeffPelz  
elsemat calibrate.mat manage 18.3 K 19 Apr 2007 - 01:14 JeffPelz  
pdfpdf Kerr_impression_compound_information_sheet.pdf manage 137.3 K 13 May 2007 - 13:11 JeffPelz  
elsem DPI_check_calibration_11.m manage 11.0 K 25 May 2007 - 20:47 JeffPelz  
elsem DPI_binoc_96.m manage 32.6 K 25 May 2007 - 20:47 JeffPelz  
elsem DPI_calibration_39.m manage 20.4 K 25 May 2007 - 20:48 JeffPelz  
elsem DPI_setup_graphical_96.m manage 22.6 K 25 May 2007 - 20:49 JeffPelz  
elsem DPI_setup_71.m manage 24.8 K 25 May 2007 - 20:49 JeffPelz  
elsem DPI_explore_data_arbitrary_85.m manage 72.1 K 25 May 2007 - 20:50 JeffPelz  
elsem DPI_calibration_48.m manage 22.5 K 09 Jul 2007 - 20:34 JeffPelz  
elsem DPI_setup_graphical_102.m manage 23.2 K 09 Jul 2007 - 20:35 JeffPelz  
docdoc Display_Mirroring.doc manage 110.0 K 17 Jul 2007 - 11:31 PatrickSkinner How to enable display mirroring for Mach
elsem DPI_25pt_calibration_109.m manage 36.5 K 30 Jul 2007 - 08:20 JeffPelz Calibration routine with 25pt target
docdoc compare_4_calibrations_July_30_07.doc manage 110.5 K 30 Jul 2007 - 23:20 JeffPelz  
pdfpdf compare_4_calibrations_July_30_07.pdf manage 46.8 K 30 Jul 2007 - 23:21 JeffPelz Repeated calibration on one observer:
elsem DPI_25pt_calibration_122.m manage 40.0 K 30 Jul 2007 - 23:23 JeffPelz Calibration routine with 25pt target - with visual check at end
elsem USB-1208_6_USB-2527_calibrate_43.m manage 1.8 K 02 Aug 2007 - 17:19 JeffPelz  
elsem DPI_binoc_ONLY_228.m manage 33.4 K 08 Aug 2007 - 07:59 JeffPelz Capture, display, and log binocular DPI data
movmov Warren_DPI_training_tape_1.mov manage 106486.3 K 14 Aug 2007 - 14:15 TristanConley Warren DPI Training Tape part 1
movmov Warren_DPI_training_tape_2.mov manage 194783.3 K 14 Aug 2007 - 14:45 TristanConley Warren DPI Training Tape (part 2)
movmov Warren_DPI_training_tape_3.mov manage 326258.5 K 14 Aug 2007 - 14:52 TristanConley Warren DPI Training Tape (part 3)
movmov Warren_DPI_training_tape_4.mov manage 207620.3 K 14 Aug 2007 - 16:40 TristanConley warren DPI Training Tape (part 4)
zipzip horiz.zip manage 104.5 K 20 Aug 2007 - 10:29 JeffPelz  
jpgJPG DSCN1469.JPG manage 964.5 K 20 Aug 2007 - 14:46 PatrickSkinner  
jpgJPG DSCN1470.JPG manage 936.8 K 20 Aug 2007 - 14:52 PatrickSkinner  
jpgJPG DSCN1471.JPG manage 950.0 K 20 Aug 2007 - 14:55 PatrickSkinner  
jpgJPG DSCN1473.JPG manage 981.0 K 20 Aug 2007 - 14:57 PatrickSkinner  
jpgJPG DSCN1474.JPG manage 954.8 K 20 Aug 2007 - 14:57 PatrickSkinner  
jpgJPG DSCN1476.JPG manage 871.5 K 20 Aug 2007 - 14:59 PatrickSkinner  
jpgJPG DSCN1477.JPG manage 930.7 K 20 Aug 2007 - 14:59 PatrickSkinner  
jpgJPG DSCN1478.JPG manage 965.2 K 20 Aug 2007 - 15:01 PatrickSkinner  
jpgJPG DSCN1479.JPG manage 965.2 K 20 Aug 2007 - 15:03 PatrickSkinner  
jpgJPG DSCN1480.JPG manage 923.6 K 20 Aug 2007 - 15:05 PatrickSkinner *Used on poster
jpgJPG DSCN1482.JPG manage 861.4 K 20 Aug 2007 - 15:06 PatrickSkinner  
jpgJPG DSCN1483.JPG manage 897.9 K 20 Aug 2007 - 15:06 PatrickSkinner *Used on poster
jpgJPG DSCN1484.JPG manage 965.3 K 20 Aug 2007 - 15:07 PatrickSkinner  
jpgJPG DSCN1485.JPG manage 907.4 K 20 Aug 2007 - 15:07