====== Anti @ EEG ======
Anti@EEG is a version of [[:tools:antisaccade]] originally developed for [[:grants:7t]].
The source is [[https://github.com/LabNeuroCogDevel/mgs_encode_memory.py/blob/master/vgs_anti.py|vgs_ant.py]] ([[:tools:psychopy]]) part of [[:tools:mgs|Memory Guided Saccade (MGS) Task]], same interface can also run [[:tools:vgs]].
Used in [[:grants:7t:eeg]], [[:grants:habit:eeg]], [[:grants:spa:eeg]].
[[dollarreward]]'s psychopy implementation can also be run with parallel port (LPT) Status channel triggers enabled for EEG recording.
===== Degree Visual Angle/Distance Measurements =====
For local SSR [[tools:eyetracking#Configurations|measurements]] to visual angle, see [[tools:antisaccade:anti#visual_angle|Anti's visual angle section]] and [[https://www.sr-research.com/visual-angle-calculator/|SRR's visual angle calculator]].
* 2026-08-06 (FC,VD,WF): EEG DollarReward dots presented at 8, 16, and 23 degrees from center.
* 2026-07-30 (WF, PV): EEG chin rest measurements
^ screen width |''53'' cm / ''1920'' px|
^ screen height |''30'' cm / ''1080'' px|
^ chinrest eye to bottom |''61.5'' cm |
^ chin rest eye to top |''60'' cm|
rad2deg <- \(x) x * 180/pi # 180deg is pi radians
dot_pos <- c(7,108,214) # relative to a 640px screen
from_center_px <- 640/2 - dot_pos # pixel position from center
fc_cm <- from_center_px * 53/640 # pixel to screen distance on 53cm wide screen
dotdegs <- atan(fc_cm/60)|>rad2deg() # angle from center to points w/ 60cm eye-to-screen
# 23.374051 16.316696 8.327162
{{.:pasted:20260806-153510.png?300}}
===== Saccade scoring =====
Using EOG, see [[:tools:antisaccade#eog_data]]
''Hera/Projects/7TBrainMech/scripts/eeg/eog_cal''
eog_cal/eye_scored_mgs_eog_cleanvisit.csv: eog_cal/eye_scored_mgs_eog.csv
cd eog_cal && Rscript clean_eog_visit.R
eog_cal/eye_scored_mgs_eog.csv: $(wildcard /Volumes/Hera/Raw/EEG/7TBrainMech/1*_2*/*_mgs*.bdf) $(wildcard /Volumes/Hera/Raw/EEG/7TBrainMech/1*_2*/*_MGS*.bdf)
cd eog_cal && ml score_eog.m