tchiyab Posted October 8, 2020 Posted October 8, 2020 Hello, I have some questions, I would be really glad if you could help me : 1. I'm doing an experiment using HTC PRO EYE and Unity and I am looking for a "glossary of term" that will help me understand the meaning of each variable, and the scale of possible values. Can you refer me to a relevant link? (For example for variables: Pupil Position, Pupil Diameter, validation) 2. I am looking for a variable that will return information about the confidence level of the pupil recognition. I thought that - .eye_data_validata_bit_mask Will help me, but it gives me a constant result of = 31. Can you help me understand this better - I have a problem identifying the variable or saving the data? 3. Is there a way to display in Unity real time information about eye movements (E.g. ray, Heatmaps) without it being displayed to the player? but only on the main computer? Thanks, Tchiya
Corvus Posted October 8, 2020 Posted October 8, 2020 @tchiyab 1. I'm doing an experiment using HTC PRO EYE and Unity and I am looking for a "glossary of term" that will help me understand the meaning of each variable, and the scale of possible values. Can you refer me to a relevant link? (For example for variables: Pupil Position, Pupil Diameter, validation) Please refer to the documentation and diagrams for helpful information. The Eye Tracking SDK documentation is included with the SDK download. //via verboseData pupil_diameter_mm // pupil diameter in millimeters (~2.5) pupil_position_in_sensor_area // pupil position relative to lenses (0.5,0.5 is center) eye_openness // eye openness (0 closed, 1 open) gaze_origin_mm // millimeter position of cornea center relative to each lens center (~ 30,-1,-25/-30,1,-25) gaze_direction_normalized // gaze direction vector convergence_distance_mm // currently not implemented SRanipal_Eye.Focus // check current object collider in focus GetValidity // data validity bitmask SRanipal_Eye.LaunchEyeCalibration(); // eye calibration SetEyeParameter / GetEyeParameter // filtering level SRanipal_Eye_Framework.Instance.EnableEyeVersion // framework version SRanipal_Eye_Framework.Instance.StartFramework(); // start framework SRanipal_Eye_Framework.Instance.StopFramework(); // stop framework SRanipal_Eye_Framework.Status // framework status 2. I am looking for a variable that will return information about the confidence level of the pupil recognition. I thought that - .eye_data_validata_bit_mask Will help me, but it gives me a constant result of = 31. Can you help me understand this better - I have a problem identifying the variable or saving the data? The eye tracking SDK reports a validity bitmask for the API calls. Unity Example: if (verboseData.left.GetValidity(SingleEyeDataValidity.SINGLE_EYE_DATA_PUPIL_DIAMETER_VALIDITY) && verboseData.right.GetValidity(SingleEyeDataValidity.SINGLE_EYE_DATA_PUPIL_DIAMETER_VALIDITY)) textDiameter.color = Color.black; // pupil diameter valid 3. Is there a way to display in Unity real time information about eye movements (E.g. ray, Heatmaps) without it being displayed to the player? but only on the main computer? Yes, generally you will create a camera and render it to the main display. Unity Example: Set “Target Eye” parameter on the camera component to “None (Main Display)”.
tchiyab Posted October 8, 2020 Author Posted October 8, 2020 It's so nice to get such a quick and detailed answer, Thanks Kapara. Just one more little question for now, It seems I have no blinks in my DATA. In the variable pupil_diameter_mm for example, there is no number smaller than 0.2. I expected to see at least part of it =NAN or 0. Could it be that the numbers are slipping? Could there be another function that run before I get the data ?
Corvus Posted October 8, 2020 Posted October 8, 2020 @tchiyab The pupil will never be 0, you will want to use eye openness to measure blinking. https://en.wikipedia.org/wiki/Pupil Check for eye openness < 0.1f as a starting point for measuring blinks. This post has sample code I have used to detect blinks (with Unity):
tchiyab Posted October 11, 2020 Author Posted October 11, 2020 Thanks for your response, I have a few more questions: 1. The Eye Tracking SDK documentation is included with the SDK download - can you give an exact location? I could not find them in the folder. (This is an empty folder =C: \ Users \ tchiyab.PC-4D17510A \ Downloads \ Do Not Delete - Installations \ SRanipal_SDK_1.1.0.1.zip \ SRanipal_SDK_1.1.0.1 \ 02_Unity \ Document \ Eye \ html \ search) 2. I have seen that competing devices report about " Access to eye position data with 3.0 msec delay". What is the daily in the case of SRanipal SDK? 3. The pupil - I know what it looks like and it is clear to me that it is not size 0 at any moment 😃 This is just an example of something I do not understand about RAW DATA values. I expect that when there is a blink the Eye Tracking will "lose" the tracking of the pupil and report NAN or 0. I saw in me that there are consecutive samples with numbers between 2-5 so I asked if the information I get goes through some MASK that fills such holes or is it really RAW DATA? Thank you for your patience Tchiya
tchiyab Posted October 11, 2020 Author Posted October 11, 2020 and one more thing, how could I transform the pupil_position_in_sensor_area (or any other parameter) into the angle between the eye and the head (or lens) in degrees?
Corvus Posted October 11, 2020 Posted October 11, 2020 @tchiyab 1. Open the html page here and navigate via browser. The shortcut in the folder is called 'Document_Unity": Quote SDK_v1.3.0.9\02_Unity\Document\Eye\html\index.html 3. When the eye tracking loses the pupil (eye closed, eyelash, etc.) it will report not valid but still provide raw data. For the other question, can you clarify what you are asking? Quote and one more thing, how could I transform the pupil_position_in_sensor_area (or any other parameter) into the angle between the eye and the head (or lens) in degrees?
tchiyab Posted October 14, 2020 Author Posted October 14, 2020 @Corvus I'm sorry, Still can't get to this file. Can you please send it to me via email? birbira98@gmail.com
tchiyab Posted October 25, 2020 Author Posted October 25, 2020 @CorvusOk, I was able to get to the file you were talking about. But I still lack information on some variables. For example: validata_bit_mask EyeLine += eyeData.verbose_data.left.eye_data_validata_bit_mask.ToString() + ","; What is the possible range of this variable? What does the value = 31 mean? I tried to check it out in an empty scene, both with full eye closing and full opening. When I exported data to CSV file I got the value = 31 in both cases. As you can see in the attached table. How does it make sense that I still get information about the size of the pupil and its location with eyes completely closed? thank you for your help. Tchiya
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now