πŸ’» software-dev


user-cd03b7 13 January, 2023, 05:50:22

Hey guys, working on some blink rate code in πŸ•Ά invisible , has anyone produced something to plot/determine when in a recording the highest number of blinks occurred?

papr 13 January, 2023, 05:55:06

Hey, are you basing your work on Cloud's blink detection output?

user-cd03b7 13 January, 2023, 05:50:39

No way I missed a feature in Pupil Cloud, right?

user-cd03b7 13 January, 2023, 05:56:25

Yeah, the code is pulling from a raw data export - it's using blinks.csv and events.csv. Most recent developments are in #1047595857610022972 , but I can't for the life of me get the code that either of us made to plot the way I need it to

user-312008 16 January, 2023, 11:00:04

hey hey, I am trying to install and test piupil core on macos ventura. the problem is that the system sees your hardware as a keyboard and I have no clue how to change this. is there perhaps a plug in or other solution that can help?

papr 16 January, 2023, 11:01:15

Hey, that is new to me. How does this "see as keyboard" behaviour look like/show?

user-312008 16 January, 2023, 11:11:03

when plugged in, a driver installation window pops up with a message similar to 'we're trying to install your keyboard'.

and when I turn the program on, alternating messages pop up (see screenshot)

Chat image

papr 16 January, 2023, 11:12:19

Please simply close the "install keyboard" window. On macOS, Capture needs to run with admin rights to access the camera. See https://github.com/pupil-labs/pupil/issues/2240 for details

user-312008 16 January, 2023, 11:13:29

aahhhh ok! thank you very much for super fast respond

user-312008 16 January, 2023, 12:00:30

Hey, one more question, thanks to your instructions all the cameras are on, now I have problems with the calibration of the world (I went through the Getting Started section). I believe it is Gazer3D that is causing this problem:

WORLD: Calibration Failed! WORLD: Not sufficient pupil data available. WORLD: Plugin Gazer3D failed to initialize

papr 16 January, 2023, 12:10:51

Do you have the eye windows opened? Without them, pupil detection is not running and there wouldn't be any pupil data, explaining the error above.

user-312008 16 January, 2023, 12:21:19

if you mean pupil capture eye 0 and pupil capture eye 1, then yes. also process of calibration seems to be fine, because im getting the green dots - the error above pops up right after

user-312008 16 January, 2023, 12:23:15

ok ok! got it! sorry

papr 16 January, 2023, 12:23:40

Please see also the best practices of fitting the 3d eye model (before the calibration) https://docs.pupil-labs.com/core/best-practices/#pye3d-model

user-e29e0d 18 January, 2023, 17:46:43

Hello everyone, I wanted to use Pupil_apriltags to detect Apriltags in real-time for two Pupil invisible video streams at the same time. However, I encountered a Segmentation Fault. I was curious as to what was causing the problem. Is Pupil_apriltags using just a single thread to detect tags in frames?

papr 18 January, 2023, 19:01:36

Hey, yes, unfortunately the module is not thread safe

user-eeecc7 19 January, 2023, 03:29:47

Hey @papr What does the eye0_lookup.npy used for? In case it is not available in a certain recording, is there any way of restoring it?

papr 19 January, 2023, 06:10:17

It is a cache file that helps Pupil Player seek efficiently. Player generates it based on the timestamp files if it is not present.

user-eeecc7 20 January, 2023, 00:36:34

Thanks

user-e29e0d 19 January, 2023, 15:35:09

Is there any solution to solve the issue? at the moment, i'm using mutex but i would like to know your idea.

papr 19 January, 2023, 15:37:43

A typical approach would be to create multiprocessing Pool https://docs.python.org/3.8/library/multiprocessing.html#multiprocessing.pool.Pool that executes the detection function. Make sure to make the import part of the executed function. Do not import it globally.

user-50567f 24 January, 2023, 20:12:49

Hello @papr

I added surfaces markers to my monitors display and I defined a surface with the resolution of my monitor. How I map those coordinated to a screenshot taken on that monitor from surfaces.pltdata file?

Thanks

user-50567f 24 January, 2023, 20:51:32

That worked! Thanks @papr

user-50567f 24 January, 2023, 20:52:01

Is it possible to stream 'x_scaled' and 'y_scaled' through LSL?

user-06f807 26 January, 2023, 16:37:57

Hi, in my research environment I'm not allowed to use the Pupil Cloud. So I would like to create a pipeline that creates a recording, does the fixation extraction via Pupil code, then does further processing with my own code. As far as I understand if you want to have the Invisible recordings on your computer you should use Pupil Capture instead of the Companion App to do the recordings. But using Pupil Capture I can't automatically start and stop recordings via the realtime API. Any ideas how to resolve this?

papr 26 January, 2023, 17:46:15

Hey, unfortunately, due to the eye camera position, Pupil Invisible glasses are not meant to be used with the Pupil Core pipeline. The pupil detection just does not work well with it. πŸ˜•

user-06f807 26 January, 2023, 18:25:17

Got it, then I'm only able to do recordings via Companion and there is currently no automatable way to get recordings from the companion device to a computer. Would it be feasible to create API methods to export recordings via realtime API? Or maybe event transfer the recording via API?

papr 26 January, 2023, 18:27:29

You could record the realtime streamed data yourself. But I do not recommend it. There might be data loss due to network bandwidth issues. Unfortunately, there is no good way to automate the local export of recordings.

user-6d4b32 26 January, 2023, 18:32:14

Hello. I'm working on some research which requires me to read data from the surface tracker plugin API. I have a few questions surrounding the rate at which data comes in and the amount of data. Specifically, I need to check whether or not the user is looking at a surface. In each message, there are 6-10 boolean values that convey this. Is there any way to standardize the number of booleans per message? Furthermore, the rate at which the data comes in seems pretty variable. Is there any way to standardize the rate at which messages are sent? Finally, is there any way to speed up the rate of messages or is the best option using a computer with more performance power?

user-06f807 26 January, 2023, 18:42:46

Okay, also it is only the scene video as far as I know (didnt test it) that is streamed. To make the Export function of the companion app available over the realtime-API is also not possible for the moment right? Then I could track changes in the "Pupil Invisible Export" folder of the comp device

papr 26 January, 2023, 18:45:37

That won't be possible. Instead we are working towards making Cloud available for more use cases, even those with extra ordinary data privacy requirements.

user-06f807 26 January, 2023, 18:50:15

Okay, thanks for your inputπŸ‘

user-d381c3 27 January, 2023, 16:40:30

Hello, could you help me? I'm doing the scan path basically using the pupil labs example but I have a problem that the generated plots always end up centered on the image

user-d381c3 27 January, 2023, 16:40:42

Chat image

user-d381c3 27 January, 2023, 16:41:13

Chat image

papr 27 January, 2023, 17:02:54

Hey, which file do you read the data from?

papr 27 January, 2023, 17:06:37

Also, not sure where I read your questions, but you will need to multiply the normalized surface positions by the image size to get the corresponding Pixel locations

user-d381c3 27 January, 2023, 17:37:21

I'm reading from fixations, I'm already multiplying by the size of the image

papr 28 January, 2023, 13:47:25

Fixations.csv are fixations in scene camera coordinates, not surface coordinates. Please check the surfaces export folder for surface-mapped data

user-d381c3 28 January, 2023, 15:05:53

So is it fixation_on_surfaces or gaze pozitions on surface?

papr 28 January, 2023, 15:51:54

Gaze are all samples, fixations those that belong to a fixation. But yes, those are the correct files

End of January archive