πŸ’» software-dev


user-d1efa8 10 August, 2021, 18:45:43

i noticed that i keep getting "no eye data available" warning in unity i think that has to do with the fact that I keep getting repeat points from the eyetracker...anyone have any idea what might cause this?

user-ac21fb 12 August, 2021, 20:36:46

How would I know what the best calibration settings are? I often get jumpy data and am trying to understand what the best settings are? For reference I am trying to record myself reading a magazine. Appreciate any help!

user-d1efa8 13 August, 2021, 22:04:38

Which pupil product are you using

user-b25f65 15 August, 2021, 02:42:11

Hi, I am having problem with installing pye3d in my environment, to be specific this line in the error message stood out to me:

C:/Users/xxx/AppData/Local/Temp/pip-install-h7doemcv/pye3d_ca3738a1ddbc4b878ee076087d697d91/_skbuild/win32-3.8/cmake-build/projections.cxx:203:41: warning: division by zero [-Wdiv-by-zero]
       enum { __pyx_check_sizeof_voidp = 1 / (int)(SIZEOF_VOID_P == sizeof(void*)) };

The full error message is here: https://pastebin.com/DtJvHNC7

user-b62d99 18 August, 2021, 17:04:06

Hi, is there a way to access the eye-tracking positions in the raw invisible folders without putting them into the pupil player first?

papr 23 August, 2021, 08:42:53

Yes, you can access the files using e.g. numpy and python. The format is documented here https://docs.google.com/spreadsheets/d/1e1Xc1FoQiyf_ZHkSUnVdkVjdIanOdzP0dgJdJgt0QZg/edit#gid=254480793

papr 23 August, 2021, 14:33:01

@user-3cff0d @user-b14f98 I started building a script that loads pupil and reference data and runs a calibration using one of the available gazers https://github.com/papr/pupil-core-pipeline

user-3cff0d 27 August, 2021, 19:02:06

Excellent!! I'm going to see if I can get the pupil detection pipeline I whipped up a while back to work with that, since it looks like pupil_detection.py is currently blank

user-3cff0d 27 August, 2021, 19:04:27

What could you tell me about the pupil.pldata file that I'm assuming the PL pupil detector system outputs? Is there a funciton I can import and call once I've gotten the pupil ellipses to generate that file?

user-3cff0d 27 August, 2021, 20:09:33

After reading the code, I found out that each detected pupil frame's datum is saved to a big file, "offline_pupil.pldata", once the "file_source.video_finished" event happens. This seems to only happen after offline pupil detection. (line 540 of pupil_src/shared_modules/pupil_producers.py)

Is "pupil.pldata" the same as "offline_pupil.pldata", only obtained at the time of data collection rather than offline? If so, is it possible that "offline_data/offline_pupil.pldata" is the file I want rather than "pupil.pldata", since all the data we want to process is done via offline pupil detection?

papr 30 August, 2021, 20:16:34

I think they should be interchangeable, but I am not 100% certain. I would recommend giving it a try.

user-3cff0d 30 August, 2021, 19:42:46

Hi @papr , I have a couple of questions after trying to run that script>

First, in the videos I'm attempting to run it on, the timestamps in the calibration points appear to be well before any timestamps in the pupil datums. This is resulting in a NotEnoughDataError exception in the GazerBase.fit_on_calib_data() method in gazer_base.py, since all of the calibration timestamps are very distant from the pupil timestamps. To give exact numbers, the pupil datums have timestamps that range from 702362.0428299999 to 702763.118501, whereas the calibration points have timestamps that range from 702322.8024246271 to 702347.4913665827. I've tried re-detecting the pupils and re-doing the calibration points within Pupil Player, but nothing has fixed it thus far. Do you know what might be causing it?

Secondly, in the available_mapping_methods() function in the src/core/pipeline.py file in the above script, it calls the method gaze_mapping.user_selectable_gazer_classes_posthoc() from the Pupil Labs Core folder shared_modules/gaze_mapping. This package does not contain any function called "user_selectable_gazer_classes_posthoc()", so I replaced it with "user_selectable_gazer_classes()" and it seems to work fine. Am I missing something, or is that function supposed to be missing from that package?

Thanks!

papr 30 August, 2021, 20:18:02

I noticed the time offset, too. I am not sure why the recording of the pupil data would start with such a delay. If post-hoc detection does not fix the issue, it means that the eye videos started recording with a delay, too.

If there is a time sync issue, this would also explain why the calibration was so bad. πŸ™‚

papr 30 August, 2021, 20:15:59

in order for the function to become available, you need to have this branch checked out https://github.com/pupil-labs/pupil/tree/post-hoc-vr-gazer

user-3cff0d 30 August, 2021, 21:08:34

I'll give this a shot, thanks. It's interesting that there are no visual errors in the graphs in PL Player if the eye timestamps are delayed by that much, wouldn't there be gaps at (in this case) the beginning of the graphs that show confidence and pupil diameter?

papr 30 August, 2021, 21:09:23

yes, they should ~~be shifted~~ start further to the right if the recording start was delayed.

user-3cff0d 30 August, 2021, 21:13:36

They are not, however. Here's what the first part of the recording looks like, including where the calibration points are

Chat image

papr 30 August, 2021, 21:14:14

This looks correct. This should give you matching ref and pupil data.

papr 30 August, 2021, 21:15:11

Make sure to close Player (flushes detection cache to disk) and load the data from offline_data/offline_pupil.pldata

user-3cff0d 30 August, 2021, 21:15:12

It doesn't, unfortunately. The latest calibration timestamp is 702347.4913665827 and the earliest pupil timestamp is 702362.0428299999

user-3cff0d 30 August, 2021, 21:16:39

I've closed Player multiple times throughout, and I haven't changed the final line of the .env file described in the readme.md of your script

REF_DATA_LOCATION=${RECORDING_LOCATION}/offline_data/reference_locations.msgpack
papr 30 August, 2021, 21:17:21

That is correct. You need to change the location from which the pupil data is loaded

user-3cff0d 30 August, 2021, 21:18:03

Ohhhh you're right

user-3cff0d 30 August, 2021, 21:18:11

It's reading it from pupil.pldata

user-3cff0d 30 August, 2021, 21:18:28

That's funny I pointed it out a few days ago then completely forgot I did so

papr 30 August, 2021, 21:18:39

haha, true πŸ˜„

papr 30 August, 2021, 21:23:10

@user-3cff0d I am off for tonight✌️ let us know how it works when reading the post-hoc data

user-3cff0d 30 August, 2021, 21:24:35

Will do! Thanks for the help, as usual \:)

End of August archive