Presenting stimuli only once across blocks and entire experiment


Author
Message
USYDPSYCH
USYDPSYCH
New Member (23 reputation)New Member (23 reputation)New Member (23 reputation)New Member (23 reputation)New Member (23 reputation)New Member (23 reputation)New Member (23 reputation)New Member (23 reputation)New Member (23 reputation)
Group: Forum Members
Posts: 8, Visits: 17
I want each of my stimuli to present only once across the entire experiment, but I keep getting repeats in the different blocks. How do I fix my script so that each photo is only presented once, and once only? I'm using noreplacenorepeat but I seem to get repeats when a new block starts. Thank you

<trial AMAF>
/ stimulustimes = [0=fix; 500=AMAF]
/ validresponse = ("a", "g", "l")
/ correctresponse = ("l")
/ posttrialpause = (1000)
/ timeout = (3500)
</trial>

<trial ALAF>
/ stimulustimes = [0=fix; 500=ALAF]
/ validresponse = ("a", "g", "l")
/ correctresponse = ("l")
/ posttrialpause = (1000)
/ timeout = (3500)
</trial>

<trial HMAF>
/ stimulustimes = [0=fix; 500=HMAF]
/ validresponse = ("a", "g", "l")
/ correctresponse = ("a")
/ posttrialpause = (1000)
/ timeout = (3500)
</trial>

<trial HLAF>
/ stimulustimes = [0=fix; 500=HLAF]
/ validresponse = ("a", "g", "l")
/ correctresponse = ("a")
/ posttrialpause = (1000)
/ timeout = (3500)
</trial>

<trial SMAF>
/ stimulustimes = [0=fix; 500=SMAF]
/ validresponse = ("a", "g", "l")
/ correctresponse = ("g")
/ posttrialpause = (1000)
/ timeout = (3500)
</trial>

<trial SLAF>
/ stimulustimes = [0=fix; 500=SLAF]
/ validresponse = ("a", "g", "l")
/ correctresponse = ("g")
/ posttrialpause = (1000)
/ timeout = (3500)
</trial>

<trial AMAM> 
/ stimulustimes = [0=fix; 500=AMAM]
/ validresponse = ("a", "g", "l")
/ correctresponse = ("l")
/ posttrialpause = (1000)
/ timeout = (3500)
</trial>

<trial ALAM>
/ stimulustimes = [0=fix; 500=ALAM]
/ validresponse = ("a", "g", "l")
/ correctresponse = ("l")
/ posttrialpause = (1000)
/ timeout = (3500)
</trial>

<trial HMAM>
/ stimulustimes = [0=fix; 500=HMAM]
/ validresponse = ("a", "g", "l")
/ correctresponse = ("a")
/ posttrialpause = (1000)
/ timeout = (3500)
</trial>

<trial HLAM>
/ stimulustimes = [0=fix; 500=HLAM]
/ validresponse = ("a", "g", "l")
/ correctresponse = ("a")
/ posttrialpause = (1000)
/ timeout = (3500)
</trial>

<trial SMAM>
/ stimulustimes = [0=fix; 500=SMAM]
/ validresponse = ("a", "g", "l")
/ correctresponse = ("g")
/ posttrialpause = (1000)
/ timeout = (3500)
</trial>

<trial SLAM>
/ stimulustimes = [0=fix; 500=SLAM]
/ validresponse = ("a", "g", "l")
/ correctresponse = ("g")
/ posttrialpause = (1000)
/ timeout = (3500)
</trial>

*************************************************
Creating Blocks
*************************************************


<block pre_happy_v_sad>
/ trials = [1-8 = noreplacenorepeat(HLAF, HMAF, HLAM, HMAM, SLAF, SMAF, SLAM, SMAM)]
/ preinstructions = (happyvsad)
/ bgstim = (happyreminder, sadreminder_righthandside)
</block>

<block pre_happy_v_angry>
/ trials = [1-8 = noreplacenorepeat(HLAF, HMAF, HLAM, HMAM, ALAF, AMAF, ALAM, AMAM)]
/ preinstructions = (happyvangry)
/ bgstim = (happyreminder, angryreminder)
</block>

<block pre_sad_v_angry>
/ trials = [1-8 = noreplacenorepeat(SLAF, SMAF, SLAM, SMAM, ALAF, AMAF, ALAM, AMAM)]
/ preinstructions = (sadvangry)
/ bgstim = (sadreminder_lefthandside, angryreminder)
</block>

<block adapt_happy_v_sad>
/ trials = [1-20 = noreplacenorepeat(HLAF, HLAM, SLAF, SLAM)]
/ preinstructions = (happyvsad)
/ bgstim = (happyreminder, sadreminder_righthandside)
</block>

<block adapt_happy_v_angry>
/ trials = [1-20 = noreplacenorepeat(HLAF, HLAM, ALAF, ALAM)]
/ preinstructions = (happyvangry)
/ bgstim = (happyreminder, angryreminder)
</block>

<block adapt_sad_v_angry>
/ trials = [1-20 = noreplacenorepeat(SLAF, SLAM, ALAF, ALAM)]
/ preinstructions = (sadvangry)
/ bgstim = (sadreminder_lefthandside, angryreminder)
</block>

<block post_happy_v_sad>
/ trials = [1-8 = noreplacenorepeat(HLAF, HMAF, HLAM, HMAM, SLAF, SMAF, SLAM, SMAM)]
/ preinstructions = (happyvsad)
/ bgstim = (happyreminder, sadreminder_righthandside)
</block>

<block post_happy_v_angry>
/ trials = [1-8 = noreplacenorepeat(HLAF, HMAF, HLAM, HMAM, ALAF, AMAF, ALAM, AMAM)]
/ preinstructions = (happyvangry)
/ bgstim = (happyreminder, angryreminder)
</block>

<block post_sad_v_angry>
/ trials = [1-8 = noreplacenorepeat(SLAF, SMAF, SLAM, SMAM, ALAF, AMAF, ALAM, AMAM)]
/ preinstructions = (sadvangry)
/ bgstim = (sadreminder_lefthandside, angryreminder)
</block>



*************************************************
Creating an Expt
*************************************************
<expt emotion_attractiveness>
/ preinstructions = (intro)
/ postinstructions = (end)
/ blocks = [1=pre_happy_v_sad;
            2=pre_happy_v_angry;
            3=pre_sad_v_angry;
            4=adapt_happy_v_sad;
            5=adapt_happy_v_angry;
           6=adapt_sad_v_angry;
            7=post_happy_v_sad;
            8=post_happy_v_angry;
            9=post_sad_v_angry]
</expt>

Dave
Dave
Supreme Being (957K reputation)Supreme Being (957K reputation)Supreme Being (957K reputation)Supreme Being (957K reputation)Supreme Being (957K reputation)Supreme Being (957K reputation)Supreme Being (957K reputation)Supreme Being (957K reputation)Supreme Being (957K reputation)
Group: Administrators
Posts: 11K, Visits: 73K
USYDPSYCH - 7/28/2021
I want each of my stimuli to present only once across the entire experiment, but I keep getting repeats in the different blocks. How do I fix my script so that each photo is only presented once, and once only? I'm using noreplacenorepeat but I seem to get repeats when a new block starts. Thank you

<trial AMAF>
/ stimulustimes = [0=fix; 500=AMAF]
/ validresponse = ("a", "g", "l")
/ correctresponse = ("l")
/ posttrialpause = (1000)
/ timeout = (3500)
</trial>

<trial ALAF>
/ stimulustimes = [0=fix; 500=ALAF]
/ validresponse = ("a", "g", "l")
/ correctresponse = ("l")
/ posttrialpause = (1000)
/ timeout = (3500)
</trial>

<trial HMAF>
/ stimulustimes = [0=fix; 500=HMAF]
/ validresponse = ("a", "g", "l")
/ correctresponse = ("a")
/ posttrialpause = (1000)
/ timeout = (3500)
</trial>

<trial HLAF>
/ stimulustimes = [0=fix; 500=HLAF]
/ validresponse = ("a", "g", "l")
/ correctresponse = ("a")
/ posttrialpause = (1000)
/ timeout = (3500)
</trial>

<trial SMAF>
/ stimulustimes = [0=fix; 500=SMAF]
/ validresponse = ("a", "g", "l")
/ correctresponse = ("g")
/ posttrialpause = (1000)
/ timeout = (3500)
</trial>

<trial SLAF>
/ stimulustimes = [0=fix; 500=SLAF]
/ validresponse = ("a", "g", "l")
/ correctresponse = ("g")
/ posttrialpause = (1000)
/ timeout = (3500)
</trial>

<trial AMAM> 
/ stimulustimes = [0=fix; 500=AMAM]
/ validresponse = ("a", "g", "l")
/ correctresponse = ("l")
/ posttrialpause = (1000)
/ timeout = (3500)
</trial>

<trial ALAM>
/ stimulustimes = [0=fix; 500=ALAM]
/ validresponse = ("a", "g", "l")
/ correctresponse = ("l")
/ posttrialpause = (1000)
/ timeout = (3500)
</trial>

<trial HMAM>
/ stimulustimes = [0=fix; 500=HMAM]
/ validresponse = ("a", "g", "l")
/ correctresponse = ("a")
/ posttrialpause = (1000)
/ timeout = (3500)
</trial>

<trial HLAM>
/ stimulustimes = [0=fix; 500=HLAM]
/ validresponse = ("a", "g", "l")
/ correctresponse = ("a")
/ posttrialpause = (1000)
/ timeout = (3500)
</trial>

<trial SMAM>
/ stimulustimes = [0=fix; 500=SMAM]
/ validresponse = ("a", "g", "l")
/ correctresponse = ("g")
/ posttrialpause = (1000)
/ timeout = (3500)
</trial>

<trial SLAM>
/ stimulustimes = [0=fix; 500=SLAM]
/ validresponse = ("a", "g", "l")
/ correctresponse = ("g")
/ posttrialpause = (1000)
/ timeout = (3500)
</trial>

*************************************************
Creating Blocks
*************************************************


<block pre_happy_v_sad>
/ trials = [1-8 = noreplacenorepeat(HLAF, HMAF, HLAM, HMAM, SLAF, SMAF, SLAM, SMAM)]
/ preinstructions = (happyvsad)
/ bgstim = (happyreminder, sadreminder_righthandside)
</block>

<block pre_happy_v_angry>
/ trials = [1-8 = noreplacenorepeat(HLAF, HMAF, HLAM, HMAM, ALAF, AMAF, ALAM, AMAM)]
/ preinstructions = (happyvangry)
/ bgstim = (happyreminder, angryreminder)
</block>

<block pre_sad_v_angry>
/ trials = [1-8 = noreplacenorepeat(SLAF, SMAF, SLAM, SMAM, ALAF, AMAF, ALAM, AMAM)]
/ preinstructions = (sadvangry)
/ bgstim = (sadreminder_lefthandside, angryreminder)
</block>

<block adapt_happy_v_sad>
/ trials = [1-20 = noreplacenorepeat(HLAF, HLAM, SLAF, SLAM)]
/ preinstructions = (happyvsad)
/ bgstim = (happyreminder, sadreminder_righthandside)
</block>

<block adapt_happy_v_angry>
/ trials = [1-20 = noreplacenorepeat(HLAF, HLAM, ALAF, ALAM)]
/ preinstructions = (happyvangry)
/ bgstim = (happyreminder, angryreminder)
</block>

<block adapt_sad_v_angry>
/ trials = [1-20 = noreplacenorepeat(SLAF, SLAM, ALAF, ALAM)]
/ preinstructions = (sadvangry)
/ bgstim = (sadreminder_lefthandside, angryreminder)
</block>

<block post_happy_v_sad>
/ trials = [1-8 = noreplacenorepeat(HLAF, HMAF, HLAM, HMAM, SLAF, SMAF, SLAM, SMAM)]
/ preinstructions = (happyvsad)
/ bgstim = (happyreminder, sadreminder_righthandside)
</block>

<block post_happy_v_angry>
/ trials = [1-8 = noreplacenorepeat(HLAF, HMAF, HLAM, HMAM, ALAF, AMAF, ALAM, AMAM)]
/ preinstructions = (happyvangry)
/ bgstim = (happyreminder, angryreminder)
</block>

<block post_sad_v_angry>
/ trials = [1-8 = noreplacenorepeat(SLAF, SMAF, SLAM, SMAM, ALAF, AMAF, ALAM, AMAM)]
/ preinstructions = (sadvangry)
/ bgstim = (sadreminder_lefthandside, angryreminder)
</block>



*************************************************
Creating an Expt
*************************************************
<expt emotion_attractiveness>
/ preinstructions = (intro)
/ postinstructions = (end)
/ blocks = [1=pre_happy_v_sad;
            2=pre_happy_v_angry;
            3=pre_sad_v_angry;
            4=adapt_happy_v_sad;
            5=adapt_happy_v_angry;
           6=adapt_sad_v_angry;
            7=post_happy_v_sad;
            8=post_happy_v_angry;
            9=post_sad_v_angry]
</expt>

I have no idea what you are referring to. There are no stimuli in the code you posted -- you have posted some <trial> and <block> definitions.

noreplacenorepeat() in your <block> element's /trials attributes is concerned with *trial* selection, it has nothing to do with stimulus selection perfomed in the trials.
USYDPSYCH
USYDPSYCH
New Member (23 reputation)New Member (23 reputation)New Member (23 reputation)New Member (23 reputation)New Member (23 reputation)New Member (23 reputation)New Member (23 reputation)New Member (23 reputation)New Member (23 reputation)
Group: Forum Members
Posts: 8, Visits: 17
Dave - 7/28/2021
USYDPSYCH - 7/28/2021
I want each of my stimuli to present only once across the entire experiment, but I keep getting repeats in the different blocks. How do I fix my script so that each photo is only presented once, and once only? I'm using noreplacenorepeat but I seem to get repeats when a new block starts. Thank you

<trial AMAF>
/ stimulustimes = [0=fix; 500=AMAF]
/ validresponse = ("a", "g", "l")
/ correctresponse = ("l")
/ posttrialpause = (1000)
/ timeout = (3500)
</trial>

<trial ALAF>
/ stimulustimes = [0=fix; 500=ALAF]
/ validresponse = ("a", "g", "l")
/ correctresponse = ("l")
/ posttrialpause = (1000)
/ timeout = (3500)
</trial>

<trial HMAF>
/ stimulustimes = [0=fix; 500=HMAF]
/ validresponse = ("a", "g", "l")
/ correctresponse = ("a")
/ posttrialpause = (1000)
/ timeout = (3500)
</trial>

<trial HLAF>
/ stimulustimes = [0=fix; 500=HLAF]
/ validresponse = ("a", "g", "l")
/ correctresponse = ("a")
/ posttrialpause = (1000)
/ timeout = (3500)
</trial>

<trial SMAF>
/ stimulustimes = [0=fix; 500=SMAF]
/ validresponse = ("a", "g", "l")
/ correctresponse = ("g")
/ posttrialpause = (1000)
/ timeout = (3500)
</trial>

<trial SLAF>
/ stimulustimes = [0=fix; 500=SLAF]
/ validresponse = ("a", "g", "l")
/ correctresponse = ("g")
/ posttrialpause = (1000)
/ timeout = (3500)
</trial>

<trial AMAM> 
/ stimulustimes = [0=fix; 500=AMAM]
/ validresponse = ("a", "g", "l")
/ correctresponse = ("l")
/ posttrialpause = (1000)
/ timeout = (3500)
</trial>

<trial ALAM>
/ stimulustimes = [0=fix; 500=ALAM]
/ validresponse = ("a", "g", "l")
/ correctresponse = ("l")
/ posttrialpause = (1000)
/ timeout = (3500)
</trial>

<trial HMAM>
/ stimulustimes = [0=fix; 500=HMAM]
/ validresponse = ("a", "g", "l")
/ correctresponse = ("a")
/ posttrialpause = (1000)
/ timeout = (3500)
</trial>

<trial HLAM>
/ stimulustimes = [0=fix; 500=HLAM]
/ validresponse = ("a", "g", "l")
/ correctresponse = ("a")
/ posttrialpause = (1000)
/ timeout = (3500)
</trial>

<trial SMAM>
/ stimulustimes = [0=fix; 500=SMAM]
/ validresponse = ("a", "g", "l")
/ correctresponse = ("g")
/ posttrialpause = (1000)
/ timeout = (3500)
</trial>

<trial SLAM>
/ stimulustimes = [0=fix; 500=SLAM]
/ validresponse = ("a", "g", "l")
/ correctresponse = ("g")
/ posttrialpause = (1000)
/ timeout = (3500)
</trial>

*************************************************
Creating Blocks
*************************************************


<block pre_happy_v_sad>
/ trials = [1-8 = noreplacenorepeat(HLAF, HMAF, HLAM, HMAM, SLAF, SMAF, SLAM, SMAM)]
/ preinstructions = (happyvsad)
/ bgstim = (happyreminder, sadreminder_righthandside)
</block>

<block pre_happy_v_angry>
/ trials = [1-8 = noreplacenorepeat(HLAF, HMAF, HLAM, HMAM, ALAF, AMAF, ALAM, AMAM)]
/ preinstructions = (happyvangry)
/ bgstim = (happyreminder, angryreminder)
</block>

<block pre_sad_v_angry>
/ trials = [1-8 = noreplacenorepeat(SLAF, SMAF, SLAM, SMAM, ALAF, AMAF, ALAM, AMAM)]
/ preinstructions = (sadvangry)
/ bgstim = (sadreminder_lefthandside, angryreminder)
</block>

<block adapt_happy_v_sad>
/ trials = [1-20 = noreplacenorepeat(HLAF, HLAM, SLAF, SLAM)]
/ preinstructions = (happyvsad)
/ bgstim = (happyreminder, sadreminder_righthandside)
</block>

<block adapt_happy_v_angry>
/ trials = [1-20 = noreplacenorepeat(HLAF, HLAM, ALAF, ALAM)]
/ preinstructions = (happyvangry)
/ bgstim = (happyreminder, angryreminder)
</block>

<block adapt_sad_v_angry>
/ trials = [1-20 = noreplacenorepeat(SLAF, SLAM, ALAF, ALAM)]
/ preinstructions = (sadvangry)
/ bgstim = (sadreminder_lefthandside, angryreminder)
</block>

<block post_happy_v_sad>
/ trials = [1-8 = noreplacenorepeat(HLAF, HMAF, HLAM, HMAM, SLAF, SMAF, SLAM, SMAM)]
/ preinstructions = (happyvsad)
/ bgstim = (happyreminder, sadreminder_righthandside)
</block>

<block post_happy_v_angry>
/ trials = [1-8 = noreplacenorepeat(HLAF, HMAF, HLAM, HMAM, ALAF, AMAF, ALAM, AMAM)]
/ preinstructions = (happyvangry)
/ bgstim = (happyreminder, angryreminder)
</block>

<block post_sad_v_angry>
/ trials = [1-8 = noreplacenorepeat(SLAF, SMAF, SLAM, SMAM, ALAF, AMAF, ALAM, AMAM)]
/ preinstructions = (sadvangry)
/ bgstim = (sadreminder_lefthandside, angryreminder)
</block>



*************************************************
Creating an Expt
*************************************************
<expt emotion_attractiveness>
/ preinstructions = (intro)
/ postinstructions = (end)
/ blocks = [1=pre_happy_v_sad;
            2=pre_happy_v_angry;
            3=pre_sad_v_angry;
            4=adapt_happy_v_sad;
            5=adapt_happy_v_angry;
           6=adapt_sad_v_angry;
            7=post_happy_v_sad;
            8=post_happy_v_angry;
            9=post_sad_v_angry]
</expt>

I have no idea what you are referring to. There are no stimuli in the code you posted -- you have posted some <trial> and <block> definitions.

noreplacenorepeat() in your <block> element's /trials attributes is concerned with *trial* selection, it has nothing to do with stimulus selection perfomed in the trials.

Here is the entire script:

***********************************************
INTRODUCTION

TITLE: Perception of emotion and attractiveness

Accurate face perception is a crucial skill involving processing of variant and invariant characteristics.
This research will firstly explore the variant characteristic of emotion expression on face perception.
Secondly this research will explore the invariant characteristic of attractiveness on face perception.
This study will present numerous faces and ask participants to firstly select the emotion from options of happy, angry, sad, and secondly rate the attractieveness of the faces using a Likert scale from 1 (very unattractive) to 10 (very attractive).
Taking part in this study is voluntary.
***********************************************

<item AMAF>
/1 = "AMAF1.jpg"
/2 = "AMAF2.jpg"
/3 = "AMAF3.jpg"
/4 = "AMAF4.jpg"
</item>

<item ALAF>
/1 = "ALAF1.jpg"
/2 = "ALAF2.jpg"
/3 = "ALAF3.jpg"
/4 = "ALAF4.jpg"
/5 = "ALAF5.jpg"
/6 = "ALAF6.jpg"
/7 = "ALAF7.jpg"
/8 = "ALAF8.jpg"
/9 = "ALAF9.jpg"
/10 = "ALAF10.jpg"
/11 = "ALAF11.jpg"
/12 = "ALAF12.jpg"
/13 = "ALAF13.jpg"
/14 = "ALAF14.jpg"
</item>

<item HMAF>
/1 = "HMAF1.jpg"
/2 = "HMAF2.jpg"
/3 = "HMAF3.jpg"
/4 = "HMAF4.jpg"
</item>

<item HLAF>
/1 = "HLAF1.jpg"
/2 = "HLAF2.jpg"
/3 = "HLAF3.jpg"
/4 = "HLAF4.jpg"
/5 = "HLAF5.jpg"
/6 = "HLAF6.jpg"
/7 = "HLAF7.jpg"
/8 = "HLAF8.jpg"
/9 = "HLAF9.jpg"
/10 = "HLAF10.jpg"
/11 = "HLAF11.jpg"
/12 = "HLAF12.jpg"
/13 = "HLAF13.jpg"
/14 = "HLAF14.jpg"
</item>

<item SMAF>
/1 = "SMAF1.jpg"
/2 = "SMAF2.jpg"
/3 = "SMAF3.jpg"
/4 = "SMAF4.jpg"
</item>

<item SLAF>
/1 = "SLAF1.jpg"
/2 = "SLAF1.jpg"
/3 = "SLAF1.jpg"
/4 = "SLAF1.jpg"
/5 = "SLAF1.jpg"
/6 = "SLAF1.jpg"
/7 = "SLAF1.jpg"
/8 = "SLAF1.jpg"
/9 = "SLAF1.jpg"
/10 = "SLAF1.jpg"
/11 = "SLAF1.jpg"
/12 = "SLAF1.jpg"
/13 = "SLAF1.jpg"
/14 = "SLAF1.jpg"
</item>

<item AMAM>
/1 = "AMAM1.jpg"
/2 = "AMAM2.jpg"
/3 = "AMAM3.jpg"
/4 = "AMAM4.jpg"
</item>

<item ALAM>
/1 = "ALAM1.jpg"
/2 = "ALAM2.jpg"
/3 = "ALAM3.jpg"
/4 = "ALAM4.jpg"
/5 = "ALAM5.jpg"
/6 = "ALAM6.jpg"
/7 = "ALAM7.jpg"
/8 = "ALAM8.jpg"
/9 = "ALAM9.jpg"
/10 = "ALAM10.jpg"
/11 = "ALAM11.jpg"
/12 = "ALAM12.jpg"
/13 = "ALAM13.jpg"
/14 = "ALAM14.jpg"
</item>

<item HMAM>
/1 = "HMAM1.jpg"
/2 = "HMAM2.jpg"
/3 = "HMAM3.jpg"
/4 = "HMAM4.jpg"
</item>

<item HLAM>
/1 = "HLAM1.jpg"
/2 = "HLAM2.jpg"
/3 = "HLAM3.jpg"
/4 = "HLAM4.jpg"
/5 = "HLAM5.jpg"
/6 = "HLAM6.jpg"
/7 = "HLAM7.jpg"
/8 = "HLAM8.jpg"
/9 = "HLAM9.jpg"
/10 = "HLAM10.jpg"
/11 = "HLAM11.jpg"
/12 = "HLAM12.jpg"
/13 = "HLAM13.jpg"
/14 = "HLAM14.jpg"
</item>

<item SMAM>
/1 = "SMAM1.jpg"
/2 = "SMAM2.jpg"
/3 = "SMAM3.jpg"
/4 = "SMAM4.jpg"
</item>

<item SLAM>
/1 = "SLAM1.jpg"
/2 = "SLAM2.jpg"
/3 = "SLAM3.jpg"
/4 = "SLAM4.jpg"
/5 = "SLAM5.jpg"
/6 = "SLAM6.jpg"
/7 = "SLAM7.jpg"
/8 = "SLAM8.jpg"
/9 = "SLAM9.jpg"
/10 = "SLAM10.jpg"
/11 = "SLAM11.jpg"
/12 = "SLAM12.jpg"
/13 = "SLAM13.jpg"
/14 = "SLAM14.jpg"
</item>

<text error>
/ items = ("ERROR")
/ position = (50, 95)
/ valign = bottom
/ fontstyle = ("Arial", 5%)
/ txcolor = (255, 0, 0)
/ txbgcolor = (0, 0, 0)
</text>

<text fix>
/ items = ("+")
/ position = (50, 50)
/ fontstyle = ("Arial", 8%)
/ txcolor = (255, 255, 255)
/ txbgcolor = (0, 0, 0)
</text>

<picture AMAF>
/ items = AMAF
/ size = (55%, 55%)
/ position = (50, 50)
/ select = noreplacenorepeat
/ resetinterval = 1
</picture>

<picture ALAF>
/ items = ALAF
/ size = (55%, 55%)
/ position = (50, 50)
/ select = noreplacenorepeat
/ resetinterval = 1
</picture>

<picture HMAF>
/ items = HMAF
/ size = (55%, 55%)
/ position = (50, 50)
/ select = noreplacenorepeat
/ resetinterval = 1
</picture>

<picture HLAF>
/ items = HLAF
/ size = (55%, 55%)
/ position = (50, 50)
/ select = noreplacenorepeat
/ resetinterval = 1
</picture>

<picture SMAF>
/ items = SMAF
/ size = (55%, 55%)
/ position = (50, 50)
/ select = noreplacenorepeat
/ resetinterval = 1
</picture>

<picture SLAF>
/ items = SLAF
/ size = (55%, 55%)
/ position = (50, 50)
/ select = noreplacenorepeat
/ resetinterval = 1
</picture>

<picture AMAM>
/ items = AMAM
/ size = (55%, 55%)
/ position = (50, 50)
/ select = noreplacenorepeat
/ resetinterval = 1
</picture>

<picture ALAM>
/ items = ALAM
/ size = (55%, 55%)
/ position = (50, 50)
/ select = noreplacenorepeat
/ resetinterval = 1
</picture>

<picture HMAM>
/ items = HMAM
/ size = (55%, 55%)
/ position = (50, 50)
/ select = noreplacenorepeat
/ resetinterval = 1
</picture>

<picture HLAM>
/ items = HLAM
/ size = (55%, 55%)
/ position = (50, 50)
/ select = noreplacenorepeat
/ resetinterval = 1
</picture>

<picture SMAM>
/ items = SMAM
/ size = (55%, 55%)
/ position = (50, 50)
/ select = noreplacenorepeat
/ resetinterval = 1
</picture>

<picture SLAM>
/ items = SLAM
/ size = (55%, 55%)
/ position = (50, 50)
/ select = noreplacenorepeat
/ resetinterval = 1
</picture>

<text happyreminder>
/ items = ("Press 'A' for happy")
/ position = (15, 75)
/ txcolor = (255, 255, 255)
/ txbgcolor = (0, 0, 0)
/ fontstyle = ("Courier New", 2.5%)
</text>

<text angryreminder>
/ items = ("Press 'L' for angry")
/ position = (85, 75)
/ txcolor = (255, 255, 255)
/ txbgcolor = (0, 0, 0)
/ fontstyle = ("Courier New", 2.5%)
</text>

<text sadreminder_lefthandside>
/ items = ("Press 'G' for sad")
/ position = (15, 75)
/ txcolor = (255, 255, 255)
/ txbgcolor = (0, 0, 0)
/ fontstyle = ("Courier New", 2.5%)
</text>

<text sadreminder_righthandside>
/ items = ("Press 'G' for sad")
/ position = (85, 75)
/ txcolor = (255, 255, 255)
/ txbgcolor = (0, 0, 0)
/ fontstyle = ("Courier New", 2.5%)
</text>

<text likertattractivenessratingquestion>
/items = ("On a scale of 1-9, how attractive is this face?")
/ position = (50, 10)
/ txcolor = (255, 255, 255)
/ txbgcolor = (0, 0, 0)
/ fontstyle = ("Courier New", 2.5%)
</text>

<likert attractivenessratingquestion>
/ stimulustimes = [0=likertattractivenessratingquestion]
/ inputdevice = keyboard
/ numpoints = 9
/ anchors=[1="very unattractive"; 2="unattractive"; 3="fairly unattractive"; 4="somewhat unattractive"; 5="neutral"; 6="somewhat attractive"; 7="fairly attractive"; 8="attractive"; 9="very attractive"]
/ position=(50, 90)
</likert>

<likert rate_attractiveness>
/ stimulustimes = [0=clearscreen; 3500=ratingquestion]
/ inputdevice = mouse
/ numpoints = 9
/ anchors = [1="very unattractive"; 9="very attractive"]
/ position = (50%, 85%)
/ responsemessage = (anyresponse, clearscreen, 1000)
</likert>

<text ratingquestion>
/ items = ("On a scale of 1-9, how attractive is this face?")
/ position = (50%, 10%)
</text>

*************************************************
Creating Instructions
*************************************************
<page intro>
^^Perception of emotion and attractiveness
^^In this experiment you will be asked to select the emotion you see on a series of faces, and rate the attractiveness of those faces.
^^It is important that you pay attention, and select the emotion you see, as quickly as possible, as the study is looking at accuracy and response time of emotion recognition.
^^You will see faces presented one at a time.
^^Your job is to categorize the expression on the face as either HAPPY, SAD, or ANGRY. Then rate the attractiveness of that face.
^^Press the 'A' key if the face is HAPPY, the 'G' key if the face is SAD, and the 'L' key if the face is ANGRY.
^^Please respond as quickly as possible but also try to avoid making errors.
^^Please press space bar to commence the practice task.
</page>

<page practice>
^^This is the practice task.
^^Please press space bar to commence the task.
^^REMEMBER: Press the 'A' key if the face is HAPPY, and press the 'L' key if the face is ANGRY.
^^Please respond as quickly as possible but also try to avoid making errors.
</page>

<page main>
^^This is the main task.
^^Please press space bar to commence the task.
^^REMEMBER: Press the 'A' key if the face is HAPPY, and press the 'L' key if the face is ANGRY.
^^Please respond as quickly as possible but also try to avoid making errors.
</page>

<page end>
^^This is the end of the response time tasks.
^^Please press space bar to continue.
</page>

Happy v Sad

<page happyvsad>
^^This block will ask you to choose the emotion from happy or sad.
^^Please press space bar to commence the task.
^^Please pay careful attention as to which key to press for which emotion, as they may have changed.
^^REMEMBER: Press the 'A' key if the face is HAPPY, and press the 'G' key if the face is SAD.
^^Please respond as quickly as possible but also try to avoid making errors.
</page>

Happy v Angry

<page happyvangry>
^^This block will ask you to choose the emotion from happy or angry.
^^Please press space bar to commence the task.
^^Please pay careful attention as to which key to press for which emotion, as they may have changed.
^^REMEMBER: Press the 'A' key if the face is HAPPY, and press the 'L' key if the face is ANGRY.
^^Please respond as quickly as possible but also try to avoid making errors.
</page>

Sad v Angry

<page sadvangry>
^^This block will ask you to choose the emtoion from sad or angry.
^^Please press space bar to commence the task.
^^Please pay careful attention as to which key to press for which emotion, as they may have changed.
^^REMEMBER: Press the 'G' key if the face is SAD, and press the 'L' key if the face is ANGRY.
^^Please respond as quickly as possible but also try to avoid making errors.
</page>

*************************************************
Creating Trials
*************************************************

<trial AMAF>
/ stimulustimes = [0=fix; 500=AMAF]
/ validresponse = ("a", "g", "l")
/ correctresponse = ("l")
/ posttrialpause = (1000)
/ timeout = (3500)
</trial>

<trial ALAF>
/ stimulustimes = [0=fix; 500=ALAF]
/ validresponse = ("a", "g", "l")
/ correctresponse = ("l")
/ posttrialpause = (1000)
/ timeout = (3500)
</trial>

<trial HMAF>
/ stimulustimes = [0=fix; 500=HMAF]
/ validresponse = ("a", "g", "l")
/ correctresponse = ("a")
/ posttrialpause = (1000)
/ timeout = (3500)
</trial>

<trial HLAF>
/ stimulustimes = [0=fix; 500=HLAF]
/ validresponse = ("a", "g", "l")
/ correctresponse = ("a")
/ posttrialpause = (1000)
/ timeout = (3500)
</trial>

<trial SMAF>
/ stimulustimes = [0=fix; 500=SMAF]
/ validresponse = ("a", "g", "l")
/ correctresponse = ("g")
/ posttrialpause = (1000)
/ timeout = (3500)
</trial>

<trial SLAF>
/ stimulustimes = [0=fix; 500=SLAF]
/ validresponse = ("a", "g", "l")
/ correctresponse = ("g")
/ posttrialpause = (1000)
/ timeout = (3500)
</trial>

<trial AMAM> 
/ stimulustimes = [0=fix; 500=AMAM]
/ validresponse = ("a", "g", "l")
/ correctresponse = ("l")
/ posttrialpause = (1000)
/ timeout = (3500)
</trial>

<trial ALAM>
/ stimulustimes = [0=fix; 500=ALAM]
/ validresponse = ("a", "g", "l")
/ correctresponse = ("l")
/ posttrialpause = (1000)
/ timeout = (3500)
</trial>

<trial HMAM>
/ stimulustimes = [0=fix; 500=HMAM]
/ validresponse = ("a", "g", "l")
/ correctresponse = ("a")
/ posttrialpause = (1000)
/ timeout = (3500)
</trial>

<trial HLAM>
/ stimulustimes = [0=fix; 500=HLAM]
/ validresponse = ("a", "g", "l")
/ correctresponse = ("a")
/ posttrialpause = (1000)
/ timeout = (3500)
</trial>

<trial SMAM>
/ stimulustimes = [0=fix; 500=SMAM]
/ validresponse = ("a", "g", "l")
/ correctresponse = ("g")
/ posttrialpause = (1000)
/ timeout = (3500)
</trial>

<trial SLAM>
/ stimulustimes = [0=fix; 500=SLAM]
/ validresponse = ("a", "g", "l")
/ correctresponse = ("g")
/ posttrialpause = (1000)
/ timeout = (3500)
</trial>

*************************************************
Creating Blocks
*************************************************

<block attr_practice>
/ trials = [1-8 = noreplace(AMAF, ALAF, HMAF, HLAF, AMAM, ALAM, HMAM, HLAM)]
/ preinstructions = (practice)
/ postinstructions = (main)
/ bgstim = (happyreminder, angryreminder)
/ errormessage = (error, 1000)
/ blockfeedback = (latency, correct)
</block>

<block attr_exp>
/ trials = [1-8 = noreplace(AMAF, ALAF, HMAF, HLAF, AMAM, ALAM, HMAM, HLAM)]
/ bgstim = (happyreminder, angryreminder)
</block>

block practice?

<block pre_happy_v_sad>
/ trials = [1-8 = noreplacenorepeat(HLAF, HMAF, HLAM, HMAM, SLAF, SMAF, SLAM, SMAM)]
/ preinstructions = (happyvsad)
/ bgstim = (happyreminder, sadreminder_righthandside)
</block>

<block pre_happy_v_angry>
/ trials = [1-8 = noreplacenorepeat(HLAF, HMAF, HLAM, HMAM, ALAF, AMAF, ALAM, AMAM)]
/ preinstructions = (happyvangry)
/ bgstim = (happyreminder, angryreminder)
</block>

<block pre_sad_v_angry>
/ trials = [1-8 = noreplacenorepeat(SLAF, SMAF, SLAM, SMAM, ALAF, AMAF, ALAM, AMAM)]
/ preinstructions = (sadvangry)
/ bgstim = (sadreminder_lefthandside, angryreminder)
</block>

<block adapt_happy_v_sad>
/ trials = [1-20 = noreplacenorepeat(HLAF, HLAM, SLAF, SLAM)]
/ preinstructions = (happyvsad)
/ bgstim = (happyreminder, sadreminder_righthandside)
</block>

<block adapt_happy_v_angry>
/ trials = [1-20 = noreplacenorepeat(HLAF, HLAM, ALAF, ALAM)]
/ preinstructions = (happyvangry)
/ bgstim = (happyreminder, angryreminder)
</block>

<block adapt_sad_v_angry>
/ trials = [1-20 = noreplacenorepeat(SLAF, SLAM, ALAF, ALAM)]
/ preinstructions = (sadvangry)
/ bgstim = (sadreminder_lefthandside, angryreminder)
</block>

<block post_happy_v_sad>
/ trials = [1-8 = noreplacenorepeat(HLAF, HMAF, HLAM, HMAM, SLAF, SMAF, SLAM, SMAM)]
/ preinstructions = (happyvsad)
/ bgstim = (happyreminder, sadreminder_righthandside)
</block>

<block post_happy_v_angry>
/ trials = [1-8 = noreplacenorepeat(HLAF, HMAF, HLAM, HMAM, ALAF, AMAF, ALAM, AMAM)]
/ preinstructions = (happyvangry)
/ bgstim = (happyreminder, angryreminder)
</block>

<block post_sad_v_angry>
/ trials = [1-8 = noreplacenorepeat(SLAF, SMAF, SLAM, SMAM, ALAF, AMAF, ALAM, AMAM)]
/ preinstructions = (sadvangry)
/ bgstim = (sadreminder_lefthandside, angryreminder)
</block>


Update instructions at the very beginning of the experiment
How do I present each and every stimuli only once throughout the entire experiment?

*************************************************
Creating an Expt
*************************************************
<expt emotion_attractiveness>
/ preinstructions = (intro)
/ postinstructions = (end)
/ blocks = [1=attr_practice;
            2=pre_happy_v_sad;
            3=pre_happy_v_angry;
            4=pre_sad_v_angry;
            5=adapt_happy_v_sad;
            6=adapt_happy_v_angry;
            7=adapt_sad_v_angry;
            8=post_happy_v_sad;
            9=post_happy_v_angry;
            10=post_sad_v_angry]
</expt>

<defaults>
/ screencolor = (0, 0, 0)
/ txcolor = (255, 255, 255)
/ fontstyle = ("Courier New", 14pt)
</defaults>

Dave
Dave
Supreme Being (957K reputation)Supreme Being (957K reputation)Supreme Being (957K reputation)Supreme Being (957K reputation)Supreme Being (957K reputation)Supreme Being (957K reputation)Supreme Being (957K reputation)Supreme Being (957K reputation)Supreme Being (957K reputation)
Group: Administrators
Posts: 11K, Visits: 73K
USYDPSYCH - 8/2/2021
Dave - 7/28/2021
USYDPSYCH - 7/28/2021
I want each of my stimuli to present only once across the entire experiment, but I keep getting repeats in the different blocks. How do I fix my script so that each photo is only presented once, and once only? I'm using noreplacenorepeat but I seem to get repeats when a new block starts. Thank you

<trial AMAF>
/ stimulustimes = [0=fix; 500=AMAF]
/ validresponse = ("a", "g", "l")
/ correctresponse = ("l")
/ posttrialpause = (1000)
/ timeout = (3500)
</trial>

<trial ALAF>
/ stimulustimes = [0=fix; 500=ALAF]
/ validresponse = ("a", "g", "l")
/ correctresponse = ("l")
/ posttrialpause = (1000)
/ timeout = (3500)
</trial>

<trial HMAF>
/ stimulustimes = [0=fix; 500=HMAF]
/ validresponse = ("a", "g", "l")
/ correctresponse = ("a")
/ posttrialpause = (1000)
/ timeout = (3500)
</trial>

<trial HLAF>
/ stimulustimes = [0=fix; 500=HLAF]
/ validresponse = ("a", "g", "l")
/ correctresponse = ("a")
/ posttrialpause = (1000)
/ timeout = (3500)
</trial>

<trial SMAF>
/ stimulustimes = [0=fix; 500=SMAF]
/ validresponse = ("a", "g", "l")
/ correctresponse = ("g")
/ posttrialpause = (1000)
/ timeout = (3500)
</trial>

<trial SLAF>
/ stimulustimes = [0=fix; 500=SLAF]
/ validresponse = ("a", "g", "l")
/ correctresponse = ("g")
/ posttrialpause = (1000)
/ timeout = (3500)
</trial>

<trial AMAM> 
/ stimulustimes = [0=fix; 500=AMAM]
/ validresponse = ("a", "g", "l")
/ correctresponse = ("l")
/ posttrialpause = (1000)
/ timeout = (3500)
</trial>

<trial ALAM>
/ stimulustimes = [0=fix; 500=ALAM]
/ validresponse = ("a", "g", "l")
/ correctresponse = ("l")
/ posttrialpause = (1000)
/ timeout = (3500)
</trial>

<trial HMAM>
/ stimulustimes = [0=fix; 500=HMAM]
/ validresponse = ("a", "g", "l")
/ correctresponse = ("a")
/ posttrialpause = (1000)
/ timeout = (3500)
</trial>

<trial HLAM>
/ stimulustimes = [0=fix; 500=HLAM]
/ validresponse = ("a", "g", "l")
/ correctresponse = ("a")
/ posttrialpause = (1000)
/ timeout = (3500)
</trial>

<trial SMAM>
/ stimulustimes = [0=fix; 500=SMAM]
/ validresponse = ("a", "g", "l")
/ correctresponse = ("g")
/ posttrialpause = (1000)
/ timeout = (3500)
</trial>

<trial SLAM>
/ stimulustimes = [0=fix; 500=SLAM]
/ validresponse = ("a", "g", "l")
/ correctresponse = ("g")
/ posttrialpause = (1000)
/ timeout = (3500)
</trial>

*************************************************
Creating Blocks
*************************************************


<block pre_happy_v_sad>
/ trials = [1-8 = noreplacenorepeat(HLAF, HMAF, HLAM, HMAM, SLAF, SMAF, SLAM, SMAM)]
/ preinstructions = (happyvsad)
/ bgstim = (happyreminder, sadreminder_righthandside)
</block>

<block pre_happy_v_angry>
/ trials = [1-8 = noreplacenorepeat(HLAF, HMAF, HLAM, HMAM, ALAF, AMAF, ALAM, AMAM)]
/ preinstructions = (happyvangry)
/ bgstim = (happyreminder, angryreminder)
</block>

<block pre_sad_v_angry>
/ trials = [1-8 = noreplacenorepeat(SLAF, SMAF, SLAM, SMAM, ALAF, AMAF, ALAM, AMAM)]
/ preinstructions = (sadvangry)
/ bgstim = (sadreminder_lefthandside, angryreminder)
</block>

<block adapt_happy_v_sad>
/ trials = [1-20 = noreplacenorepeat(HLAF, HLAM, SLAF, SLAM)]
/ preinstructions = (happyvsad)
/ bgstim = (happyreminder, sadreminder_righthandside)
</block>

<block adapt_happy_v_angry>
/ trials = [1-20 = noreplacenorepeat(HLAF, HLAM, ALAF, ALAM)]
/ preinstructions = (happyvangry)
/ bgstim = (happyreminder, angryreminder)
</block>

<block adapt_sad_v_angry>
/ trials = [1-20 = noreplacenorepeat(SLAF, SLAM, ALAF, ALAM)]
/ preinstructions = (sadvangry)
/ bgstim = (sadreminder_lefthandside, angryreminder)
</block>

<block post_happy_v_sad>
/ trials = [1-8 = noreplacenorepeat(HLAF, HMAF, HLAM, HMAM, SLAF, SMAF, SLAM, SMAM)]
/ preinstructions = (happyvsad)
/ bgstim = (happyreminder, sadreminder_righthandside)
</block>

<block post_happy_v_angry>
/ trials = [1-8 = noreplacenorepeat(HLAF, HMAF, HLAM, HMAM, ALAF, AMAF, ALAM, AMAM)]
/ preinstructions = (happyvangry)
/ bgstim = (happyreminder, angryreminder)
</block>

<block post_sad_v_angry>
/ trials = [1-8 = noreplacenorepeat(SLAF, SMAF, SLAM, SMAM, ALAF, AMAF, ALAM, AMAM)]
/ preinstructions = (sadvangry)
/ bgstim = (sadreminder_lefthandside, angryreminder)
</block>



*************************************************
Creating an Expt
*************************************************
<expt emotion_attractiveness>
/ preinstructions = (intro)
/ postinstructions = (end)
/ blocks = [1=pre_happy_v_sad;
            2=pre_happy_v_angry;
            3=pre_sad_v_angry;
            4=adapt_happy_v_sad;
            5=adapt_happy_v_angry;
           6=adapt_sad_v_angry;
            7=post_happy_v_sad;
            8=post_happy_v_angry;
            9=post_sad_v_angry]
</expt>

I have no idea what you are referring to. There are no stimuli in the code you posted -- you have posted some <trial> and <block> definitions.

noreplacenorepeat() in your <block> element's /trials attributes is concerned with *trial* selection, it has nothing to do with stimulus selection perfomed in the trials.

Here is the entire script:

***********************************************
INTRODUCTION

TITLE: Perception of emotion and attractiveness

Accurate face perception is a crucial skill involving processing of variant and invariant characteristics.
This research will firstly explore the variant characteristic of emotion expression on face perception.
Secondly this research will explore the invariant characteristic of attractiveness on face perception.
This study will present numerous faces and ask participants to firstly select the emotion from options of happy, angry, sad, and secondly rate the attractieveness of the faces using a Likert scale from 1 (very unattractive) to 10 (very attractive).
Taking part in this study is voluntary.
***********************************************

<item AMAF>
/1 = "AMAF1.jpg"
/2 = "AMAF2.jpg"
/3 = "AMAF3.jpg"
/4 = "AMAF4.jpg"
</item>

<item ALAF>
/1 = "ALAF1.jpg"
/2 = "ALAF2.jpg"
/3 = "ALAF3.jpg"
/4 = "ALAF4.jpg"
/5 = "ALAF5.jpg"
/6 = "ALAF6.jpg"
/7 = "ALAF7.jpg"
/8 = "ALAF8.jpg"
/9 = "ALAF9.jpg"
/10 = "ALAF10.jpg"
/11 = "ALAF11.jpg"
/12 = "ALAF12.jpg"
/13 = "ALAF13.jpg"
/14 = "ALAF14.jpg"
</item>

<item HMAF>
/1 = "HMAF1.jpg"
/2 = "HMAF2.jpg"
/3 = "HMAF3.jpg"
/4 = "HMAF4.jpg"
</item>

<item HLAF>
/1 = "HLAF1.jpg"
/2 = "HLAF2.jpg"
/3 = "HLAF3.jpg"
/4 = "HLAF4.jpg"
/5 = "HLAF5.jpg"
/6 = "HLAF6.jpg"
/7 = "HLAF7.jpg"
/8 = "HLAF8.jpg"
/9 = "HLAF9.jpg"
/10 = "HLAF10.jpg"
/11 = "HLAF11.jpg"
/12 = "HLAF12.jpg"
/13 = "HLAF13.jpg"
/14 = "HLAF14.jpg"
</item>

<item SMAF>
/1 = "SMAF1.jpg"
/2 = "SMAF2.jpg"
/3 = "SMAF3.jpg"
/4 = "SMAF4.jpg"
</item>

<item SLAF>
/1 = "SLAF1.jpg"
/2 = "SLAF1.jpg"
/3 = "SLAF1.jpg"
/4 = "SLAF1.jpg"
/5 = "SLAF1.jpg"
/6 = "SLAF1.jpg"
/7 = "SLAF1.jpg"
/8 = "SLAF1.jpg"
/9 = "SLAF1.jpg"
/10 = "SLAF1.jpg"
/11 = "SLAF1.jpg"
/12 = "SLAF1.jpg"
/13 = "SLAF1.jpg"
/14 = "SLAF1.jpg"
</item>

<item AMAM>
/1 = "AMAM1.jpg"
/2 = "AMAM2.jpg"
/3 = "AMAM3.jpg"
/4 = "AMAM4.jpg"
</item>

<item ALAM>
/1 = "ALAM1.jpg"
/2 = "ALAM2.jpg"
/3 = "ALAM3.jpg"
/4 = "ALAM4.jpg"
/5 = "ALAM5.jpg"
/6 = "ALAM6.jpg"
/7 = "ALAM7.jpg"
/8 = "ALAM8.jpg"
/9 = "ALAM9.jpg"
/10 = "ALAM10.jpg"
/11 = "ALAM11.jpg"
/12 = "ALAM12.jpg"
/13 = "ALAM13.jpg"
/14 = "ALAM14.jpg"
</item>

<item HMAM>
/1 = "HMAM1.jpg"
/2 = "HMAM2.jpg"
/3 = "HMAM3.jpg"
/4 = "HMAM4.jpg"
</item>

<item HLAM>
/1 = "HLAM1.jpg"
/2 = "HLAM2.jpg"
/3 = "HLAM3.jpg"
/4 = "HLAM4.jpg"
/5 = "HLAM5.jpg"
/6 = "HLAM6.jpg"
/7 = "HLAM7.jpg"
/8 = "HLAM8.jpg"
/9 = "HLAM9.jpg"
/10 = "HLAM10.jpg"
/11 = "HLAM11.jpg"
/12 = "HLAM12.jpg"
/13 = "HLAM13.jpg"
/14 = "HLAM14.jpg"
</item>

<item SMAM>
/1 = "SMAM1.jpg"
/2 = "SMAM2.jpg"
/3 = "SMAM3.jpg"
/4 = "SMAM4.jpg"
</item>

<item SLAM>
/1 = "SLAM1.jpg"
/2 = "SLAM2.jpg"
/3 = "SLAM3.jpg"
/4 = "SLAM4.jpg"
/5 = "SLAM5.jpg"
/6 = "SLAM6.jpg"
/7 = "SLAM7.jpg"
/8 = "SLAM8.jpg"
/9 = "SLAM9.jpg"
/10 = "SLAM10.jpg"
/11 = "SLAM11.jpg"
/12 = "SLAM12.jpg"
/13 = "SLAM13.jpg"
/14 = "SLAM14.jpg"
</item>

<text error>
/ items = ("ERROR")
/ position = (50, 95)
/ valign = bottom
/ fontstyle = ("Arial", 5%)
/ txcolor = (255, 0, 0)
/ txbgcolor = (0, 0, 0)
</text>

<text fix>
/ items = ("+")
/ position = (50, 50)
/ fontstyle = ("Arial", 8%)
/ txcolor = (255, 255, 255)
/ txbgcolor = (0, 0, 0)
</text>

<picture AMAF>
/ items = AMAF
/ size = (55%, 55%)
/ position = (50, 50)
/ select = noreplacenorepeat
/ resetinterval = 1
</picture>

<picture ALAF>
/ items = ALAF
/ size = (55%, 55%)
/ position = (50, 50)
/ select = noreplacenorepeat
/ resetinterval = 1
</picture>

<picture HMAF>
/ items = HMAF
/ size = (55%, 55%)
/ position = (50, 50)
/ select = noreplacenorepeat
/ resetinterval = 1
</picture>

<picture HLAF>
/ items = HLAF
/ size = (55%, 55%)
/ position = (50, 50)
/ select = noreplacenorepeat
/ resetinterval = 1
</picture>

<picture SMAF>
/ items = SMAF
/ size = (55%, 55%)
/ position = (50, 50)
/ select = noreplacenorepeat
/ resetinterval = 1
</picture>

<picture SLAF>
/ items = SLAF
/ size = (55%, 55%)
/ position = (50, 50)
/ select = noreplacenorepeat
/ resetinterval = 1
</picture>

<picture AMAM>
/ items = AMAM
/ size = (55%, 55%)
/ position = (50, 50)
/ select = noreplacenorepeat
/ resetinterval = 1
</picture>

<picture ALAM>
/ items = ALAM
/ size = (55%, 55%)
/ position = (50, 50)
/ select = noreplacenorepeat
/ resetinterval = 1
</picture>

<picture HMAM>
/ items = HMAM
/ size = (55%, 55%)
/ position = (50, 50)
/ select = noreplacenorepeat
/ resetinterval = 1
</picture>

<picture HLAM>
/ items = HLAM
/ size = (55%, 55%)
/ position = (50, 50)
/ select = noreplacenorepeat
/ resetinterval = 1
</picture>

<picture SMAM>
/ items = SMAM
/ size = (55%, 55%)
/ position = (50, 50)
/ select = noreplacenorepeat
/ resetinterval = 1
</picture>

<picture SLAM>
/ items = SLAM
/ size = (55%, 55%)
/ position = (50, 50)
/ select = noreplacenorepeat
/ resetinterval = 1
</picture>

<text happyreminder>
/ items = ("Press 'A' for happy")
/ position = (15, 75)
/ txcolor = (255, 255, 255)
/ txbgcolor = (0, 0, 0)
/ fontstyle = ("Courier New", 2.5%)
</text>

<text angryreminder>
/ items = ("Press 'L' for angry")
/ position = (85, 75)
/ txcolor = (255, 255, 255)
/ txbgcolor = (0, 0, 0)
/ fontstyle = ("Courier New", 2.5%)
</text>

<text sadreminder_lefthandside>
/ items = ("Press 'G' for sad")
/ position = (15, 75)
/ txcolor = (255, 255, 255)
/ txbgcolor = (0, 0, 0)
/ fontstyle = ("Courier New", 2.5%)
</text>

<text sadreminder_righthandside>
/ items = ("Press 'G' for sad")
/ position = (85, 75)
/ txcolor = (255, 255, 255)
/ txbgcolor = (0, 0, 0)
/ fontstyle = ("Courier New", 2.5%)
</text>

<text likertattractivenessratingquestion>
/items = ("On a scale of 1-9, how attractive is this face?")
/ position = (50, 10)
/ txcolor = (255, 255, 255)
/ txbgcolor = (0, 0, 0)
/ fontstyle = ("Courier New", 2.5%)
</text>

<likert attractivenessratingquestion>
/ stimulustimes = [0=likertattractivenessratingquestion]
/ inputdevice = keyboard
/ numpoints = 9
/ anchors=[1="very unattractive"; 2="unattractive"; 3="fairly unattractive"; 4="somewhat unattractive"; 5="neutral"; 6="somewhat attractive"; 7="fairly attractive"; 8="attractive"; 9="very attractive"]
/ position=(50, 90)
</likert>

<likert rate_attractiveness>
/ stimulustimes = [0=clearscreen; 3500=ratingquestion]
/ inputdevice = mouse
/ numpoints = 9
/ anchors = [1="very unattractive"; 9="very attractive"]
/ position = (50%, 85%)
/ responsemessage = (anyresponse, clearscreen, 1000)
</likert>

<text ratingquestion>
/ items = ("On a scale of 1-9, how attractive is this face?")
/ position = (50%, 10%)
</text>

*************************************************
Creating Instructions
*************************************************
<page intro>
^^Perception of emotion and attractiveness
^^In this experiment you will be asked to select the emotion you see on a series of faces, and rate the attractiveness of those faces.
^^It is important that you pay attention, and select the emotion you see, as quickly as possible, as the study is looking at accuracy and response time of emotion recognition.
^^You will see faces presented one at a time.
^^Your job is to categorize the expression on the face as either HAPPY, SAD, or ANGRY. Then rate the attractiveness of that face.
^^Press the 'A' key if the face is HAPPY, the 'G' key if the face is SAD, and the 'L' key if the face is ANGRY.
^^Please respond as quickly as possible but also try to avoid making errors.
^^Please press space bar to commence the practice task.
</page>

<page practice>
^^This is the practice task.
^^Please press space bar to commence the task.
^^REMEMBER: Press the 'A' key if the face is HAPPY, and press the 'L' key if the face is ANGRY.
^^Please respond as quickly as possible but also try to avoid making errors.
</page>

<page main>
^^This is the main task.
^^Please press space bar to commence the task.
^^REMEMBER: Press the 'A' key if the face is HAPPY, and press the 'L' key if the face is ANGRY.
^^Please respond as quickly as possible but also try to avoid making errors.
</page>

<page end>
^^This is the end of the response time tasks.
^^Please press space bar to continue.
</page>

Happy v Sad

<page happyvsad>
^^This block will ask you to choose the emotion from happy or sad.
^^Please press space bar to commence the task.
^^Please pay careful attention as to which key to press for which emotion, as they may have changed.
^^REMEMBER: Press the 'A' key if the face is HAPPY, and press the 'G' key if the face is SAD.
^^Please respond as quickly as possible but also try to avoid making errors.
</page>

Happy v Angry

<page happyvangry>
^^This block will ask you to choose the emotion from happy or angry.
^^Please press space bar to commence the task.
^^Please pay careful attention as to which key to press for which emotion, as they may have changed.
^^REMEMBER: Press the 'A' key if the face is HAPPY, and press the 'L' key if the face is ANGRY.
^^Please respond as quickly as possible but also try to avoid making errors.
</page>

Sad v Angry

<page sadvangry>
^^This block will ask you to choose the emtoion from sad or angry.
^^Please press space bar to commence the task.
^^Please pay careful attention as to which key to press for which emotion, as they may have changed.
^^REMEMBER: Press the 'G' key if the face is SAD, and press the 'L' key if the face is ANGRY.
^^Please respond as quickly as possible but also try to avoid making errors.
</page>

*************************************************
Creating Trials
*************************************************

<trial AMAF>
/ stimulustimes = [0=fix; 500=AMAF]
/ validresponse = ("a", "g", "l")
/ correctresponse = ("l")
/ posttrialpause = (1000)
/ timeout = (3500)
</trial>

<trial ALAF>
/ stimulustimes = [0=fix; 500=ALAF]
/ validresponse = ("a", "g", "l")
/ correctresponse = ("l")
/ posttrialpause = (1000)
/ timeout = (3500)
</trial>

<trial HMAF>
/ stimulustimes = [0=fix; 500=HMAF]
/ validresponse = ("a", "g", "l")
/ correctresponse = ("a")
/ posttrialpause = (1000)
/ timeout = (3500)
</trial>

<trial HLAF>
/ stimulustimes = [0=fix; 500=HLAF]
/ validresponse = ("a", "g", "l")
/ correctresponse = ("a")
/ posttrialpause = (1000)
/ timeout = (3500)
</trial>

<trial SMAF>
/ stimulustimes = [0=fix; 500=SMAF]
/ validresponse = ("a", "g", "l")
/ correctresponse = ("g")
/ posttrialpause = (1000)
/ timeout = (3500)
</trial>

<trial SLAF>
/ stimulustimes = [0=fix; 500=SLAF]
/ validresponse = ("a", "g", "l")
/ correctresponse = ("g")
/ posttrialpause = (1000)
/ timeout = (3500)
</trial>

<trial AMAM> 
/ stimulustimes = [0=fix; 500=AMAM]
/ validresponse = ("a", "g", "l")
/ correctresponse = ("l")
/ posttrialpause = (1000)
/ timeout = (3500)
</trial>

<trial ALAM>
/ stimulustimes = [0=fix; 500=ALAM]
/ validresponse = ("a", "g", "l")
/ correctresponse = ("l")
/ posttrialpause = (1000)
/ timeout = (3500)
</trial>

<trial HMAM>
/ stimulustimes = [0=fix; 500=HMAM]
/ validresponse = ("a", "g", "l")
/ correctresponse = ("a")
/ posttrialpause = (1000)
/ timeout = (3500)
</trial>

<trial HLAM>
/ stimulustimes = [0=fix; 500=HLAM]
/ validresponse = ("a", "g", "l")
/ correctresponse = ("a")
/ posttrialpause = (1000)
/ timeout = (3500)
</trial>

<trial SMAM>
/ stimulustimes = [0=fix; 500=SMAM]
/ validresponse = ("a", "g", "l")
/ correctresponse = ("g")
/ posttrialpause = (1000)
/ timeout = (3500)
</trial>

<trial SLAM>
/ stimulustimes = [0=fix; 500=SLAM]
/ validresponse = ("a", "g", "l")
/ correctresponse = ("g")
/ posttrialpause = (1000)
/ timeout = (3500)
</trial>

*************************************************
Creating Blocks
*************************************************

<block attr_practice>
/ trials = [1-8 = noreplace(AMAF, ALAF, HMAF, HLAF, AMAM, ALAM, HMAM, HLAM)]
/ preinstructions = (practice)
/ postinstructions = (main)
/ bgstim = (happyreminder, angryreminder)
/ errormessage = (error, 1000)
/ blockfeedback = (latency, correct)
</block>

<block attr_exp>
/ trials = [1-8 = noreplace(AMAF, ALAF, HMAF, HLAF, AMAM, ALAM, HMAM, HLAM)]
/ bgstim = (happyreminder, angryreminder)
</block>

block practice?

<block pre_happy_v_sad>
/ trials = [1-8 = noreplacenorepeat(HLAF, HMAF, HLAM, HMAM, SLAF, SMAF, SLAM, SMAM)]
/ preinstructions = (happyvsad)
/ bgstim = (happyreminder, sadreminder_righthandside)
</block>

<block pre_happy_v_angry>
/ trials = [1-8 = noreplacenorepeat(HLAF, HMAF, HLAM, HMAM, ALAF, AMAF, ALAM, AMAM)]
/ preinstructions = (happyvangry)
/ bgstim = (happyreminder, angryreminder)
</block>

<block pre_sad_v_angry>
/ trials = [1-8 = noreplacenorepeat(SLAF, SMAF, SLAM, SMAM, ALAF, AMAF, ALAM, AMAM)]
/ preinstructions = (sadvangry)
/ bgstim = (sadreminder_lefthandside, angryreminder)
</block>

<block adapt_happy_v_sad>
/ trials = [1-20 = noreplacenorepeat(HLAF, HLAM, SLAF, SLAM)]
/ preinstructions = (happyvsad)
/ bgstim = (happyreminder, sadreminder_righthandside)
</block>

<block adapt_happy_v_angry>
/ trials = [1-20 = noreplacenorepeat(HLAF, HLAM, ALAF, ALAM)]
/ preinstructions = (happyvangry)
/ bgstim = (happyreminder, angryreminder)
</block>

<block adapt_sad_v_angry>
/ trials = [1-20 = noreplacenorepeat(SLAF, SLAM, ALAF, ALAM)]
/ preinstructions = (sadvangry)
/ bgstim = (sadreminder_lefthandside, angryreminder)
</block>

<block post_happy_v_sad>
/ trials = [1-8 = noreplacenorepeat(HLAF, HMAF, HLAM, HMAM, SLAF, SMAF, SLAM, SMAM)]
/ preinstructions = (happyvsad)
/ bgstim = (happyreminder, sadreminder_righthandside)
</block>

<block post_happy_v_angry>
/ trials = [1-8 = noreplacenorepeat(HLAF, HMAF, HLAM, HMAM, ALAF, AMAF, ALAM, AMAM)]
/ preinstructions = (happyvangry)
/ bgstim = (happyreminder, angryreminder)
</block>

<block post_sad_v_angry>
/ trials = [1-8 = noreplacenorepeat(SLAF, SMAF, SLAM, SMAM, ALAF, AMAF, ALAM, AMAM)]
/ preinstructions = (sadvangry)
/ bgstim = (sadreminder_lefthandside, angryreminder)
</block>


Update instructions at the very beginning of the experiment
How do I present each and every stimuli only once throughout the entire experiment?

*************************************************
Creating an Expt
*************************************************
<expt emotion_attractiveness>
/ preinstructions = (intro)
/ postinstructions = (end)
/ blocks = [1=attr_practice;
            2=pre_happy_v_sad;
            3=pre_happy_v_angry;
            4=pre_sad_v_angry;
            5=adapt_happy_v_sad;
            6=adapt_happy_v_angry;
            7=adapt_sad_v_angry;
            8=post_happy_v_sad;
            9=post_happy_v_angry;
            10=post_sad_v_angry]
</expt>

<defaults>
/ screencolor = (0, 0, 0)
/ txcolor = (255, 255, 255)
/ fontstyle = ("Courier New", 14pt)
</defaults>

Per your /resetinterval, you reset the picture elements' selection pools at the start of every block. If you want selection pools to remain intact across blocks, you ought to set /resetinterval = 0, i.e. never reset the selection.

GO

Merge Selected

Merge into selected topic...



Merge into merge target...



Merge into a specific topic ID...




Reading This Topic

Explore
Messages
Mentions
Search