The eyevec-control application can be used to generate eye-tracking data for the purpose of precision and accuracy analysis. This feature is provided for convenience; you can of course create a your own experiment (or use the accuracy test script written in Zep).
The general procedure is as follows:
-
In Settings page select 9-point Calibration type and 9-point Validation type
-
In Test & Record page Check Open data file and uncheck Close data file after test
-
In Test & Record page select 25-point Test type and run test
-
In Test & Record page uncheck Open data file; the eye-tracking data file created can be found in the evaluation directory
-
Process the CSV file using R script
analyze-evaluation-data.rfound under resources (if preferred you could use your own analysis script or adapt the provided analysis script)
Example output
Here is an example of a data file available after step 10:
20251220T105800-0.bed
To convert this to CSV format we run the following command:
$ eyevec-convert -eye -mm -r -mean=off 20251220T105800-0.bed -out=20251220T105800-0.csv
This yields the following CSV file:
20251220T105800-0.csv
You could instead use the analyze-evaluation-data.sh helper script
found under resources.
|
To process the CSV file we run the analyze-evaluation-data.r R-script once
for each eye for raw data and for filtered data:
$ Rscript analyze-evaluation-data.r 20251220T105800-0.csv -side=RIGHT -v=0 -raw \
-csv=results-raw.csv
$ Rscript analyze-evaluation-data.r 20251220T105800-0.csv -side=LEFT -v=0 -raw \
-csv=results-raw.csv
$ Rscript analyze-evaluation-data.r 20251220T105800-0.csv -side=RIGHT -v=0 -csv=results.csv
$ Rscript analyze-evaluation-data.r 20251220T105800-0.csv -side=LEFT -v=0 -csv=results.csv
This creates (or appends to) the following CSV files:
results-raw.csv
results.csv
If you like you can reduce the number of columns in the output:
$ Rscript reduce-columns.r results-raw.csv > quick-results-raw.csv
$ Rscript reduce-columns.r results.csv > quick-results.csv
This gives:
quick-results-raw.csv
quick-results.csv
Instead of creating a CSV output file you can run the
analyze-evaluation-data.r R-script without the -csv option for human
readable output:
$ Rscript analyze-evaluation-data.r 20251220T105800-0.csv -side=RIGHT -v=0 -raw
$ Rscript analyze-evaluation-data.r 20251220T105800-0.csv -side=LEFT -v=0 -raw
$ Rscript analyze-evaluation-data.r 20251220T105800-0.csv -side=RIGHT -v=0
$ Rscript analyze-evaluation-data.r 20251220T105800-0.csv -side=LEFT -v=0
This will show the following output:
20251220T105800-0.csv
Results RIGHT (raw):
reference 0
points 25
accuracy [mm] 4.925
precision STD [mm] 0.453
precision RMS-S2S [mm] 0.612
accuracy [deg] 0.350
precision STD [deg] 0.032
precision RMS-S2S [deg] 0.043
20251220T105800-0.csv
Results LEFT (raw):
reference 0
points 25
accuracy [mm] 6.044
precision STD [mm] 0.415
precision RMS-S2S [mm] 0.498
accuracy [deg] 0.425
precision STD [deg] 0.029
precision RMS-S2S [deg] 0.035
20251220T105800-0.csv
Results RIGHT:
reference 0
points 25
accuracy [mm] 4.915
precision STD [mm] 0.345
precision RMS-S2S [mm] 0.107
accuracy [deg] 0.350
precision STD [deg] 0.024
precision RMS-S2S [deg] 0.008
20251220T105800-0.csv
Results LEFT:
reference 0
points 25
accuracy [mm] 6.037
precision STD [mm] 0.374
precision RMS-S2S [mm] 0.108
accuracy [deg] 0.425
precision STD [deg] 0.027
precision RMS-S2S [deg] 0.008
Do not hestitate to contact us in case you need any help with this.