Home › Forums › Software Development › MinimalEyePositionDataStream Sample Problem
Tagged: .Net Samples
- This topic has 8 replies, 3 voices, and was last updated 7 years, 8 months ago by Larry Molocznik.
- 04/06/2015 at 16:38 #3068
Ran the MinimalEyePositionDataStream Sample provided in the SDK for .NET and all the x, y coordinates are way off. My display is 16″ X 9″
resolution 1600 X 900.
Ran the MinimalGazeDataStream Sample and all the x, y coordinates look correct.
When I run the MinimalEyePositionDataStream Sample here are my results.
Coordinates when I run the test.
Y ~ 50.0 mm (top) -Y ~ 24.0 mm (bottom)
-X ~ -99.0 mm (left) X ~ 40.0 mm (right)
For my screen size I would expect values around
Y ~ 114.0 mm (top) -Y ~ -114.0 mm (bottom)
-X ~ 200.0 mm (left) X ~ -200.0 mm (right)
The EyeXFramework.dll is version 1.4.451 x86
The Tobii.EyeX.Client.dll is version 1.4.451 x86
Firmware version: 1.4.0-32251
Controller Core Version 188.8.131.52948
Controller Driver Verson 1.1.0
Service Version 184.108.40.20634
EyeX version 220.127.116.1134
Interaction version 18.104.22.168508/06/2015 at 15:44 #3082
Is there an updated assembly to fix this problem ?09/06/2015 at 14:25 #3099Jenny [Tobii]Participant
Could you please describe in a more detailed way how you went about to get the numbers you got? How did you physically position your eyes relative to the screen center and relative to the screen plane? I wouldn’t expect you to get any values at all if you position your head and eyes at the level of of the bottom border of the screen since that would be below the track box of the eye tracker – the eye tracker would not be able to find your eyes at that angle. For more information about the coordinate system used for the Eye Position stream, see the Developer’s Guide included in the SDK.09/06/2015 at 15:30 #3103
I was using the PositionDataStream in the App we are testing and made the assumption that it was returning accurate values, since the other two Data Streams we are using we working as expected. The incorrect / random values we noticed led me to the
.Net Samples to determine what I might be doing incorrectly.
So I first tested the MinimalGazeDataStream sample provided. Since the app runs in a DOS box I positioned the DOS box at the upper left of my display, I focused my eyes on the upper left corner of the DOS box, and noticed that the X and Y coordinates were returning values within an acceptable range. I repeated this test by moving the DOS box to the upper right, lower left, lower right of my display and all the eye positions returned by the MinimalGazeDataStream were correct.
So then I tested the MinimalPositionDataStream in the same manner. Here’s an example of the values that are returned.
Positioning the DOS box at the upper left of my display, and focusing on the upper left corner of the DOS box, returned
the following values. 3D Position: (-65.1, 74.2, 665.2) Normalized: (0.6, 0.6, 0.6)
Positioning the DOS box at the upper right of my display, and focusing on the upper right corner of the DOS box, returned
the following values. 3D Position: (-14.5, 84.9, 670.1) Normalized: (0,5, 0.6, 0.6)
All the values returned, both X,Y and the track box values, seem to be random and incorrect.
Based on the documentation the coordinates for the values returned by the PositionDataStream are in millimeters and the 0,0
is at the center of the screen. The upper right X value should be positive not negative. Similar random (incorrect) values were returned when I positioned the DOS box to the lower left and lower right of my display.
My original post calculates what values I would expect to see, base on the Tobii Documentation.
Try testing the MinimalPositionDataStream Sample in the same manner, with the same assemblies I outlined in my original post, and let me know if you get different results.15/06/2015 at 16:38 #3135
Has any Tobii developer or tester, using the assemblies I outlined in my original post, been able to get the PositionDataStream to return the correct values which are outlined in the .Net Developers Guide, pages 23 and 24 ?23/06/2015 at 02:23 #3145AustinParticipant
I’m trying to understand the characteristics of each the data streams outlined in the .Net SDK documentation.
I’ve executed each of the three MinimalSamples projects (C#) and the project that is returning erroneous results
is the MinimalEyePositionDataStream sample.
Could you help me understand what I may be doing wrong ?24/06/2015 at 15:40 #3155
I see that there have been many updates.
With regards to the MinimalEyePositionDataStream .Net Sample Project there has been no change in behavior.
No mater where I look on the screen the left and right eye X coordinates are
always negative. No mater where I look on the screen the left and right eye Y
coordinates are always positive. The values themselves don’t appear to follow
the coordinate pattern outlined on page 23 of the .Net Documentation.
BTW – The MinimalGazeDataStream .Net Sample Project works correctly.
OLD Version New Version
Firmware version: 1.4.0-32251 1.6.0-33050
Controller Core Version 22.214.171.124948 1.6.0
Controller Driver Verson 1.1.0 1.1.0
Service Version 126.96.36.19934 188.8.131.5243
EyeX version 184.108.40.20634 220.127.116.1143
Interaction version 18.104.22.1685 22.214.171.1246
Is there an update that I’m missing or are you unable to reproduce this problem ?07/07/2015 at 15:47 #3207Jenny [Tobii]Participant
Aha, I see now that you have misunderstood what kind of data the Eye Position data stream contains. The Eye Position data stream gives you the physical position of your eye balls in 3D space relative to the screen, not the coordinates of where you are looking. So, if you position your head (and your eyes) exactly in the middle between the right and left edge of the computer monitor, the expected X value for the eye positions would be approximately for the left/right eye ball: 0 -/+ distance in mm between the center of the eye ball and the vertical center of the nose.
In other words, if you move your head to the right, the X value would increase, and if you move your head to the left, the X value would decrease. The Y value increases if you move your head upwards, and decreases when you move it downwards. The Z value increases when you move your head away from the monitor screen, and decreases when you move closer to the screen.07/07/2015 at 16:42 #3210
I would suggest that someone review the verbiage on page 4 and 23 of the .Net documentation.
The explanation of the PositionDataStream is ambiguous at best. The fact that it took five
week to get a response supports that fact.
- You must be logged in to reply to this topic.