Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Cloud 7.2 docs update #697

Merged
merged 30 commits into from
Jul 5, 2024
Merged
Show file tree
Hide file tree
Changes from 6 commits
Commits
Show all changes
30 commits
Select commit Hold shift + click to select a range
523b14c
sidebar manual mapper
nadje Jul 2, 2024
facc50a
add offset correction on cloud
nadje Jul 2, 2024
bbcd2f2
manualm in aoi/heatmap, fix export format
nadje Jul 2, 2024
611c786
add change wearer feature
nadje Jul 2, 2024
5426c53
formatting, add manualm,offset corr to pi docs,new neon image
nadje Jul 2, 2024
15df9ab
pi docs cloud updates
nadje Jul 2, 2024
5b11cfb
Update neon/pupil-cloud/enrichments/manual-mapper/index.md
nadje Jul 2, 2024
2795149
Update neon/pupil-cloud/enrichments/manual-mapper/index.md
nadje Jul 2, 2024
7bfdc62
Update neon/pupil-cloud/visualizations/heatmap/index.md
nadje Jul 2, 2024
3bcaf40
Rename offset-correction.mp4 to offset-correction-old.mp4
nadje Jul 2, 2024
47914d5
new offset-correction video - neon
nadje Jul 2, 2024
e058a91
Rename offset-correction.mp4 to offset-correction-old.mp4
nadje Jul 2, 2024
6d685a9
new offset-correction video - PI
nadje Jul 2, 2024
6c7cad0
Rename neon-docs_overview_card-v3.webp to neon-docs_overview_card-v3-…
nadje Jul 2, 2024
27b71f2
new neon landing image (white background)
nadje Jul 2, 2024
16a6859
Rename offset-cloud-timeline.png to offset-cloud-timeline-old.png
nadje Jul 2, 2024
9be0eeb
new image offset icon - pi
nadje Jul 2, 2024
bb1ac51
Rename offset-cloud-timeline.png to offset-cloud-timeline-old.png
nadje Jul 2, 2024
de8b96f
new offset icon image - neon
nadje Jul 2, 2024
2a563c0
Change hero image on Neon's landing page
mikelgg93 Jul 2, 2024
97343df
Fix image
mikelgg93 Jul 2, 2024
b2d0aa5
Fix aspect ratio
mikelgg93 Jul 2, 2024
7788e79
delete old image
nadje Jul 5, 2024
ef1d826
delete old video
nadje Jul 5, 2024
efbb559
delete old file
nadje Jul 5, 2024
1fd08cd
add new offset icon
nadje Jul 5, 2024
fcea112
delete old file offset neon
nadje Jul 5, 2024
da443d1
delete old video offset neon
nadje Jul 5, 2024
c34d4eb
delete old img neon offset
nadje Jul 5, 2024
102249d
new offset icon img
nadje Jul 5, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
5 changes: 5 additions & 0 deletions invisible/.vitepress/config.mts
Original file line number Diff line number Diff line change
Expand Up @@ -127,6 +127,7 @@ let theme_config_additions = {
items: [
{ text: "Projects", link: "/pupil-cloud/projects/" },
{ text: "Workspaces", link: "/pupil-cloud/workspaces/" },
{ text: "Offset Correction", link: "/pupil-cloud/offset-correction/" },
],
},
{
Expand All @@ -145,6 +146,10 @@ let theme_config_additions = {
text: "Face Mapper",
link: "/pupil-cloud/enrichments/face-mapper/",
},
{
text: "Manual Mapper",
link: "/pupil-cloud/enrichments/manual-mapper/",
},
],
},
{
Expand Down
2 changes: 1 addition & 1 deletion invisible/data-collection/wearers/index.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# Wearers
Wearers are the people wearing the Pupil Invisible Glasses. In a typical study, each subject would be a wearer. Every recording you make is assigned to a wearer to help you organize your recordings. You can create new wearers on the fly in the Pupil Invisible Companion app or in advance using [Pupil Cloud](/pupil-cloud/).
Wearers are the people wearing the Pupil Invisible Glasses. In a typical study, each subject would be a wearer. Every recording you make is assigned to a wearer to help you organize your recordings. You can create new wearers on the fly in the Pupil Invisible Companion app or in advance using [Pupil Cloud](/pupil-cloud/). It is also possible to change the assigned wearer in a recording post hoc in Pupil Cloud. Simply select *Change Wearer* from the context menu of a recording!

Every wearer is assigned a unique ID, such that you can edit the name and profile picture at any time without mixing up your recordings.

Expand Down
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
1 change: 1 addition & 0 deletions invisible/pupil-cloud/enrichments/manual-mapper/index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1 @@
<!--@include: ../../../../neon/pupil-cloud/enrichments/manual-mapper/index.md-->
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
19 changes: 19 additions & 0 deletions invisible/pupil-cloud/offset-correction/index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,19 @@
# Offset Correction on Pupil Cloud

For some subjects, you may find a constant offset in their gaze estimates. This gaze offset can be [compensated for in the Invisible Companion app](/data-collection/offset-correction/) before starting a recording, or post hoc in Pupil Cloud as shown below. Click on the gaze offset icon to start the gaze offset correction.

![Offset correction on Cloud header image](./offset-cloud-timeline.png)

Once you enter the `Edit Gaze Offset` view, simply drag the gaze circle to apply the correction. See the video below for reference.

- The grey circle indicates the raw gaze estimate provided by the gaze estimation pipeline of Pupil Invisible.
- The red circle indicates the gaze position with the current offset applied.
- The blue circle indicates the offset correction applied in the Invisible Companion app.

<video width="100%" controls>
<source src="./offset-correction.mp4" type="video/mp4">
</video>

::: tip
Modifying the gaze offset impacts all downstream data, such as fixations, mapped gaze from enrichments, and visualizations. Where possible, data is updated instantly. If not, the respective data will be deleted, requiring (partial) re-computation of enrichments or visualizations. In that case, the enrichment or visualization will be shown as *Not Started* and you need to re-run them.
:::
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Binary file not shown.
2 changes: 1 addition & 1 deletion landing-page/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -9,7 +9,7 @@
products:
- title: Neon
details: Neon is our most powerful eye tracker. It features research-grade gaze and pupil diameter estimation, industry-leading robustness in real-world applications, and a pleasant calibration-free user experience.
image: "/neon-family.webp"
image: "/neon-docs_overview_card-v3.webp"
link: { text: "Enter Documentation", href: "/neon/" }
- title: Pupil Invisible
details: Pupil Invisible was the world's first calibration-free eye tracker and set new standards for robustness in real-world applications. It is now deprecated and replaced by Neon.
Expand All @@ -30,6 +30,6 @@
link:
{
text: View,
href: "/alpha-lab/gaze-metrics-in-aois/#define-aois-and-calculate-gaze-metrics",

Check warning on line 33 in landing-page/index.md

View workflow job for this annotation

GitHub Actions / ✍️ Check spelling

Unknown word (aois)

Check warning on line 33 in landing-page/index.md

View workflow job for this annotation

GitHub Actions / ✍️ Check spelling

Unknown word (aois)
}
---
Binary file not shown.
5 changes: 5 additions & 0 deletions neon/.vitepress/config.mts
Original file line number Diff line number Diff line change
Expand Up @@ -155,6 +155,7 @@ let theme_config_additions = {
items: [
{ text: "Projects", link: "/pupil-cloud/projects/" },
{ text: "Workspaces", link: "/pupil-cloud/workspaces/" },
{ text: "Offset Correction", link: "/pupil-cloud/offset-correction/" },
],
},
{
Expand All @@ -173,6 +174,10 @@ let theme_config_additions = {
text: "Face Mapper",
link: "/pupil-cloud/enrichments/face-mapper/",
},
{
text: "Manual Mapper",
link: "/pupil-cloud/enrichments/manual-mapper/",
},
],
},
{
Expand Down
2 changes: 1 addition & 1 deletion neon/data-collection/wearers/index.md
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# Wearers
Wearers are the people wearing Neon. In a typical study, each subject would be a wearer. Every recording you make is assigned to a wearer to help you organize your recordings. You can create new wearers on the fly in the Neon Companion app or in advance using [Pupil Cloud](/pupil-cloud/).
Wearers are the people wearing Neon. In a typical study, each subject would be a wearer. Every recording you make is assigned to a wearer to help you organize your recordings. You can create new wearers on the fly in the Neon Companion app or in advance using [Pupil Cloud](/pupil-cloud/). It is also possible to change the assigned wearer in a recording post hoc in Pupil Cloud. Simply select *Change Wearer* from the context menu of a recording!

Every wearer is assigned a unique ID, such that you can edit the name and profile picture at any time without mixing up your recordings.

Expand Down
2 changes: 1 addition & 1 deletion neon/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ title: Home
hero:
title: "Neon"
tagline: Everything you need to know about Neon & Pupil Cloud to power your eye tracking application!
image: "/neon/neon-family.webp"
image: "/neon/neon-docs_overview_card-v3.webp"
actions:
- theme: brand
text: Getting Started
Expand Down
Binary file added neon/public/neon-docs_overview_card-v3.webp
Binary file not shown.
8 changes: 4 additions & 4 deletions neon/pupil-cloud/enrichments/face-mapper/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ This file contains all the individual face detections.
| **mouth left x [px]** | X coordinate of the left mouth corner in image coordinates in pixels. |
| **mouth left y [px]** | Y coordinate of the left mouth corner in image coordinates in pixels. |
| **mouth&nbsp;right&nbsp;x&nbsp;[px]** | X coordinate of the right mouth corner in image coordinates in pixels. |
| **mouth right y [px]** | Y coordinate of the right mouth corner in image coordinates in pixels. |
| **mouth&nbsp;right&nbsp;y&nbsp;[px]** | Y coordinate of the right mouth corner in image coordinates in pixels. |

### gaze_on_face.csv
This file indicates which gaze samples are on faces (within the bounding box of detected faces).
Expand All @@ -42,7 +42,7 @@ This file indicates which gaze samples are on faces (within the bounding box of
| -------- | -------- |
| **section id** | Unique identifier of the corresponding section. |
| **recording id** | Unique identifier of the recording this sample belongs to. |
| **timestamp [ns]** | UTC timestamp in nanoseconds of the sample. Equal to the timestamp of the corresponding gaze sample. |
| **timestamp&nbsp;[ns]** | UTC timestamp in nanoseconds of the sample. Equal to the timestamp of the corresponding gaze sample. |
| **gaze on face** | Boolean indicating whether the gaze point is on a face. |

### fixations_on_face.csv
Expand All @@ -54,5 +54,5 @@ This file indicates which fixations are on faces (within the bounding box of det
| **recording id** | Unique identifier of the recording this sample belongs to. |
| **fixation id** | Identifier of the fixation. The counter starts at the beginning of the recording. |
| **start&nbsp;timestamp&nbsp;[ns]** | UTC timestamp in nanoseconds of the start of the fixation. |
| **end timestamp [ns]** | UTC timestamp in nanoseconds of the end of the fixation. |
| **fixation on face** | Boolean indicating whether the fixation is on a face. |
| **end&nbsp;timestamp&nbsp;[ns]** | UTC timestamp in nanoseconds of the end of the fixation. |
| **fixation&nbsp;on&nbsp;face** | Boolean indicating whether the fixation is on a face. |
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
37 changes: 37 additions & 0 deletions neon/pupil-cloud/enrichments/manual-mapper/index.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,37 @@
# Manual Mapper

![Manual Mapper header image](./manual_mapper_header.png)

The Manual Mapper offers a simple interface for manually mapping fixations to a reference image, aiding gaze data visualization and analysis. Click on the reference image to map a fixation and the recording auto-advances to the next one. Fixations outside the image can be marked by clicking beyond the image boundary.

## Setup

- **Upload a Reference Image:** Upload the image you want to map fixations on.
- **Map Fixations:** Begin mapping the recorded fixations onto the reference image by clicking the corresponding location on the image. If a fixation does not fall on the reference image, use the keyboard shortcut <kbd>S</kbd>.
- The field `Fixation` shows the ID of the current fixation.
- The field `Recording Mapping Progress` indicates how many fixations have been mapped within the specified enrichment section.

In the example below, we manually map the fixations detected between the `epoch_start` and `epoch_end` events. This period includes 44 fixations in total, and we currently map the fixation with ID 72.
nadje marked this conversation as resolved.
Show resolved Hide resolved

![Manual Mapper image one](./image_1_mapper.png)

You will see all fixations and their durations visualized in the timeline below.

![Manual Mapper image two](./image_2_mapper.png)


## Export Format

### fixations.csv
This file contains fixation events detected in the gaze data stream and mapped to the reference image.

| Field | Description |
| -------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **section id** | Unique identifier of the corresponding section. |
| **recording id** | Unique identifier of the recording this sample belongs to. |
| **fixation id** | Identifier of fixation within the section. The id corresponds to the fixation id of the raw unmapped data. |
| **start&nbsp;timestamp&nbsp;[ns]** | UTC timestamp in nanoseconds of the start of the fixation. |
| **end&nbsp;timestamp&nbsp;[ns]** | UTC timestamp in nanoseconds of the end of the fixation. |
| **duration&nbsp;[ms]** | Duration of the fixation in milliseconds. |
| **fixation&nbsp;status** | Boolean indicating whether the fixation was inside or outside of the reference image. `Not mapped` for fixations that were left without mapping.|
nadje marked this conversation as resolved.
Show resolved Hide resolved

Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
10 changes: 5 additions & 5 deletions neon/pupil-cloud/enrichments/marker-mapper/index.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,14 +11,14 @@
You can use these images as a template for printing markers:

<div class="pb-4" style="display:grid;grid-template-columns:1fr 1fr;gap:40px;">
<a download="apriltags_tag36h11_0-23.jpg" href="/neon/pupil-cloud/enrichments/marker-mapper/apriltags_tag36h11_0-23.jpg" title="AprilTags 0-23">

Check warning on line 14 in neon/pupil-cloud/enrichments/marker-mapper/index.md

View workflow job for this annotation

GitHub Actions / ✍️ Check spelling

Unknown word (apriltags)

Check warning on line 14 in neon/pupil-cloud/enrichments/marker-mapper/index.md

View workflow job for this annotation

GitHub Actions / ✍️ Check spelling

Unknown word (apriltags)

![Apriltags 0 - 23](./apriltags_tag36h11_0-23.jpg)

Check warning on line 16 in neon/pupil-cloud/enrichments/marker-mapper/index.md

View workflow job for this annotation

GitHub Actions / ✍️ Check spelling

Unknown word (Apriltags)

</a>
<a download="apriltags_tag36h11_24-47.jpg" href="/neon/pupil-cloud/enrichments/marker-mapper/apriltags_tag36h11_24-47.jpg" title="AprilTags 0-23">

Check warning on line 19 in neon/pupil-cloud/enrichments/marker-mapper/index.md

View workflow job for this annotation

GitHub Actions / ✍️ Check spelling

Unknown word (apriltags)

Check warning on line 19 in neon/pupil-cloud/enrichments/marker-mapper/index.md

View workflow job for this annotation

GitHub Actions / ✍️ Check spelling

Unknown word (apriltags)

![Apriltags 24 - 47](./apriltags_tag36h11_24-47.jpg)

Check warning on line 21 in neon/pupil-cloud/enrichments/marker-mapper/index.md

View workflow job for this annotation

GitHub Actions / ✍️ Check spelling

Unknown word (Apriltags)

</a>
</div>
Expand Down Expand Up @@ -60,7 +60,7 @@
| **section id** | Unique identifier of the corresponding section. |
| **recording id** | Unique identifier of the recording this sample belongs to. |
| **timestamp [ns]** | UTC timestamp in nanoseconds of the sample. Equal to the timestamp of the original gaze sample before mapping. |
| **gaze detected on surface** | Boolean indicating whether or not the gaze point was inside or outside of the surface. |
| **gaze detected on surface** | Boolean indicating whether the gaze point was inside or outside of the surface. |
| **gaze position on surface x [normalized]** | Float value representing the x-coordinate of the mapped gaze point in surface coordinates. If the surface was not localized this value is empty. |
| **gaze position on surface y [normalized]** | Same as gaze position on surface x [normalized] but for y-coordinate. |
| **fixation id** | If this gaze sample belongs to a fixation event, this is the corresponding id of the fixation. Otherwise, this field is empty. |
Expand All @@ -75,10 +75,10 @@
| **section id** | Unique identifier of the corresponding section. |
| **recording id** | Unique identifier of the recording this sample belongs to. |
| **fixation id** | Identifier of fixation within the section. The id corresponds to the fixation id of the raw unmapped data. |
| **start timestamp [ns]** | UTC timestamp in nanoseconds of the start of the fixation. |
| **end timestamp [ns]** | UTC timestamp in nanoseconds of the end of the fixation. |
| **start&nbsp;timestamp&nbsp;[ns]** | UTC timestamp in nanoseconds of the start of the fixation. |
| **end&nbsp;timestamp&nbsp;[ns]** | UTC timestamp in nanoseconds of the end of the fixation. |
| **duration [ms]** | Duration of the fixation in milliseconds. |
| **fixation detected on surface** | Boolean indicating whether or not the fixation was inside or outside of the surface. |
| **fixation detected on surface** | Boolean indicating whether the fixation was inside or outside of the surface. |
| **fixation x [normalized]** | Float value representing the x-coordinate of the fixation in surface coordinates. This position is the average of all mapped gaze samples within the fixation. |
| **fixation y [normalized]** | Same as "fixation x [normalized]" but for the y-coordinate. |

Expand All @@ -89,9 +89,9 @@
| Field | Description |
| -------------------- | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ |
| **section id** | Unique identifier of the corresponding section. |
| **timestamp [ns]** | UTC timestamp in nanoseconds of the sample. Equal to the timestamp of the scene camera frame the marker detection was executed on. |
| **timestamp&nbsp;[ns]** | UTC timestamp in nanoseconds of the sample. Equal to the timestamp of the scene camera frame the marker detection was executed on. |
| **detected markers** | A list of the markers detected in the corresponding scene camera frame. Markers are represented by their ID and the list is separated by `;`. Added in version 2 of this enrichment. |
| **tl x/y [px]** | x or y coordinate respectively of the **t**op **l**eft corner. Empty in case the surface could not be localized. Added in version 2 of this enrichment. |
| **tr x/y [px]** | x or y coordinate respectively of the **t**op **r**ight corner. Empty in case the surface could not be localized. Added in version 2 of this enrichment. |

Check warning on line 95 in neon/pupil-cloud/enrichments/marker-mapper/index.md

View workflow job for this annotation

GitHub Actions / ✍️ Check spelling

Unknown word (ight)
| **br x/y [px]** | x or y coordinate respectively of the **b**ottom **r**ight corner. Empty in case the surface could not be localized. Added in version 2 of this enrichment. |

Check warning on line 96 in neon/pupil-cloud/enrichments/marker-mapper/index.md

View workflow job for this annotation

GitHub Actions / ✍️ Check spelling

Unknown word (ottom)
| **bl x/y [px]** | x or y coordinate respectively of the **b**ottom **l**eft corner. Empty in case the surface could not be localized. Added in version 2 of this enrichment. |
Loading
Loading