invisible


Year

user-4bc389 01 April, 2021, 06:50:10

@marc Hello, I don't quite understand the meaning of the following settings. What is the appropriate value? thank you. Maximum Dispersion; Minimum Duration; Maximum Duration

nmt 01 April, 2021, 07:54:27

@user-4bc389 Are you using this with Pupil Invisible recordings? Those settings are for a dispersion-based fixation filter that we use for Pupil Core. It is not yet compatible with Pupil Invisible. We are actively working on providing fixation detection for Pupil Invisible, but do not have a release date just yet.

user-4bc389 01 April, 2021, 08:00:47

@nmt I see. I'm using pupil invisible recordings to analyze in player and see this setting, so I'm a little confused. Thank you for your reminding

papr 01 April, 2021, 08:04:56

Hey, we have received similar feedback in the past. Starting with version v3.2, Pupil Player will only enable plugins that are suitable for the active recording type.

You can download the latest software release here https://github.com/pupil-labs/pupil/releases/latest

nmt 01 April, 2021, 08:01:43

What version of Player do you have installed?

user-4bc389 01 April, 2021, 08:02:11

@nmt Pupil Player v2.6.19

user-4bc389 01 April, 2021, 08:06:36

@papr thank you

user-5543ca 01 April, 2021, 15:27:48

Hello! how can I access the IMU+Accelerometer data from a recording made on Invisible?

marc 01 April, 2021, 15:36:34

Hi @user-5543ca! You have a couple of options:

1) The easiest: In our upcoming cloud release next week it will become possible to download IMU data in CSV format from cloud. You could wait for that.

2) You could read the raw binary data: The IMU data is stored in the extimu ps<part number>.raw files. The according timestamps are in the .time files of similar name. See the following gist on how to open those files in Python: https://gist.github.com/marc-tonsen/d230301c6043c4f020afeed2cc1f51fe

3) Use a custom plugin for Pupil Player: This plugin visualizes IMU data in Player's timeline and adds the IMU data to the export (in CSV format): https://gist.github.com/N-M-T/ec8071bd211db287f4879e0b48874505

user-5543ca 01 April, 2021, 15:37:19

Thanks a lot, Marc! Highly appreciate your quick response.

marc 01 April, 2021, 15:37:36

Your welcome! 👍 Let me know if you have further questions!

user-5543ca 01 April, 2021, 15:42:46

I would like to go with option "3) Use a custom plugin for Pupil Player: This plugin visualizes IMU data in Player's timeline and adds the IMU data to the export (in CSV format):"

user-5543ca 01 April, 2021, 15:43:12

Could you tell me how I can add the plugin to Player? (I'm on windows now)

user-5543ca 01 April, 2021, 15:43:41

Thanks!

user-16e6e3 06 April, 2021, 10:01:02

Hi Pupil team! We would like to use the Invisible glasses for another type of task based on a study by Kaseci et al. (2014): https://tvst.arvojournals.org/article.aspx?articleid=2120946. There, subjects had to walk through a supermarket aisle and gather marked objects on both sides of the aisle. We'd like to do a similar task, but in a library (easier to access currently) and with subjects wearing the Insivible. We are primarily interested in the left-right exploration. I have 2 questions on this: 1. Would it be possible to do any type of surface tracking and/or head position tracking with this setup? 2. If gaze data without surface tracking is all we can get from this, how could we infer overall left-right exploration from it, because if I understand right each gaze point will refer to gaze position on the scene image at a specific time (i.e. in a specific frame)? Your input would be much appreciated!

Chat image

marc 06 April, 2021, 10:32:51

Hi @user-16e6e3! Your are correct, the gaze data is initially available only in scene camera coordinates and mapping/aggregating this data on a real-world object (e.g. a shelf) is a separate step in processing. There are different options for you on how to do this:

1) Marker Mapper in Pupil Cloud (or Surface Tracker in Pupil Player): Using this enrichment you can track surfaces in the scene video and automatically map gaze data onto the surface. In your case you could track the front surface of the relevant shelves and map gaze data onto them, which would give you gaze data in "shelf coordinates". This enrichment does however require you to place markers on the shelves that facilitate the tracking, which is a problem for some applications.

2) Reference Image Mapper in Pupil Cloud: This is a new feature we will release this week. It is similar to the Marker Mapper, but it does not require Markers. Instead, you would need to take a picture of the shelf and the enrichment would automatically map gaze data onto this image. This yields gaze data in coordinates of the reference image. This would require you to get the entire shelf on a single image or you'd have to take multiple images.

3) Head Pose Tracker in Pupil Player: This plugin is also based on markers. It is tracking the head-pose in 3D, but it does not directly tell you how gaze falls onto objects in this 3D world. This would only be interesting for you if you want to also track how subjects are moving through the 3D space and maybe how they switch between different shelves. It is not easy to map gaze onto individual shelves using this.

user-16e6e3 06 April, 2021, 10:39:49

Thanks @marc ! Looking forward to the Reference Image Mapper 🙂

wrp 09 April, 2021, 04:25:32

Released! Check out announce for more details 😸

user-94f03a 09 April, 2021, 06:48:11

great stuff! how do we activate this? it does not show in my account

wrp 09 April, 2021, 07:08:21

@user-94f03a can you try a hard refresh (cmd + shift + r)? You should be able to see new enrichments when you click "new enrichment"

user-94f03a 09 April, 2021, 07:15:24

thanks @wrp it works now

user-4bc389 10 April, 2021, 15:13:21

@marc I dragged the log file into the player, but the fixation detector and blink detector did not appear in the plug-in management. This is why, the player version is 3.2.20,thank you.

user-17da3a 11 April, 2021, 20:42:24

Hi guys, I have a question regarding the newly released reference image mapper. I was trying to figure out how it works and recorded 3 objects separately, a small shelf, a closet as well as a paused TV screen. I did the whole procedure as noted on Cloud, recorded the object from various angels without wearing the glasses for a duration of almost 1 minute and at the second step uploaded a .jpg file from the object. Unfortunately, none of the enrichments could be computed and I received an error mentioning please call Pupil lab. I would be thankful if you let me know what the source of problem could be? Thanks a lot!

marc 12 April, 2021, 07:58:16

Hi @user-17da3a! Your approach sounds fine and the error message probably hints more towards an internal error. I'll check with our engineering team and get back to you when I know more!

marc 12 April, 2021, 12:53:24

Hey @user-17da3a! Did I understand you correctly that the error message you get is the one that asks you to contact [email removed] for help? If so, then the error you see was due to a lack of support for reference images that feature an alpha channel (i.e. PNG files can include an "alpha channel", which contains information on transparency in the image). This support has in the mean time been added. Could you try recreating the enrichments you made and compute them again?

user-17da3a 12 April, 2021, 13:07:06

Hi @marc! Thanks, I just tried it again. I still receive the error to contact Pupil labs as you can see attached. But the point is, after some time, I see another error on same enrichment says please use another image or recording.

Chat image

marc 12 April, 2021, 13:16:31

@user-17da3a thanks for trying again! In that case, this would mean that the algorithm could not successfully build a model based on your scanning video and reference image. Could you maybe share the reference images you have used with me in a DM, so I can get an idea of how the scene looked like?

user-4bc389 14 April, 2021, 09:27:05

Hi @marc When I analyzed the data recorded by invisible on the cloud platform, I found that the exported data has no fixation time. When will this function go online? After all, this data is very important, thank you

marc 14 April, 2021, 14:21:17

Hi @user-4bc389! We are actively working on a fixation detector for Pupil Invisible and are amking progress on that, but I can not give you a precise release date for that yet. It will be more than 2 months from now.

user-b40ac0 14 April, 2021, 10:17:45

Hello everyone, is it possible to use the invisible glasses in a unity mobile application. ? I don't intend to particularly use AR features but rather connect them to a unity android app and receive captured images.

marc 14 April, 2021, 14:19:29

Hi @user-b40ac0! All the data Pupil Invisible generates (including video and gaze data) can be accessed in real-time from the local network. Thus, you Unity application could receive that data if the respective host is on the same wifi as the Companion device. See the documentation here for details: https://docs.pupil-labs.com/developer/invisible/#network-api

user-82e5bd 14 April, 2021, 12:21:43

Hi i have a problem with putting the video into the pupil player. After i filmed it and download it from the cloud and put it into the pupil player i get an error.

papr 14 April, 2021, 12:22:09

Hi, could you let us know the exact error?

user-82e5bd 14 April, 2021, 12:23:39

message.txt

user-82e5bd 14 April, 2021, 12:24:17

but on the phone it is a good video so it seems to be a problem in my computer

papr 14 April, 2021, 12:24:54

Do I understand it correctly, that the issue is that the scene video is not showing?

user-82e5bd 14 April, 2021, 12:25:07

yes it is just a grey screen

papr 14 April, 2021, 12:26:11

And is the video being played back correctly in cloud?

user-82e5bd 14 April, 2021, 12:26:46

yes there is no problem there

papr 14 April, 2021, 12:28:05

Can you delete the folder, unzip the downloaded file again, and share a screenshot of the folder content with us (before opening it in Pupil Player)

user-82e5bd 14 April, 2021, 12:29:36

Chat image

papr 14 April, 2021, 12:30:42

ok, perfect, so the download includes the scene video. 👍 Could you now open the recording folder in Player and make another screenshot of the folder content once the main Player window shows?

user-82e5bd 14 April, 2021, 12:31:56

now it dont open it

papr 14 April, 2021, 12:33:49

The first time, do you get an explicit error or does just nothing happen? Do you stop Pupil ~~~Capture~~ Player and restart it again?

user-82e5bd 14 April, 2021, 12:32:48

the second time it does

user-82e5bd 14 April, 2021, 12:32:59

however it is the grey screen again

user-82e5bd 14 April, 2021, 12:33:10

Chat image

user-82e5bd 14 April, 2021, 12:33:36

Chat image

user-82e5bd 14 April, 2021, 12:34:28

i use pupil player, it doesnt give an error just shut it down

user-82e5bd 14 April, 2021, 12:34:55

Chat image

papr 14 April, 2021, 12:35:11

By shut down, do you mean that all windows close, including the terminal-like window?

papr 14 April, 2021, 12:35:25

Or does just the drop-recording-here window close?

user-82e5bd 14 April, 2021, 12:36:05

it shut down the pupil player and the black sreen with all the error information

papr 14 April, 2021, 12:38:08

The issue is, that the recording is only processed partially. You can see in the second screenshot that some videos where processed, e.g. the eye videos; but the scene video is untouched. In the second run, Player assumes the recording to be processed correctly but cannot find the scene video which is why it shows the gray background instead.

To solve this issue, we need to find out what causes the error during processing.

Does the black screen close, too?

user-82e5bd 14 April, 2021, 12:38:05

and if i open a old video it still works

user-82e5bd 14 April, 2021, 12:38:50

yes the black screen does shut down also, both screens

papr 14 April, 2021, 12:41:31

ok, great. In this case, could you please perform these steps: 1. Delete the folder 2. Unzip the original download file again 3. Open it in Player; wait for all windows to close 4. Do not start Player again 5. In the File Explorer, go to Home directory -> pupil_capture_settings (You can also search for the pupil_capture_settings folder) 6. Share the included player.log file with us. It contains the same information as the black screen did before closing.

user-82e5bd 14 April, 2021, 12:41:07

But that is only the first time the second time i open it is just a grey screen

user-82e5bd 14 April, 2021, 12:43:33

Chat image

papr 14 April, 2021, 12:46:36

ok, perfect. As you can see, there is a permission error while the software attempts to rename the scene video file. Can you confirm that you did not open the scene video in a program like Media Player before opening the extracted recording?

user-82e5bd 14 April, 2021, 12:47:20

i can confirm that

user-82e5bd 14 April, 2021, 12:48:48

only checked it in the cloud and on the phone

papr 14 April, 2021, 12:52:54

@user-82e5bd Could you share the downloaded zip file with [email removed] such that we can try to reproduce the issue? In the mean time, could you try extracting the recording to a different folder, e.g. your download folder, and opening the recording from there?

user-82e5bd 14 April, 2021, 13:07:56

still doesnt work

user-82e5bd 14 April, 2021, 12:53:36

of course

user-82e5bd 14 April, 2021, 12:53:54

i will send the two files that gave a problem

user-82e5bd 14 April, 2021, 13:08:22

it will be a wetransfer message

user-82e5bd 14 April, 2021, 13:27:38

could it be the case that it is the problem that i use another pupil invisible

papr 14 April, 2021, 13:29:01

No, my current theory is that another program is accessing the file, e.g. a anti-virus software, which causes the permission error when attempting to rename it.

user-82e5bd 14 April, 2021, 13:28:58

because the other video`s that i made were from another gaze tracker. It is still uploading the email

user-82e5bd 14 April, 2021, 13:34:09

i send the file

papr 14 April, 2021, 13:55:49

I was able to open the recording without issue. I fear this issue is related to your local computer setup. 😕 This makes it very difficult for me to tell what causes it. As mentioned above, an other software like an ani-virus software scanning the file might be at fault.

user-82e5bd 14 April, 2021, 13:59:05

shut down my avast works

user-82e5bd 14 April, 2021, 13:59:22

so thanks a lot!!!

user-b40ac0 14 April, 2021, 14:23:43

Since invisible is connected with a usb to the mobile device, could I somehow collect the captured images without wifi connection ?

marc 14 April, 2021, 14:25:20

Another app that runs on the same Companion phone could still access all the data via localhost

marc 14 April, 2021, 14:25:39

So that would be the same thing just through localhost rather than a wifi

marc 14 April, 2021, 14:26:20

You are looking for access in real-time, right?

user-b40ac0 14 April, 2021, 14:28:39

not exactly , also loading captured images on demand will work for me. What I am trying to achieve is to connect the glasses with an android app (made with unity) and have the user, capture images (by interacting with the mobile app) and then have the app load that image in order to run some computer vision tasks.

marc 14 April, 2021, 14:33:06

I see! The two possible ways of accessing the data are

1) in real-time via the network API as mentioned above

2) post-hoc through recordings. Recordings are saved to the Android file system and can be accessed from other apps. (The recommended workflow is to export the recordings to an export folder which requires UI interaction in the Companion app though). Recordings need to have finished completely to be accessible in this way.

user-b40ac0 14 April, 2021, 14:41:54

Alright thanks for the response and clarifications. Just one last question concerning the first approach. In order for the android app to collect the real-time recordings it needs to be connected to the same local host as the glasses. If that is the case, then the android phone's wifi will not participate in the communication process, right ?. In other words, I would be able to connect my phone's wifi to available routers for www access.

papr 14 April, 2021, 14:46:39

Yes, that should be correct. But we have never tested it explicitly.

user-82e5bd 14 April, 2021, 16:27:15

Hi there, well now i have a new problem, every time i want to export a video the pupil players crashis

papr 14 April, 2021, 16:29:08

Could you please share the player.log file again, after reproducing the crash?

user-82e5bd 14 April, 2021, 16:29:51

Chat image

user-82e5bd 14 April, 2021, 16:33:22

message.txt

papr 14 April, 2021, 16:35:15

Thanks, this is a permission error again (i.e. it is specific to your setup). Did you turn on the anti-virus back on?

user-82e5bd 14 April, 2021, 16:36:48

Wow problem solved

papr 14 April, 2021, 16:41:27

I am very sorry, that there seem to be so many compatibilities issues between your anti-virus and the Pupil Core software. Our software should definitively be more resilient against permission errors. Nonetheless, it looks like even if the software did not crash, the export would not be working as expected. Usually, anti-virus software has the possibility to mark other software as trust-worthy. Maybe this is possible for your software as well. If this is the case, I recommend configuring Pupil Player as trust-worthy to avoid any future incompatibilities.

user-17da3a 17 April, 2021, 11:00:04

Hi guys! I have a question regarding surface definition in Pupil Player. If I keep the width and height of the surface on default (1.0*1.0), does that mean the surface is quadratic? because our surface should be representation of a rectangular plain. Thanks!

marc 19 April, 2021, 07:55:14

Hey @user-17da3a! Independent of the size you set there you will always also get mapped gaze in normalized coordinates where the bottom left corner of the surface is (0,0) and the top right one is (1,1). You can always use those normalized coordinates and scale them to the unit you want to use no matter what the aspect ratio of your surface is. Setting the height and width in Player is a shortcut to do that as the scaled output will be available additionally. Besides that, the surface size is only used for calculating the binning of the heatmap, where the aspect ratio is used to ensure square bins.

user-fb5b59 19 April, 2021, 08:11:43

Is it possible to use the PupilInvisible via a created WLAN Hotspot? I created one from my computer, the mobile device is connected, but die PupilInvisible is not recognized. Is it necessary to use a router?

marc 19 April, 2021, 08:14:59

This should be working. We have run a similar setup in the past. Could some sort of anti-virus software on the computer potentially be blocking the communication?

user-fb5b59 19 April, 2021, 08:18:01

I guess that out WLAN and LAN networks are "divided", so they are running on different subnetworks...this might cause the problem. I will check this, thanks for your answer

user-057596 20 April, 2021, 13:08:43

Hi, firstly hope everyone is safe and well? As our research is predominately in medical education and medical technology as you can imagine we haven’t been able to get access since the start of the pandemic but this now staring to change. Therefore we are behind the developments as regarding updates etc for Invisible and are now in the process of catching up. At the beginning of last year there was a messaging on here saying not to update the Android operating system of the Invisible mobile phone as this could affect the operation of Invisible software is this still the case? Also is there any other issues we should know about before updating the Invisible software? Thanks Gary

marc 20 April, 2021, 13:53:35

Hi @user-057596! We are all doing pretty well, hope you do too! I am glad to hear that things are starting to pick up again in your domain! Regarding your questions, there are no known issues in the current version of the Companion app and we do recommend updating to the newest app version for the highest stability.

Regarding the Android version it depends on the companion phone you are using. The following combinations are supported: OnePlus 6: Android 8 and 9 OnePlus 8: Android 11

Android 10 contains a USB bug which prevents the app from connecting to the cameras and is thus not compatible.

user-057596 20 April, 2021, 14:10:33

Thanks Marc glad hear your doing well.

user-94f03a 21 April, 2021, 07:02:42

Hi, a quick question for the Pupil team: if I understand correct, it used to be necessary to upload to the pupil cloud (and then download to analyse in Pupil Player or otherwise) because the gaze was 60 instead of 200Hz. With the new export feature in the Pupil Companion this is addressed? i.e the export is 200Hz? - thanks! btw its great you implemented this feature

papr 21 April, 2021, 07:04:57

Hi, unfortunately not. You still need to upload your recordings to Pupil Cloud for a densified 200 Hz gaze signal. The Pupil Invisible Companion export feature has been added to ensure data format consistency.

user-94f03a 21 April, 2021, 07:06:25

I see, so this would be 60Hz or so?

user-94f03a 21 April, 2021, 07:06:56

is there a timeline for fixation detection etc with Pupil data or is this not going to be implemented?

wrp 21 April, 2021, 07:08:57

Fixations for Pupil Invisible data - in progress; no time estimate to share currently.

wrp 21 April, 2021, 07:10:25

Gaze data on OnePlus8 is ~66Hz. For OnePlus6 companion devices gaze data is ~55Hz

user-94f03a 21 April, 2021, 07:13:19

thanks @wrp!

user-94f03a 21 April, 2021, 07:14:51

Hi everyone, A general question: what software do people use to present and synchronise desktop stimuli with pupil? Psychopy? any other alternatives out there?

papr 21 April, 2021, 07:22:41

I recommend using the stimuli software which you are most comfortable with. Important for you is to know how its clock/timing works in order to implement proper time sync.

How to synchronize time depends on which software you use for exporting the recordings. Pupil Cloud downloads contain Unix-epoch timestamps in nanoseconds. This allows you to use Pyhton's time.time_ns() in PsychoPy to record synchronized timestamps. Pupil Player converts these timestamps to Pupil Core format (seconds, arbitrary starting-point). This transformation can be reversed to Unix-epoch timestamps in nanoseconds format with custom export post-processing.

user-94f03a 21 April, 2021, 07:38:47

can i record using pupil recorder too?

papr 21 April, 2021, 07:43:41

I am not sure what you are referring to, exactly. Could you provide a link to this software?

user-94f03a 21 April, 2021, 07:49:43

sorry meant pupil capture

papr 21 April, 2021, 07:52:25

Pupil Capture does not support the Pupil Invisible product. It is meant for Pupil Core and the AR/VR add-ons.

user-fb5b59 21 April, 2021, 08:12:48

Good Morning 🙂 As far as I know the IMU data is not yet streamed live from the PupilInvisible, am I right? But can I get access (e.g., via a created .csv file similar to the gaze_position) via PupilPlayer?

wrp 21 April, 2021, 08:29:36

@user-fb5b59 you can get imu data as csv using the Raw Data Exporter in Pupil Cloud - https://docs.pupil-labs.com/cloud/enrichments/#export-format-4

user-fb5b59 21 April, 2021, 08:31:16

Thanks! So it is necessary to upload the data to the cloud and not possible by just copying the folder from the mobile device to the computer and then putting it into the player?

marc 21 April, 2021, 08:31:25

@user-fb5b59 Using Pupil Cloud would be the easiest way. See my message here for a full overview of alternatives: https://discord.com/channels/285728493612957698/633564003846717444/827204804148461628

user-2d66f7 21 April, 2021, 14:20:44

Hi! I have a question. I want to compare the data from the pupil invisible with another eye-tracker. The data exported by pupil cloud contains the gaze data in pixels, but to compare it, I need to translate the data to degrees. What is the best option for converting the data?

user-b10192 22 April, 2021, 01:20:08

Hi. I have four question about pupil invisible app. 1) Is there anyway to change the name/rename of the recording folder without plugging in with computer? 2) Is there anyway to change/get the name of the recording folder via ndsi network? 3) Is there any chance to charge the phone and recording with OTG turn on at the same time? 4) Can we transfer the recording data via Bluetooth?

marc 22 April, 2021, 08:09:32

@user-2d66f7 To calculate error in degrees you need to convert the 2D gaze points in scene camera coordinates into 3D gaze rays, which you then can calculate angles between. This is a geometric problem that requires the camera intrinsics of the scene camera. Do you know how camera projection and intrinsics work?

You can access the intrinsic of your device in OpenCV format through the pupil cloud API. To do that you need to be currently logged into Pupil Cloud in your browser. Then call this URL https://api.cloud.pupil-labs.com/hardware/<serial>/calibration.v1?json

Make sure to insert the serial number of your scene camera at the right location in the URL! You find the serial can be found on the camera itself on the side facing the glasses frame. The conversion to gaze rays is essentially an unprojection of the points, which can be done using the undistortPoints function in OpenCV

I could point you to places in Pupil Capture/Player that implement those steps as an example.

marc 22 April, 2021, 10:01:43

Hi @user-b10192!

1) After you have exported the recording from the Companion app, the folder is fully available on the Android filesystem. You could use a filebrowser in Android to rename that folder. There is no way to do this from within the Companion app.

2) The recording name is solely determined by the selected template. The folder name is the recording id, which is automatically generated. Neither can be set or received via NDSI currently.

3) No, charging the phone while using the USB connection the way we do is blocked by the Android OS, so there is unfortunately no way of using Pupil Invisible and charging at the same time. We usually recommend hot swapping to a freshly charged phone to extend battery life.

4) Since the recording data is available on the filesystem you should be able to do that with an appropriate 3rd party app. We have not tried that ourselves yet.

user-b10192 24 April, 2021, 06:31:14

Thanks for answering 🙂

user-2d66f7 22 April, 2021, 11:01:55

Hi Marc. Thank you for the info. A bit, but it would be nice if you maybe have an example. Also for the undistortPoints function.

marc 22 April, 2021, 11:59:07

To get an idea of how the theory works I can recommend reading the "Detailed Description" section in the OpenCV docs here: https://docs.opencv.org/3.4/d9/d0c/group__calib3d.html

We utilize OpenCV to compute the unprojection of gaze points in Pupil Player/Core here: https://github.com/pupil-labs/pupil/blob/master/pupil_src/shared_modules/camera_models.py#L621

We do accuracy calculation in the accuracy visualizer plugin. This code may not be super easy to grasp, but the step of calculating the angular errors from the 3D gaze rays is here: https://github.com/pupil-labs/pupil/blob/eb8c2324f3fd558858ce33f3816972d93e02fcc6/pupil_src/shared_modules/accuracy_visualizer.py#L407

Hope this helps!

user-2d66f7 22 April, 2021, 12:56:06

Thank you! I will look into it

user-17da3a 22 April, 2021, 18:17:45

Hi guys! I want to double check something about head_pose_tracker, to be sure I am doing the analysis correctly. I want to know which rotation axis would give us the left-right movement of the head? X_axis, right? And Y_axis is the vertical rotations? Thanks!

marc 23 April, 2021, 07:50:08

Hey @user-17da3a! The coordinate system of the head-pose tracker is not centered in head, but with the defining markers. You need to specify one origin marker and this will marker will span the coordinate system. The axis for left-right rotation of the head thus depends on the pose of the head in the "3D marker-world"

marc 23 April, 2021, 07:51:36

In a previous answer I tried to summarize the coordinate system definition as follows. Does that make sense to you?

The origin is the markers bottom left corner, x-axis is pointing to the right, y-axis is pointing upwards and z-axis is pointing upwards from the marker (instead of pointing "through" it).

user-17da3a 23 April, 2021, 08:13:59

Thanks @marc for clarification! Yes, in my head_pose_model, I defined the marker on the bottom left corner, so, rightward from the origin marker is x_axis and upward from origin marker is y_axis. The z_axis is then pointing out toward outside of the screen. Thanks a lot, I see now.

user-82e5bd 24 April, 2021, 13:16:05

Hi i have some questions about uploading something from the phone to the computer. On the phone i can see a movie. However if i want to upload it on the pc i see that other videos are loaded but if i want the other that i can see on the phone is stil procceding? and i cant open it

user-82e5bd 24 April, 2021, 13:27:37

And i removed it from the cloud so can i upload it again? It is weird because i can see the video on the phone but not on the pc

user-82e5bd 24 April, 2021, 13:27:55

Even when i upload it with ecporting the file

marc 26 April, 2021, 08:09:34

@user-82e5bd Are you transferring the files from phone to computer via USB connection? This should be similar to transferring files from a USB stick and all the files you could open on the phone should be openable on the computer as well. Regarding cloud, after a recording was uploaded to cloud once, the phone will not try to upload it again. Could you maybe share a screen shot of what files you see after transferring a recording to your computer?

user-82e5bd 26 April, 2021, 08:23:33

Chat image

marc 26 April, 2021, 08:25:26

@user-82e5bd Thanks! I can see both eye videos and world video exists. Which file do you have trouble with opening? Or are you wondering what software to use to open those recordings in genereal?

user-82e5bd 26 April, 2021, 08:25:58

so it is weird because i cannot open it in the player but can see it with the phone

marc 26 April, 2021, 08:26:23

What happens if you try to open the recording with Pupil Player?

user-82e5bd 26 April, 2021, 08:26:49

it shuts the program down

papr 26 April, 2021, 08:27:31

Which version of Pupil Player are you using?

user-82e5bd 26 April, 2021, 08:27:12

and i switch of my virusprotector that gave also some problemes with it

marc 26 April, 2021, 08:27:25

I see, so the software crashes without showing an error

user-82e5bd 26 April, 2021, 08:29:46

Yeah that is the problem

user-82e5bd 26 April, 2021, 08:27:33

Yes

user-82e5bd 26 April, 2021, 08:27:54

V.3.2.20

papr 26 April, 2021, 08:30:34

Could you please follow these steps: 1. Open Player 2. Attempt to open the recording 3. Once the software closes, do not restart it. 4. Go to Home directory -> pupil_player_settings and share the player.log file with us.

user-82e5bd 26 April, 2021, 08:31:35

2021-04-26 10:26:00,966 - MainProcess - [DEBUG] os_utils: Disabling idle sleep not supported on this OS version. 2021-04-26 10:26:01,939 - player - [INFO] numexpr.utils: NumExpr defaulting to 6 threads. 2021-04-26 10:26:30,059 - player - [ERROR] launchables.player: Process player_drop crashed with trace: Traceback (most recent call last): File "launchables\player.py", line 934, in player_drop File "pupil_recording\recording_utils.py", line 40, in assert_valid_recording_type File "pupil_recording\recording_utils.py", line 59, in get_recording_type File "pupil_recording\recording_utils.py", line 119, in _is_pupil_invisible_recording File "pupil_recording\info\recording_info_utils.py", line 90, in read_info_json_file File "json__init__.py", line 299, in load File "json__init__.py", line 354, in loads File "json\decoder.py", line 342, in decode json.decoder.JSONDecodeError: Extra data: line 2 column 1 (char 688)

papr 26 April, 2021, 08:33:05

Would you mind sharing the info.json file from this particular recording with me via a direct message?

user-adab8e 27 April, 2021, 13:07:10

Hey! I have problems to open a data set (duration: 2:09h) in Pupil Player. Could that be due to the duration? Another file with 12 sec duration can be opened without any problems...

papr 27 April, 2021, 13:26:18

Yes, the duration is too long, indeed. Player is not designed to open recordings of that length.

user-adab8e 27 April, 2021, 13:29:28

ok so the only solution is to shorten the duration of recording, right? What`s a manageable length for Pupil Player?

papr 27 April, 2021, 13:37:24

We are working on some long-term solutions but we are just at the beginning for those. In the meantime, I recommend recordings up to 20 minutes. The actual performance depends on your computer specs, though. More memory and CPU frequency helps.

user-adab8e 27 April, 2021, 13:39:14

okay thank you for the information and your support! 🙂

user-adab8e 27 April, 2021, 13:40:29

So if this solution works it's totally fine. stopping and restarting recordings several times per participant

papr 27 April, 2021, 13:59:34

As a follow up, may I ask why using Player over Pupil Cloud? Your experience is likely to be much better for Invisible recordings using Pupil Cloud.

user-adab8e 27 April, 2021, 14:07:45

I don't have the glasses here and just get the "raw data files". So I' just signed in to the Cloud but I can't upload data right?

papr 27 April, 2021, 14:46:34

Unfortunately, it is only possible to upload the recordings from the phone at the moment. Maybe you could coordinate the upload to a common account such that you can have access to all Pupil Cloud features?

user-b14f98 27 April, 2021, 14:19:17

Guys, just got my invisible and a minor point, but I'm dissapointed that the $6000 device came with a UK power brick. Was that a mistake?

user-b14f98 27 April, 2021, 14:19:27

(I'm in the US, and it was shipped to the US)

marc 27 April, 2021, 14:40:09

Hi @user-b14f98! Unfortunately it is not feasible for us to provide the correct charger for all countries and we ship only EU chargers (we should communicate that better on the website). You can use any other USB charger you might have at hand though. If you do not have an appropriate charger available, please contact [email removed] and we will find a solution!

user-b14f98 27 April, 2021, 14:41:47

Thanks. Of course, there will be some variability in how your customers interpret "not feasible." Thanks.

user-17da3a 28 April, 2021, 14:24:18

Hi guys! Would you mind please letting me know if citation of Pupil Labs eye trackers has any specific format? Thanks!

marc 28 April, 2021, 14:27:21

Hi @user-17da3a! Please cite one of the white papers depending on what hardware you are referencing: Pupil Invisible: https://arxiv.org/abs/2009.00508 Pupil Core: https://dl.acm.org/doi/abs/10.1145/2638728.2641695

user-997dee 29 April, 2021, 14:47:24

Hi! I am wondering whether it is possible to do monocular recordings with the Pupil Invisible? I am running an experiment that requires monocular viewing of the stimuli, so we need to completely cover one eye. By doing so, this also blocks the camera near that eye from recording the eye movements, which seems to mess up the gaze reconstruction. In order for the PI to be useful in the experiment we need to either be able to record monocularly, or be able to discard the data from the covered eye to still get a good gaze reconstruction using only the data from the uncovered eye. Is this possible in any way? Thanks!

nmt 30 April, 2021, 09:51:24

Hi @user-997dee. Pupil Invisible performs best when both eyes are visible to the eye cameras. I would leverage the fact that Pupil Invisible’s lenses can be removed and/or covered. With some minor modifications you can easily occlude vision from one eye this way without obscuring the view of the eye camera.

user-997dee 30 April, 2021, 12:23:56

Thank you for your reply. That was our plan B already, so I guess we'll go with that. It's just a bit more work as not only the lens should be covered, but also the area around the lens (to block pretty much all light coming into the covered eye), so it would've been easire if we could just turn one camera off. But we'll simply be creative with cardboard then!

user-0defc6 30 April, 2021, 10:28:08

Hi! I am using Python to obtain the gaze from the mobile phone using the script available in your documentation. I receive an array [coordinate(x), coordinate(y), timestamp]. When I upload the video to Pupil Cloud and download it and open in Pupil Player, the timestamp does not correspond. My question is, how can I correlate the timestamp I am receiving in Python with the timestamp after the download from Pupil Cloud? Thanks

papr 30 April, 2021, 11:06:08

Therefore, player_timestamp_seconds corresponds to the time since recording start in seconds.

papr 30 April, 2021, 11:04:19

The download from Cloud continues to have the same timestamps as before. But Player transforms the recording to a different format. Part of that transformation is a timestamp conversion:

# see info.json/info.invisible.json
S = start_time_nanoseconds

# Conversion
T = invisible_timestamp_nanoseconds
player_timestamp_seconds = (T - S) / 1e9
user-0defc6 30 April, 2021, 12:21:48

Thanks for the answer. I tried to convert it back: T = player_timestamp_seconds + S I obtained S from the file info.player.json["start_time_system_s"] but still does not match the data I obtained in Python (which is in the order of 10 to 5; example: 11004.046498000002)

papr 30 April, 2021, 12:23:31

Ah, I misunderstood!

papr 30 April, 2021, 12:22:30

Please use info.invisible.json not info.player.json in this case.

papr 30 April, 2021, 12:22:44

start_time_system_s is in seconds which is why the conversion fails.

papr 30 April, 2021, 12:24:31

T = int(player_timestamp_seconds * 1e9) + S (please read S from info.invisible.json) @user-0defc6

user-0defc6 30 April, 2021, 12:39:56

I guess is this start_time, but stills does not work the conversion. Even if I take the number in magnitude of 1e9

Chat image

papr 30 April, 2021, 12:40:47

start_time is correct. From where are you taking player_timestamp_seconds?

user-0defc6 30 April, 2021, 12:41:00

Here the attempted conversion and what I obtained in Python...

Chat image

papr 30 April, 2021, 12:41:59

start_time is an integer. Your value seems to have a floating point.

user-0defc6 30 April, 2021, 12:48:06

in the image from before I just put the decimal point in 1e9 because the value was very big. Here was my first conversion attempt.

Chat image

papr 30 April, 2021, 12:53:42

Generally, the numbers in column B look correct to me

papr 30 April, 2021, 12:50:12

Yes, it is expected to be big as it represents the number of nanoseconds between recording start and 00:00:00 UTC on 1 January 1970.

Is your spreadsheet software converting the number to E+18 format?

user-0defc6 30 April, 2021, 12:48:54

I am taking player_time_stamp_seconds from gaze_timestamp

papr 30 April, 2021, 12:52:30

I do not know if this is just for visualization purposes, but if the number is converted internally to floats (E+x is a float format) then you might be loosing time precision

papr 30 April, 2021, 12:54:19

Current unix time in nanoseconds: 1619787056987142000 1619787056987142000 / 1e18 = 1.619787056987142

papr 30 April, 2021, 12:55:15

1619787056987142000 = 1.619787056987142E+18

user-0defc6 30 April, 2021, 12:55:17

So then I do not understand what I am receiving in the timestamp from Python (together with the coordinates x and y). Order of value is 1e5 (Column C)

papr 30 April, 2021, 12:56:23

~~Where does this column come from? Are you using https://github.com/pupil-labs/pupil-tutorials/blob/master/08_post_hoc_time_sync.ipynb ?~~ Could yo clarify from where you receive this data:

I receive an array [coordinate(x), coordinate(y), timestamp]

user-0defc6 30 April, 2021, 13:07:52

Here is the part of the code where I receive Gaze data and Timestamps, on the right I am printing the values.

Chat image

papr 30 April, 2021, 13:12:39

You should see timestamp values around 1619788341.9911768

papr 30 April, 2021, 13:10:37

ok, could you repeat your data collection while running a recording on the phone? I have a hunch but would like to have it confirmed first.

user-0defc6 30 April, 2021, 13:14:54

I've been recording all the time and I was obtaining the data I showed you, but now it is exactly happening what you said. Why was that? (Thanks by the way)

papr 30 April, 2021, 13:17:23

ok, this is good to hear. What you are getting now are unix epoch timestamps in seconds. So to convert exported timestamps, you need to:

player_timestamp_seconds + S / 1e9

I will forward the issue of the unexpected timestamps to our Android development team

user-0defc6 30 April, 2021, 13:15:14

Chat image

papr 30 April, 2021, 13:17:49

Could you let me know which app version you are using?

user-0defc6 30 April, 2021, 13:18:26

1.0.3-prod

user-0defc6 30 April, 2021, 13:18:43

I'll try this. Thank you very much

papr 30 April, 2021, 13:22:14

I have just noticed that this is an older version. Please consider upgrading the app and let us know if you encounter the issue again with the latest version.

End of April archive