Eye-Tracking Lab

Rozbudowany prototyp analizy danych okulograficznych z headsetów Varjo. Wczytaj plik CSV zapisany przez Varjo Base (folder Wideo\Varjo) albo połącz się z mostkiem LIVE, aby śledzić dane w czasie rzeczywistym. Wszystko liczy się lokalnie w przeglądarce — żadne dane nie opuszczają komputera.

Wykorzystuje pełny zestaw pól logu Varjo: źrenice i tęczówki, otwartość powiek, wektory wzroku 3D, projekcje na obraz, focus distance, stabilność, statusy śledzenia, IPD i znaczniki czasu.

Źródło danych

brak danych — wczytaj plik lub uruchom demo
Obciążenie poznawcze
indeks 0–100
Zmęczenie (PERCLOS)
% czasu z przymkniętymi oczami
Mrugnięcia
na minutę
Fiksacje
śr. czas trwania
Źrenica (śr.)
L / P w mm
Focus distance
mediana
Jakość danych
% ważnych próbek
IPD
rozstaw źrenic

Obciążenie poznawcze i zmęczenie w czasie

Indeks obciążenia: ważona kombinacja rozszerzenia źrenicy względem linii bazowej, spadku częstości mrugania, częstości sakkad i aktywności pupilarnej (składowa wysokoczęstotliwościowa). Indeks zmęczenia: PERCLOS + wydłużanie się mrugnięć. Okna 1-sekundowe, wygładzanie 5 s.

Średnica źrenic

Stosunek źrenica / tęczówka

Częściowa normalizacja anatomiczna — tęczówka ma stały rozmiar, więc stosunek lepiej znosi różnice między osobami niż surowa średnica (nadal wrażliwy na światło).

Otwartość powiek i mrugnięcia

Dynamika wzroku: sakkady i fiksacje

Focus distance (głębia uwagi)

Odległość akomodacji/wergencji 0–2 m: odróżnia patrzenie na elementy bliskie (kokpit, HUD) od patrzenia „w dal”.

Stabilność śledzenia

Mapa uwagi i ścieżka skanowania

Projekcja wzroku na obraz:
Mapa cieplna uwagi — gdzie skupiał się wzrok (jaśniej → ciemniej = dłużej). Współrzędne znormalizowane [−1, 1].
Ścieżka skanowania — kolejne fiksacje (promień = czas trwania, numer = kolejność). Ostatnie 40 fiksacji.

Kontrola jakości danych

MetrykaLewe okoPrawe okoŁącznie

Oś czasu statusu śledzenia

Eksport wyników

Eksport zawiera dla każdej sekundy: indeks obciążenia i jego składowe, indeks zmęczenia, PERCLOS, częstość mrugnięć i sakkad, liczbę i śr. czas fiksacji, średnice źrenic, stosunki źrenica/tęczówka, otwartość powiek, focus distance, stabilność i odsetek ważnych próbek.

Jak zebrać dane w Varjo Base (offline)
  1. Varjo Base → Settings → Eye tracking → Tracking → włącz „Log eye tracking data”.
  2. Skalibruj wzrok (najlepiej ustawienie „Always calibrate”). Sprawdź, czy „Allow eye tracking” jest włączone.
  3. W zakładce Headset naciśnij Record — ikona oka na przycisku potwierdza logowanie.
  4. Po nagraniu znajdziesz parę plików w C:\Users\<nazwa>\Videos\Varjo: wideo .avi + dane .csv.
  5. Wczytaj plik .csv powyżej.
Śledzenie w czasie rzeczywistym (tryb LIVE)

Są dwie drogi:

  1. Bez programowania (~1 s opóźnienia): Varjo Base dopisuje wiersze do CSV już podczas nagrywania. Dołączony skrypt varjo_live_bridge.py obserwuje najnowszy plik w Videos\Varjo i wysyła nowe wiersze przez WebSocket. Uruchom: pip install websockets, potem python varjo_live_bridge.py, w Varjo Base naciśnij Record, a tutaj kliknij Tryb LIVE.
  2. Pełne 200 Hz bez opóźnienia: własna aplikacja na natywnym SDK Varjo (varjo_GetGazeData()), wysyłająca ten sam format JSON na ten sam WebSocket — strona nie wymaga wtedy żadnych zmian.

Format wiadomości: jeden obiekt JSON na próbkę, klucze = nazwy kolumn CSV Varjo.

Ograniczenia interpretacyjne: średnica źrenicy zależy przede wszystkim od światła — porównuj wyłącznie w obrębie jednej sesji przy stabilnej luminancji. Zmęczenie, leki, kofeina i emocje zakłócają wynik. Wskaźniki mają charakter poglądowy (prototyp badawczy), nie diagnostyczny.