====== Dollar Reward ======
DollarReward/RingReward is rewarded and neutral [[:tools:antisaccade]] task.
* was an [[:tools:eprime]] task for [[:grants:cog]] (MR, behave) and later a [[:tools:psychopy]] task for [[:grants:habit]] (MR, EEG) and [[:bigdata:NCANDA]] (MR)
* Originally for [[:tools:eyetracking:asl]] but adapted in psychopy for [[:tools:eyetracking:avotech]] and then [[:tools:eyetracking:prismaeyelink]]
* Task source code is online and on bea_res
* psychopy https://github.com/LabNeuroCogDevel/lncdtask
* ''bea_res/Tasks/Behavorial/RingsRewardBehave_20190920''
* ''bea_res/Tasks/fromScanner20130219/Rings Reward''
* Eye tracking data can be found on
* ''bea_res/Data/Temporary Raw Data/lab_eyetracker/subj_info''
* MR processing: [[:grants:habit:mr:dollarreward]]
===== Design =====
* Events are ''ring'', ''prep'', ''dot'' and ''iti''
* ring is either a neutral or reward cue. prep is a red cross
* duration of all are original-TR locked 1.5
* includes catch trials
* have 6 sides. 3 right and 3 left.
https://github.com/LabNeuroCogDevel/lncdtask/blob/main/dollar_reward_events.txt
===== XDAT/TTL =====
ASL and EEG share triggers sent of LPT/parallel port.
https://github.com/LabNeuroCogDevel/lncdtask/blob/main/lncdtask/dollarreward.py#L85
===== Data Files =====
As of 20251124, synced from linux task computer with cron. Note: UPMC network is disabled when eyetracking host PC is on.
# midnight update subj_info
# use ~/.ssh/rhea_sync.pub to send to bea_res
0 0 * * * rsync -avhi $HOME/Desktop/lncdtask/subj_info/ frhea:/Volumes/L/bea_res/Data/Temporary\ Raw\ Data/lab_eyetracker/subj_info/
# 20251124 - backup on Hera too
0 2 * * * rsync -avhi $HOME/Desktop/lncdtask/subj_info/ rhea:/Volumes/Hera/Raw/EyeTracking/BehaveEyeLink
===== EPrime =====
perl -MData::Dumper -F= -slane '
next unless /^(\[Object|Name|Duration|Code|Text|ForeColor|.*Filename)/;
$obj=$F[0] if $F[0] =~ /Object/;
$h{$obj}->{$F[0] =~ s/.*Filename/Filename/r}=join("=",(@F[1..$#F] =~ s/"|\r//gr));
END {for $k (keys %h){
next unless ($h{$k}->{Duration}||$h{$k}->{Code}) and $h{$k}->{Name};
print join("\t", map {$h{$k}->{$_}} (qw/Name Duration ForeColor Filename Text Code/)); }}
' '/Volumes/L/bea_res/Tasks/Behavorial/RingsRewardBehave_20190920/RING Chuck Rewards - v. 1.es' | sort -k2nr | sed 's/^\|$\|\t/|/g'
^Name^Dur^Color^File^Text^Code^
|TextDisplay2|6000|white||+|
|AntiCross|1500|red||+|
|rewRINGS|1500||dollarRing.BMP||
|WhiteCross|1500|white||+|
|GreenCross|750|lime||+|
|FixStart|||||PupilSend(EVENTSTROBE+60)|
|FixTarget|||||PupilSend(EVENTSTROBE+160)|
|neutralcatch1Start|||||PupilSend(EVENTSTROBE+10)|
|NeutralCatch1Target|||||PupilSend(EVENTSTROBE+111)|
|neutralcatch2Start|||||PupilSend(EVENTSTROBE+20)|
|NeutralCatch2Target|||||PupilSend(EVENTSTROBE+121)|
|NeutralStart|||||PupilSend(EVENTSTROBE+50)|
|NeutralTarget007|||||PupilSend(EVENTSTROBE+151)|
|NeutralTarget108|||||PupilSend(EVENTSTROBE+152)|
|NeutralTarget214|||||PupilSend(EVENTSTROBE+153)|
|NeutralTarget426|||||PupilSend(EVENTSTROBE+154)|
|NeutralTarget532|||||PupilSend(EVENTSTROBE+155)|
|NeutralTarget633|||||PupilSend(EVENTSTROBE+156)|
|rewardcatch1Start|||||PupilSend(EVENTSTROBE+30)|
|RewardCatch1Target|||||PupilSend(EVENTSTROBE+131)|
|rewardcatch2Start|||||PupilSend(EVENTSTROBE+40)|
|RewardCatch2Target|||||PupilSend(EVENTSTROBE+141)|
|rewardStart|||||PupilSend(EVENTSTROBE+70)|
|RewardTarget007|||||PupilSend(EVENTSTROBE+171)|
|RewardTarget108|||||PupilSend(EVENTSTROBE+172)|
|RewardTarget214|||||PupilSend(EVENTSTROBE+173)|
|RewardTarget426|||||PupilSend(EVENTSTROBE+174)|
|RewardTarget532|||||PupilSend(EVENTSTROBE+175)|
|RewardTarget633|||||PupilSend(EVENTSTROBE+176)|
|Stop|||||PupilSend(EVENTSTROBE+240)|
|VGSStart|||||PupilSend(EVENTSTROBE+80)|
|VGStarget|||||PupilSend(EVENTSTROBE+180)|
|AllDone|-1||||
|GetRead|-1||||
|Intro|-1||Slide2.BMP||