sure! please use the link: https://drive.google.com/file/d/1QOew6OSJT9ox15CMA_sFOrFe22yV_TNG/view?usp=sharing many thanks!
Hi @user-185d95 π ! I had a look at your recording, and I believe that the issue may not stem from the fixation detector itself, but rather with the underlying pupil detection data.
HMD Eyes library in Pupil Capture includes an additional gaze pipeline that uses the pye3d model-based approach. This pipeline outputs gaze data translated into VR coordinates rather than the scene camera but relies on the 3D detector and proper pupil detection confidence.
In your recording, there are several moments where the 3D pupil detection either fails or jumps (see screenshots). These detection issues introduce noise and jitter into the gaze signal, which in turn impacts the quality of the derived fixations.
When using HMD Eyes (Core Add-ons for VR), the camera placement most of the times can't be optimized for data capture, so it's important to fine-tune the detection settings. Here are few things you can try:
These adjustments should reduce noise in the pupil signal, which will improve gaze accuracy during calibrationβand ultimately result in more reliable fixations.
i activated the world camera even if it is not ideal but i wanted to see how it looked like>. why it stays on the screen? hoz=w it is supposed to end the calibraion?
Even if you do enable it in the software, the VR-Addons do not have a scene camera. By enabling and selecting an eye camera you might end up with issues like that one.
the reason why i donot want the world camera is because it keeps disconnecting and reconnecting, i think there is an inerference with the other two camera
@user-c39646! Moving it here, since you are having a Core VR-Addon rather than a normal Pupil Core. These Add-ons do not have scene camera, but rather use the virtual camera.
It sounds to me like you're diving straight into advanced use cases (programmatically running things) β which is exciting! But if you're planning to use it in an XR context (e.g. with Unity), Iβd strongly recommend starting with the basics first.
Check out the HMD Eyes documentation to get familiar with how to connect and use it in this specific setup.
Calibration works a bit differently in this context, and youβll find that there are already Unity examples available that do exactly what you're aiming for (starting the calibration in VR). Starting there will save you time and help avoid a lot of confusion down the line.
ok but i do not want to use Unity, can't i use simply python?
so i do not understand sorry. i am obliged to use the world headset camera to do calibration?
So if I understand correctly, you're using a VR Add-on but prefer not to use Unity β is that right?
While this is possible, it is more involved and does come with far more complexity.
Calibration in Pupil Capture involves identifying calibration targets and correlating their positions with the pupil's position. Typically, this is done in the scene camera coordinates, which is why the standard Pupil Core setup requires a scene camera.
However, the VR Add-ons donβt include a scene camera. Instead, they rely on a special calibration routine that uses target positions VR coordinate space. Our Unity library handles the presentation of these stimuli and forwards their position to Unity for you.
If you want to skip Unity, you'll need to build a custom calibration method that replicates this process β essentially handling target presentation and coordinate mapping on your own.
and why it had these connecting reconnecting problems?
You are having this issue because you enabled "Scene/World camera" in the settings and selected one of the eye cameras. Now both the scene camera window and the eye camera are trying to access the streams at the same time. Simply disable the world camera.
and why it had these connecting reconnecting problems?
how can i stop it?
ok thank you> i have two more questions
Sure, you should be able to select Activate camera,, but if not, could you click on the Gear icon (General Settings) and "Restart with defaults"?
For pupil size alone, you do not need to calibrate.
ok thanks > it worked. i am now modifying your script and deleting the part where you d the calibration> few questions. When it saves, it does it as if i was running everyhing from the pupil capture interface? What it does the 'Clean up' part of the script? does this script work even if i am using it from aother computer or do i have to change the IP adress (but of course connected to the same internet network)? i attached you here the script modified
Hi @user-c39646 , I'll respond point-by-point:
stops
), it actually was doing everything from the Pupil Capture interface; not just "as if" it were doing everything from that interface. It is like a remote control.clean up
stage is usually where you close resources that are open and free up used memory. It is a recommended practice for leaving your computer in a well-maintained state, so that other programs are not disturbed.I'd recommend reviewing this part of the Documentation for more clarification.