SAKKADY 1. Informacje ogólne Zadanie służy do pomiaru funkcji
Transkrypt
SAKKADY 1. Informacje ogólne Zadanie służy do pomiaru funkcji
SAKKADY 1. Informacje ogólne Zadanie służy do pomiaru funkcji kontrolnych. Aplikacja jest przygotowana w języku C++ z wykorzystaniem otwartych bibliotek. Danymi wejściowymi są: plik konfiguracyjny (.cfg) zawierający wartości podstawowych zmiennych sterujących zadaniem, pliki graficzne (.bmp) wyświetlane w trakcie zadania oraz plik tekstowy (.txt) zawierające wyświetlaną badanemu instrukcję wykonania zadania. Na wyjściu aplikacja tworzy plik wynikowy (.txt), zawierający dane o konfiguracji zadania i reakcjach osoby badanej. 2. Ekran startowy Po uruchomieniu aplikacji wyświetlany jest ekran startowy. Okno zawiera następujące pola edycyjne: a. Pseudonim – pole typu aln, wypełniane przez osobę badaną, zapisywane w pliku wynikowym; pole nie dopuszcza polskich liter, znaków specjalnych ani spacji; pole wymagane b. Wiek – pole liczbowe i całkowite, wypełniane przez osobę badaną, zapisywane w pliku wynikowym; pole nie umożliwia wprowadzenia wartości mniejszej bądź równej zero; pole wymagane c. Płeć – pole z listą rozwijaną, dwie dostępne wartości: „Kobieta” bądź „Mężczyzna”; zapisywane w pliku wynikowym; pole wymagane d. Warunek – pole z listą rozwijaną, prezentującą nazwy dostępnych plików konfiguracyjnych .cfg; pole umożliwia wybór tylko jednej wartości; pole wymagane e. Zapis wyników? – pole wyboru; jeżeli jest zaznaczone, aplikacja tworzy plik wynikowy; jeżeli pole jest odznaczone, dane nie są zapisywane (tryb treningu); domyślnie pole powinno być zaznaczone Wartości wpisane w powyższe pola powinny być zachowywane aż do momentu zakończenia pracy aplikacji, tj. uruchomienie zadania i jego przerwanie powoduje powrót do ekranu startowego, lecz nie czyści zawartości jego pól. Przyciśnięcie „Uruchom” powoduje rozpoczęcie zadania. 3. Dane wejściowe 3.1 Plik konfiguracyjny Plik z rozszerzeniem .cfg zawiera szereg wartości dla zmiennych sterujących przebiegiem zadania: a. nazwa_inst – nazwa istniejącego pliku .txt, zawierającego tekst instrukcji; jest on wyświetlany tuż po uruchomieniu zadania, przed pierwszą próbą b. nazwa_seq – nazwa istniejącego pliku .txt, zawierającego nazwy bitmap – bodźców docelowych, jakie mają być wyświetlane w ramach zadania c. nazwa_tlo – nazwa istniejącego pliku .bmp, który stanowić będzie tło zadania, na którym wyświetlane będą pozostałe bitmapy d. progbar – pole binarne, przyjmujące wartość „1” bądź „0”; w przypadku wartości „1”, w zadaniu wyświetlany jest pasek postępu, jeżeli „0” – pasek nie jest wyświetlany e. pro_numb – zmienna liczbowa, nieujemna, określająca liczbę prób o typie zgodnym (tzw. próba typu prosakada) f. anty_numb - zmienna liczbowa, nieujemna, określająca liczbę prób o typie niezgodnym (tzw. próba typu antysakada) g. fixpoint1_time – pole liczbowe, nieujemne, wyznaczające w milisekundach czas wyświetlania pierwszego punktu fiksacji na ekranie h. hint – pole binarne, przyjmujące wartość „1” bądź „0”; jeżeli pole ma wartość „1”, przed bodźcem docelowym prezentowana jest wskazówka, jeżeli „0” – wskazówka nie jest prezentowana i. hint_time – pole liczbowe, nieujemne, determinujące w milisekundach czas wyświetlania wskazówki, jeżeli wartość hint = 1 j. fixpoint2_mintime oraz fixpoint2_maxtime – dwa pole liczbowe, nieujemne, wyznaczające granice przedziału, z którego w każdej próbie losowana jest wartość będąca czasem wyświetlania drugiego punktu fiksacji, liczonym w milisekundach k. square_dist – pole liczbowe, nieujemne, wyznaczające w pikselach dystans od środka ekranu, w jakim prezentowany jest kwadrat l. square_time - pole liczbowe, nieujemne, wyznaczające w milisekundach czas, przez który prezentowany jest na ekranie kwadrat m. target_dist – pole liczbowe, nieujemne, określające dystans w pikselach od środka ekranu, w jakim prezentowany jest bodziec docelowy n. target_time – pole liczbowe, nieujemne, określające w milisekundach czas prezentacji bodźca docelowego o. mask_time - pole liczbowe, nieujemne, określające w milisekundach czas prezentacji maski p. alfa – pole liczbowe, określające w pikselach wartość przyrostu paska postępu z każdą próbą 3.2 Pliki graficzne Jako bodźce wyświetlane w zadaniu wykorzystywane będą pliki graficzne w formacie .bmp. Aplikacja ma wykorzystywać kanał alfa plików (przezroczystość). Nazwy wyświetlanych obrazów zdefiniowane są w pliku z sekwencją, określonym w wybranym na ekranie startowym pliku konfiguracyjnym .cfg (zmienna nazwa_seq). Bitmapy są wyświetlane w określonej przez plik konfiguracyjny odległości od środka ekranu (zmienna target_dist), po stronie lewej bądź prawej, w zależności od prezentacji innych bitmap (por. dalej). Nazwy plików graficznych muszą być przygotowane zgodnie z kluczem, umożliwiającym określenie czy reakcja badanego jest poprawna – system jednoznacznego nazewnictwa wymaga opracowania (przykładowo, nazwa pliku graficznego mogłaby być kodem klawisza klawiatury który ma być przyciśnięty, by poprawność w danej próbie była równa 1). Poprawność i czas reakcji badanego na powyższe bitmapy będą rejestrowane w pliku wynikowym. Uwaga: klawisze prawidłowych reakcji nie mogą ograniczać się do znaków alfanumerycznych, muszą obejmować również klawisze funkcyjne – przede wszystkim klawisze strzałek. Obok powyższych bitmap, aplikacja będzie wyświetlać w każde próbie cztery dodatkowe bitmapy pomocnicze – reakcje na nie nie są rejestrowane. Bitmapy te będą jednoznacznie identyfikowane przez nazwy: a. fixpoint.bmp – bitmapa wyświetlana w każdej próbie zadania maksymalnie dwukrotnie, której czas wyświetlania regulują zmienne fixpoint1_time oraz fixpoin2_mintime i fixpoin2_maxtime b. hint_pro.bmp bądź hint_anty.bmp – bitmapa wyświetlana w każdej próbie zadania raz, bitmapa o sufiksie _pro w próbach zgodnych (prosakady), zaś bitmapa o sufiksie _anty w próbach niezgodnych (antysakady), przez czas regulowany wartością zmiennej hint_time w pliku konfiguracyjnym, o ile zmienna hint = 1 c. square.bpm - bitmapa wyświetlana w każdej próbie zadania raz przez czas regulowany wartością zmiennej square_time w pliku konfiguracyjnym, w lokalizacji określanej zmienną square_dist od środka ekranu, po prawej lub lewej stronie (losowo); strona wyświetlenia musi zostać zapisana w pliku wynikowym („L” dla strony lewej, „P” – dla prezentacji prawostronnej, zmienna strona) d. mask.bmp – bitmapa wyświetlana w każdej próbie zadania raz przez czas regulowany zmienną mask_time, po tej samej stronie po której wyświetlona jest bitmapa będąca bodźcem docelowym i w tej samej odległości od środka ekranu 3.3 Plik z sekwencją Plik w formacie .txt, zawierający nazwy bitmap, jakie mają być wyświetlane w trakcie trwania zadania. Nazwy wpisywane są w jednej kolumnie, jedna nazwa per wiersz. Bitmapa wyświetlana w danej próbie jako bodziec docelowy, wymagający reakcji badanego, jest losowana spośród bitmap definiowanych przez plik sekwencji (losowanie ze zwracaniem). Liczba losowań równa jest sumie wartości zmiennych pro_numb i anty_numb z pliku konfiguracyjnego. 4. Przebieg zadania Właściwe zadanie składa się z określonej liczby prób. W ramach każdej z nich, prezentowana jest sekwencja bitmap, których parametry określa plik konfiguracyjny. Rejestrowana jest poprawność oraz czas reakcji na bitmapę będącą bodźcem docelowym, losowaną z pliku sekwencji. Istnieją dwa rodzaje prób w zadaniu: zgodne (prosakady) oraz niezgodne (antysakady). Liczba prób pierwszego typu określana jest zmienną pro_numb, zaś drugiego – anty_numb. Kolejność prób w zadaniu jest losowa, musi jedynie zostać zachowana zadana proporcja prób dwojakiego rodzaju. Bezpośrednio po uruchomieniu zadania, na ekranie wyświetlana jest instrukcja, pobrana z odpowiedniego pliku .txt, wskazanego w wybranym na ekranie startowym pliku konfiguracyjnym, w polu nazwa_inst. Tekst pozostaje na ekranie dopóki nie zostanie przyciśnięty dowolny klawisz na klawiaturze, po czym rozpoczyna się właściwa część zadania. Wszystkie bitmapy w obu typach prób wyświetlane są na tle bitmapy, wskazanej w pliku konfiguracyjnym pod zmienną nazwa_tlo. 4.1. Próba zgodna (prosakada) Próba zgodna rozpoczyna się od wyświetlenia w środkowym punktu ekranu bitmapy fixpoint.bpm (punkt fiksacji) przez czas regulowany zmienną fixpoint1_time (milisekundy). Jeżeli w pliku konfiguracyjnym zmienna hint = 1, wyświetlana jest następnie bitmapa hint_pro.bmp (wskazówka zgodna), przez liczbę milisekund określaną wartością zmiennej hint_time. Bitmapa wyświetlana jest w środkowym punkcie ekranu. Jeżeli wyświetlana była bitmapa wskazówki, wyświetlana jest ponownie bitmapa z punktem fiksacji – fixpoint.bmp, przez czas w milisekundach wylosowany z przedziału, którego granice określają wartości zmiennych fixpoint2_mintime oraz fixpoint2_maxtime. Po zniknięciu punktu fiksacji wyświetlana jest kolejna bitmapa – square.bmp, w odległości od środka ekranu wyznaczanej zmienną square_dist, w pikselach, przez czas określony zmienną square_time w milisekundach. Bitmapa wyświetlana jest po stronie lewej bądź prawej od środka ekranu – losowo. Stronność prezentacji jest rejestrowana w pliku wynikowym. Poniższy przykład jest próbą z prezentacją lewostronną, znakowaną w pliku wynikowym jako „L”. Po zniknięciu bitmapy square.bmp, prezentowany jest bodziec docelowy, na który mierzona jest reakcja badanego. Bitmapa jest losowana spośród nazw plików wyznaczanych w pliku sekwencji (nazwa_seq w pliku konfiguracyjnym). W próbie zgodnej (prosakada), bitmapa ta prezentowana jest po tej samej stronie, co bitmapa square.bmp. Odległość w pikselach od środka ekranu oraz czas prezentacji bitmapy w milisekundach wyznaczają zmienne target_dist oraz target_time. Po upływie zadanego czasu, prezentowana jest ostatnia bitmapa – mask.bmp (maska), przez czas określony zmienną mask_time. Bitmapa prezentowana jest po tej samej stronie i w tej samej odległości od środka ekranu, co bitmapa z bodźcem docelowym. Zadaniem badanego jest zareagować na bitmapę docelową przyciśnięciem odpowiedniego klawisza na klawiaturze – rejestrowany jest czas, jaki upłynął od prezentacji bodźca docelowego do wciśnięcia klawisza (zmienna RT w pliku wynikowym) oraz poprawność reakcji (zmienna poprawnosc w pliku wynikowym). W momencie gdy zostanie przyciśnięty klawisz, bitmapa maski znika i wyświetlany jest centralnie napis: „Naciśnij dowolny klawisz żeby przejść dalej”. Jeżeli badany nie nacisnął żadnego klawisza w czasie mniejszym lub równym wartości zmiennej mask_time, próba również się kończy zniknięciem maski i wyświetleniem powyższego napisu, lecz w pliku wynikowym zmienna RT przyjmie wartość równą mask_time, a zmienna poprawnosc będzie równa 0. 4.2. Próba niezgodna (antysakada) Próby niezgodne budowane są w sposób analogiczny do prób zgodnych, z trzema różnicami: a. jeżeli w pliku konfiguracyjnym zmienna hint = 1, wyświetlana jest bitmapa hint_anty.bmp (wskazówka niezgodna), przez liczbę milisekund określaną wartością zmiennej hint_time b. bodziec docelowy, losowany z pliku z sekwencją, wyświetlany jest po przeciwnej stronie wobec prezentacji bitmapy square.bmp c. bitmapa maski (mask.bmp) prezentowana jest również po przeciwnej stronie wobec prezentacji bitmapy square.bmp, a tej samej co bodziec docelowy Jeżeli w pliku konfiguracyjnym wartość zmiennej progbar jest równa „1”, w środkowej górnej części ekranu wyświetlany jest pasek postępu, analogiczny jak w zadaniu Stroopa, który zapełnia się w miarę trwania zadania. Pasek obecny jest we wszystkich próbach, niezależnie od tego czy są zgodne (prosakady), czy niezgodne (antysakady). Pasek wypełnia się z każdą próbą o liczbę pikseli określoną w pliku konfiguracyjnym zmienną alfa, o ile reakcja badanego była poprawna. 5. Plik wynikowy Plik wynikowy ma format .txt, zaś jego nazwa równa jest wartości wpisanej w polu „Pseudonim” na ekranie startowym. Liczba wierszy równa się liczbie prób, a każdy wiersz zawiera poniższe informacje, zgodnie z reakcjami osoby badanej w danej próbie: a. nick – zmienna typu aln, równa wartości wpisanej w pole „Pseudonim” na ekranie startowym b. wiek – zmienna int, równa wartości wpisanej w pole „Wiek” na ekranie startowym c. plec – zmienna zawierająca wartość „K” jeżeli na ekranie startowym z listy rozwijanej pry polu „Płeć” wybrano wartość „Kobieta” bądź wartość „M” jeżeli wybrano wartość „Mężczyzna” d. nazwa_cfg – zmienna zawierająca nazwę pliku .cfg, wybranego na ekranie startowym z listy rozwijanej pola „Warunek” e. trial – zmienna liczbowa, nieujemna, określająca numer próby; pierwszym numerem jest „1”, ostatnim n, gdzie n jest równa sumarycznej wartości zmiennych pro_numb oraz anty_numb f. nazwa_bmp – zmienna zawierająca nazwę prezentowanej w próbie o numerze trial bitmapy będącej bodźcem docelowym g. typ – zmienna zawierająca wartość „PRO” bądź „ANTY” w zależności od rodzaju próby (odpowiednio, próba zgodna i niezgodna) h. strona – zmienna zawierająca wartość „L”, jeżeli w danej próbie square.bmp wyświetlona była po lewej stronie od środka ekranu bądź wartość „P”, jeżeli prezentacja była po prawej stronie od środka ekranu i. poprawnosc – zmienna przyjmująca wartość 0 bądź 1, w zależności od tego, czy badany zareagował wciśnięciem poprawnego klawisza po prezentacji bodźca docelowego j. rt – zmienna liczbowa, której wartość równa jest liczbie milisekund jakie upłynęły od momentu wyświetlenia bodźca docelowego na ekranie do momentu przyciśnięcia klawisza przez osobę badaną