Jump to content

Recommended Posts



I have a few questions about the eye tracker output which I was not able to deduce about from the sdk or the unity c# and sample example.

I would greatly appreciated your feedback regarding  the following topics:

Validity of the data: I am currently using this condition (SRanipal_Eye_Framework.Status ==   SRanipal_Eye_Framework.FrameworkStatus.WORKING)  within the update loop before colleting eyes data. Later, I am using the bitmask value (verboseData.left.eye_data_validata_bit_mask) as an indication of data validity (I use only frames in which the bitmask equals 31, as described in- https://www.frontiersin.org/articles/10.3389/fpsyt.2020.572938/full ). Yet, in some cases I still get values that seems incorrect. Are these two conditions the only conditions needed to ensure data validity? What is the meaning of the bitmask value?

Calculation of visual angle:

I will be glad if you confirm that I understand the eye tracker output and the necessary conversions correctly:

In each frame I receive the normalized direction in x , y, z (verboseData.left.gaze_direction_normalized);

In order to retrieve the horizontal angle  and vertical angle between the eye and the lens, I use:

Horizontal angle= arctan (Norm_dir_x/Norm_dir_z)

Vertical_angle= arctan (Norm_dir_y/Norm_dir_z);

Calculation of screen position in pixels:

It is mentioned  that the field of view is 110 deg and the the pixel resolution is 1440 x 1600 per lens (https://developer.vive.com/resources/vive-sense/hardware-guide/vive-pro-eye-specs-user-guide/). Does that mean the maximal horizontal angle is 110 deg and that the maximal vertical angle is 110 deg?

Does that mean that in the horizontal axis the visual angle pixel ratio is 720 pixels /55 deg= 13.09? While in the vertical it is 800 pixels /55 deg= 14.5?

Gaze origin and pupil position: As far as I Understand these variables are not necessary in order to find and analyze eyes position. Is there a specific reason why these are provided? Are they used for calibration or for a different function?

Thank you in advance for your help and feedback! 


Link to post
Share on other sites

Hi, @neomimiz

Validity of the data: 





If I understand correctly, the following shows how it works, though I am not sure if this is correct.


Binary digit if valid

Decimal digit if valid
















Calculation of visual angle:

Are you asking how to convert a GAZE vector into a rotated vector?
we have sample code for this In SDK unity and unreal sample plugin  
AvartarSRanipal_v2.cs line:189

Gaze origin and pupil position: 
These are the values generated by Tobi, I think they should be used to calculate the gaze vector

  • Like 1
Link to post
Share on other sites

Please sign in to comment

You need to be a member in order to leave a comment

Sign in

Already have an account? Sign in here.

Sign In Now
  • Create New...