Hi everyone!
I'm pretty new to Inquisit and was hoping I could get some help with an experiment I'm trying to put together.
It's a standard gaze cue & spatial task in which the sequence of stimuli would be as follows:
(1) Fixation cross with left and right placeholders (remains on the screen for 500ms)
(2) Image of Face 1 - direct gaze appears (with left and right placeholders remaining on screen)(remains on the screen for 600ms)
(3) Image of Face 1 - averted gaze appears (with left and right placeholders remaining on screen)
(4) One of two targets appears in either the left or right placeholders
(5) Participants to respond by identifying targets presented
In summary, I currently have to randomise the presentation of :
2 face stimuli (face 1, face 2),
2 gaze directions (left, right),
2 targets (A, B) and
2 SOAs (300ms, 700ms)
So far, I've coded each stimuli combination individually and have all the trials randomise themselves :
For example, for the combination -
Face 1 - gaze right - target A - target to appear on the right - SOA 700ms - I've coded it as such (with added conditions for the response and what data gets logged):
<trial face1_rightgaze_rightx>
/trialcode = "face1_rightgaze_rightx"
/stimulustimes = [1=fixation, target_placeholder_left, target_placeholder_right; 500=direct_face_1, target_placeholder_left, target_placeholder_right; 1100=rightgaze_face_1, target_placeholder_left, target_placeholder_right; 1800=rightgaze_face_1, target_placeholder_left, x_target_right]
/beginresponsetime = 1800
/inputdevice=keyboard
/isvalidresponse=[trial.face1_rightgaze_rightx.response == values.responsekey1 || trial.face1_rightgaze_rightx.response == values.responsekey2]
/monkeyresponse=(30,38)
/iscorrectresponse=[trial.face1_rightgaze_rightx.beginresponsetime < values.trialduration && trial.face1_rightgaze_rightx.response == values.responsekey1]
/ontrialend = [if (trial.face1_rightgaze_rightx.correct) {values.face1rightgazerightx_countcorr += 1; values.sumrt_face1rightgazerightx += trial.face1_rightgaze_rightx.latency}
else {values.face1rightgazerightx_counterr += 1}]
/recorddata = true
</trial>
<block block1>
/trials = [1-10=noreplace(face1_rightgaze_rightx, face1_rightgaze_leftx)]
/onblockend = [values.face1rightgazerightx_countcorr = 0; values.face1rightgazerightx_counterr = 0; values.face1rightgazeleftx_countcorr = 0; values.face1rightgazeleftx_counterr = 0]
</block>
I was wondering if there are simpler ways to randomise a set of stimuli like this while...
(a) ...making sure that each stimuli (or in this case,
direct gaze face) is linked to a subsequent stimuli (
averted gaze face) for each trial
(b) ...that certain elements (i.e. the placeholders) remain on the screen as others change
I've also tried using the
setstimulustimes function in this manner but got stuck when it came to linking the faces together.
Any help would be greatly appreciated!
Thanks in advance!