Jump to content

imarin18

Verified Members
  • Posts

    50
  • Joined

  • Last visited

Posts posted by imarin18

  1. Dear HTC support team,

    I think I figured out the configuration of coordinate system. I was observing the values, assuming that the origin of coordinate was on eyes. However, I guess that the origin of coordinate is on the VR headset. If that being the case, the positive/negative sign of the measured data makes sense.

    In addition, I think that the configuration of pupil position will be as follows: (0,0) on the bottom left corner of the lens and (1,1) on the top right corner of the lens from the perspectives of eyes, not the direction from the VR headset.

    Could you please confirm whether the understanding is correct?

    Best regards,

    imarin18

  2. Dear HTC support team,

    I'm writing this post to ask you to confirm the coordinate of gaze origin and direction.

    According to the following manual, the coordinate system is based on right-handed.

    image.png.b43d51b8eb823627ef04576f04a2baa2.png

     

    I checked the recorded data, follwoing the coordinate system, but it looks that the measured values are inverse, though my understanding might be wrong. For example, the follwoing data show the gaze origin and direction of right eye. As you can see, the gaze orign on z axis has negative value and that on x axis also has negative value. If we follow the right-handed coordinate system, these values should be positive, shouldn't they?

    image.png.7aafecaeb73db8c58a33eafc5f7d2c52.png

    image.png.cc93ce117f5230ddf8204d3344334d91.png

     

    In addition, it seems that the value of gaze direction is also invert. For instance, the following first picture shows the change of gaze direction on X axis when I move my eye to the right side. As shown in the figure, the value changes to negative direction, whereas the next figure of pupil position changes to positive direction.

    image.png.0b9022529f3aafc3efbe2ac6f7fad83e.png

    image.png.b0ec0769ee74475bcdd2e19da3fde91d.png

     

    It is appreciated if you can confirm the configuration of coordinate system. I'm sorry if my understanding is wrong.

    Thank you very much for your support.

     

    Best regards,

    imarin18

    @Corvus @Daniel_Y

  3. Dear @VibrantNebula

    Thank you very much for your reply and the explanation. I understood the conditions. I will ask Tobii if they are still supporting XR SDK for HTC VIVE Pro Eye. Regarding the privacy concern, I totally agree with you. Since the retinal images captured by IR camera include biometric information that could lead to identifying persons, we should be really careful of handling the data. I will check the conditions in my case.

    Best regards,

    imarin18

  4. Dear HTC support team,

     

    In relation to the time information of eye tracking device, would it be possible for you to share the eye tracker latency of HTC VIVE Pro Eye tracking device?

    Of the parameters that can be measured by VIVE Pro Eye, we have "timestamp" as described in the manual. Could you please explain what exactly this "timestamp" means? Specifically, I would like to know whether "timestamp" is the time exactly when eye movements are measured by the sensor. Or is the "timestamp" the time when the data of eye movements are stored on a laptop or an application? Or anything else?

     

    Thank you very much for the information you could provide.

    Best regards,
    imarin18

    image.png

    @Corvus @Daniel_Y @zzy

  5. Dear @wenjiec_shen

    Thank you very much for your response. I try to measure eye movements with using Unity. The figure above has the sampling point on x-axis and the sampling interval on y-axis in milliseconds. The sampling interval was calculated by ViveSR.anipal.Eye.EyeData_v2.timestamp that was recorded by VIVE Pro eye tracking device. However, as @Daniel_Y acknowledged above, the time stamp information was not correct, wasn't it? Thus, the graph I put above was also not correct. I'm sorry that I just now noticed this.

    I hope that the issue of time stamp will be resolved soon in the next release.

    Best regards,

    @imarin18

  6. Dear @Daniel_Y,

     

    I checked the data of timestamp with SR runtime 1.1.2.0 version. I observed that the value of time stamp was consistent for around 1.7 seconds after starting the measurement of eye movements. Then, it seemed that the time stamp was recorded properly. However, as you can see the attached graph, the sampling interval is not stable. It is understandable to see the interval fluctuates between 8 and 9 milliseconds, but the interval often goes up to around 16 milliseconds.

    Does it mean that the sampling is sometimes not performed exactly at 120Hz rate? Or is it because of the latency of calculation on computer?

     

    image.thumb.png.68d47b0fe0d4f847b1c5872bb9026d3e.png

     

    Thank you very much for your feedback you could provide.

     

    Best regards,

    Imarin

  7. Dear @Daniel_Y,

    Thank you very much for your reply.

    I use SRanipal SDK v1.1.0.1.

     

    I actually investigated further after my first inquiry. I understood that it would be possible to see the same frame sequence because the frame rate would be lower than eye tracking sampling rate. However, I do not know why the time stamp did not change.

     

    Speaking of sampling frequency, I observed that the sampling might not be stable and be lower than 120Hz for the initial 30 seconds, when I measured my eye movements on Unity for 2 minutes. The attached figure shows the sampling interval in milliseconds between each sample. As you can see, the interval for some inital samples is quite longer than the expected sampling interval (1/120Hz = 8.3 ms) and then the interval becomes stable at around 8.3 ms afterwards. I guess that some initialisation process is running for the initial 30 seconds, causing the larger intervals. Do you have any thoughts about the condition?

     

    Best regards,

    Imarin 

     

    Sampling_interval.png

  8. Dear Sir or Madam,

    I measured my eye movements at the sampling frequency of 120Hz on Unity platform. I recorded the data of time stamp, frame, and other eye parameters such as pupil diameter. The following is a part of my measurement data.

    time_stamp(us)       frame      pupil_diameter_L(mm)    pupil_diameter_R(mm)
    2515185                   46129     4.857666                            4.549805
    2515185                   46129     4.847290                            4.549103

    As you can see, while the time stamp and frame have the same values in two lines, the pupil diameter have different values. I guess that the eye data are properly measured at 120Hz samping frequency, whereas the data of time stamp and frame are probably read by another way (e.g. reading time and frame information from laptop or Unity time function). Could anyone please comment on if my understanding is correct?

     

    Best regards,

    Imarin
    @Daniel_Y @zzy

  9. Dear @VIVE_Jason_Lu,

     

    Thank you very much for your support and the information.

    Following your guideline above, I checked "Enable Eye Data Callback" and selected Version 2. The following are what I have found from my debugging.

    • Single eye data of VerboseData is measured properly if "Enable Eye Data Callback" is checked. If it is not checked, all the measured values are 0.
    • Regarding eye expression data, it looks that "eye_wide" is measured successfully, though "eye_frown" and "eye_squeeze" data can not be obtainted. These two parameters still show 0.
    • VerboseData is sampled at the frequency of 120Hz when callback function is used. However, SRanipal_Eye_v2 does not work in the callback function since it should be used in Unity main function?
    • Combined data of VerboseData are still not measured properly as you said they were not supported at this point.

    Could you please double confirm if you can get "eye_frown" and "eye_squeeze" data?

     

    Best regards,

    imarin

    @Daniel_Y

  10. Dear @VIVE_Jason_Lu,

     

    Thank you very much for sharing the helpful scripts!

    They worked successfully after changing two minor things. The version of SDK is 1.1.0.1.

    1. In sample_getdatathread.cs, SRanipal_Eye_API.GetEyeData needs to be used instead of SRanipal_Eye.GetEyeData.

    2. In sample_getdatathread.cs, we may need to add another counter in while loop. Otherwise, we can't go out the loop, causing Unity to freeze.

     

    Best regards,

    imarin18

  11. Hi @VIVE_Jason_Lu,

     

    Thank you very much for your reply and the guidance.

    The version of my SR_Runtime is 1.1.0.1. I used SRanipal_Eye_v2 (version two) on Unity 2019.2.5f1 to try to get the data of eye expression. However, when I used SRanipal_Eye_v2, the measured values of the other parameters (i.e. pupil diameter, eye positions, etc.) as well as eye expression in VerboseData were 0. On the other hand, when I used SRanipal_Eye (original version), I could observe the proper values of these other parameters.

    Could you please confirm whether SRanipal_Eye_v2 works properly?

    The following are the basic scripts I use to measure the values of  VerboseData.

     

    public ViveSR.anipal.Eye.EyeData_v2 eye_data = new ViveSR.anipal.Eye.EyeData_v2();

    ViveSR.anipal.Eye.SRanipal_Eye_API.GetEyeData(ref eye_data);

    ViveSR.anipal.Eye.SRanipal_Eye_v2.GetVerboseData(out vive.VerboseData verbose_data);

    pupil_diameter_L = verbose_data.left.pupil_diameter_mm;    // read pupil diameter of left eye.

     

    Thank you very much for your support.

     

    Best regards,

    imarin18

  12. I am trying to get the combined eye data: convergence_distance_validity and convergence_distance_mm on Unity.

    I use the following command to get the data, though the measured value is 0mm.

     

    ViveSR.anipal.Eye.GetVerboseData(out VerboseData data);

    Debug.Log(data.combined.convergence_distance_mm);

     

    Are the combined data available? Or do I make mistakes to capture the data?

     

     

     

     

     

    image.png

  13. I currently develop VR designs on Unity and use SRanipal SDK for eye tracking.

    Would it be possible for you to provide the manual/guideline of SRanipal SDK? For example, the following are the codes to output the data of pupil dilation. I would like to know the information of parameters that we can use.

     

    EyeData eyeData = new EyeData();

    SRanipal_Eye.GetEyeData(ref eyeData);

    Debug.Log("Left pupil: " + eyeData.verbose_data.left.pupil_diameter_mm);

     

    Thank you very much for the guidance you could provide.

×
×
  • Create New...