Millisecond Forums

Dual task paradigm: recall of numbers and video evaluation

https://forums.millisecond.com/Topic12928.aspx

By rouge - 4/7/2014

Dear readers,

in regard to a dual task paradigm, I would like to ask following question:

Subjects shall read a string of numbers and then recall it later (first part of the task) -
for example:

<openended 801359770>
/ stimulustimes = [0=fixation; 1000=801359770; 2000=mask]
/ validresponse = (anyresponse)
/ correctresponse = ("801359770")
</openended>

AFTER the presentation of the string and BEFORE recalling the string via keyboard, they shall watch a movie and evaluate it.

<trial Videos_Tor>
/ stimulustimes = [0=fixation, Videos_kein_Tor, Question]
/ validresponse = (a, l)
/ correctresponse = (l)
/pretrialpause = 500
</trial>

Is it possible to build the <trial> within <openended> ? Or do I have to construct this on a <block> level?
And if so - is there any possibility to program the open answering formate from the recall task on a <block> level?

Thank you very much in advance for answering! And all the best greetings!




By Dave - 4/7/2014

> Is it possible to build the <trial> within <openended>

No. An <openended> element *is* a <trial> element. Hence you are asking whether a <trial> can be embedded in a <trial>, which does not make any sense within Inquisit's framework.

> Or do I have to construct this on a <block> level?

Yes. Run a trial presenting the number string. Follow that by your video / evaluation trial. Follow that up with the <openended> trial collecting the recalled number string.

> And if so - is there any possibility to program the open answering formate from the recall task on a <block> level?

If have no idea what that's supposed to mean, I'm afraid.
By rouge - 4/13/2014

Dear David, thank you very much for your answer! It helped a lot :-) ! Best greetings and have a good day!
By rouge - 4/16/2014

Dear Dave, in regard to above mentionned experiment I would like to ask you another question.

The main features of the experiment are as follows:
1. the subject is presented a string of letters/numbers, which shall be remembered
2. a video is presented that should be evaluated
3. after the video presentation, the string of letters/numbers shall be written down

With your help I programmed this text:

<item cognitive_load>
/1="V98PYXGX"
/2="4XU01AT8"
/3="AVLWVW7W"
</item>

<item Videos_kein_Tor>
/1="Video_2.mp4"
/2="Video_3.mp4"
/3="Video_4.mp4"
</item>

<item Videos_Tor>
/1="Video_55.mp4"
/2="Video_57.mp4"
/3="Video_59.mp4"
</item>

<text fixation>
/ items = ("+")
</text>

<text mask>
/ items = ("       ")
</text>

<text Frage_Tor_kein_Tor>
/ items = ("Tor oder kein Tor?")
</text>

<text Entscheidung_Manipulation>
/ items = ("Entscheiden Sie spontan/reflektiv!")
/ size = (450,200)
/ txcolor = (50, 50, 255)
/ position = (50%, 52%)
/ valign = top
</text>

<text erinnerung_schreiben>
/ items = ("Bitte schreiben Sie jetzt die erinnerte Reihe auf"")
</text>

<video Videos_kein_Tor>
/ items = Videos
/ playthrough = true
/ size = (30%, 30%)
</video>

<video Videos_Tor>
/ items = Videos
/ playthrough = true
/ size = (30%, 30%)
</video>

<trial playvideo_kein_Tor>
/ stimulustimes = [0=fixation, Videos_kein_Tor, Frage_Tor_kein_Tor]
/ validresponse = (a, l)
/ correctresponse = (l)
/ pretrialpause = 500
</trial>

<trial playvideo_Tor>
/ stimulustimes = [0=fixation, Videos_Tor, Frage_Tor_kein_Tor]
/ validresponse = (a, l)
/ correctresponse = (a)
/pretrialpause = 500
</trial>

<trial V98PYXGX_1>
/stimulustimes = [0=fixation, 1000=V98PYXGX), 5000=mask]
</trial>

<openended V98PYXGX_2>
/ stimulustimes = [0=schreiben_erinnerung]
/ validresponse = (anyresponse)
/ correctresponse = ("V98PYXGX")
</openended>

<block basic_1>
/trials = [1 = V98PYXGX_1; 2 = noreplace(playvideo_kein_Tor, playvideo_Tor); 3 = V98PYXGX_2]
</block>

<trial 4XU01AT8_1>
/stimulustimes = [0=fixation, 1000=4XU01AT8), 5000=mask]
</trial>

<openended 4XU01AT8_2>
/ stimulustimes = [0=schreiben_erinnerung]
/ validresponse = (anyresponse)
/ correctresponse = ("4XU01AT8")
</openended>

<block basic_2>
/trials = [1 = 4XU01AT8_1; 2 = noreplace(playvideo_kein_Tor, playvideo_Tor); 3 = 4XU01AT8_2]
</block>

<trial AVLWVW7W_1>
/stimulustimes = [0=fixation, 1000=AVLWVW7W), 5000=mask]
</trial>

<openended AVLWVW7W_2>
/ stimulustimes = [0=schreiben_erinnerung]
/ validresponse = (anyresponse)
/ correctresponse = ("AVLWVW7W")
</openended>

<block basic_3>
/trials = [1 = AVLWVW7W_1; 2 = noreplace(playvideo_kein_Tor, playvideo_Tor); 3 = AVLWVW7W_2]
</block>

<block das_Grosse_Ganze>
/ trials = [1-3 = noreplace(basic_1, basic_2, basic_3)]
/ preinstructions = (Instruktion_1, Instruktion_2, Instruktion_3)
/ postinstructions = (thank_you)
</block>

Now, my question: For EACH SET of "string presentation - video presentation - string remembering"  I wrote an individual block (e.g. = block_1 ). The blocks (block_1, block_2, block_3,...) are picked randomly. However, I also want that within each set of  "string presentation - video presentation - string remembering" the video is picked randomly.

That means:
1. it shall be randomly selected weather the video comes from the <items_Tor> or <items_kein_Tor> and
2. additionaly, within <items_Tor> or <items_kein_Tor> the final video shall be picked randomly.

Honestly, I am not sure about weather my text does already provide the required aspects or not? Is the task too complex, too be achieved by an inquisit-beginner :-) ?

Thank you very much in advance for your answer,

all the best!

By Dave - 4/16/2014

> 1. it shall be randomly selected weather the video comes from the <items_Tor> or <items_kein_Tor> and
> 2. additionaly, within <items_Tor> or <items_kein_Tor> the final video shall be picked randomly.

What does "random" mean? Random selection without replacement? Random selection with replacement?

If you want to keep stimulus selection intact *across blocks*, you need to make use of the /resetinterval attribute (details available in the documentation).
By Dave - 4/16/2014

For the record, I would also like to point out that it seems unnecessary to set up separate <block>s for each and every alphanumerical string. This can be accomplished much more efficiently:

<block myblock>
/ trials = [1,4,7,10=displaynumberstring; 2,5,8,11=noreplace(displayvideoa, displayvideob); 3,6,9,12=recallnumberstring]
</block>

<trial displaynumberstring>
/ stimulustimes = [0=fixation; 1000=numberstring; 2000=mask]
/ validresponse = (noresponse)
/ trialduration = 2500
</trial>

<trial displayvideoa>
/ stimulustimes = [0=dummytext, vida]
/ validresponse = (57)
</trial>

<trial displayvideob>
/ stimulustimes = [0=dummytext, vidb]
/ validresponse = (57)
</trial>

<openended recallnumberstring>
/ stimulustimes = [0=recalltext]
/ validresponse = (anyresponse)
/ iscorrectresponse = [openended.recallnumberstring.response==text.numberstring.currentitem]
/ position = (50%, 70%)
</openended>

<text fixation>
/ items = ("+")
</text>

<text numberstring>
/ items = ("1234", "4321", "5678", "8765")
</text>

<text mask>
/ items = ("XXXXXXXX")
</text>

<text dummytext>
/ items = ("Imagine you are watching and evaluating a video in this trial... Press the spacebar to move on.")
/ position = (50%, 25%)
</text>

<text vida>
/ items = ("Imagined Video A1", "Imagined Video A2")
</text>

<text vidb>
/ items = ("Imagined Video B1", "Imagined Video B2")
</text>

<text recalltext>
/ items = ("Enter the number you saw before the (imagined) video:")
</text>







By rouge - 4/16/2014

Dear David, thank you very much for your note! Great news :-) !! It safes a lot of time :-) . Otherwise, I would have generated 50 single blocks! In regard to your question - I meant randomized selection without replacing. Sorry!  I will try to work with the /resetinterval attribute! Again: thanx a lot!
By rouge - 4/17/2014

Dear Dave, do I assume right that I don´t need the /resetinterval, if I am using your suggested version, in order to randomly present (without replacement) both numbers of strings and the videos?

text fixation>
/ items = ("+")
</text>

<text mask>
/ items = ("                   ")
</text>

<text numberstring>
/ items = ("V98PYXGX", "4XU01AT8", "AVLWVW7W", "VIT4HXW7", "RXUH7RN8", "ATT1I0JO", "C5JI7TJY", "90295KFH", "5L24Y4DP", "RAKJLQDJ", "ANG56I37", "S98KJTLM", "KHBNLF3Y", "OIXR69Z3", "BQ2VMEHL", "YK04BUNL", "I53XWSDP", "DLNZW9B8", "0YIN1MRV", "2ABD2KOL", "EL9QFC6O", "00NJ3FGO", "INP0G5HL", "OS1Y4SR6", "MYJLAYYG", "6KHXKFDW", "CSDUDFXG", "XASVU8VF", "RQAT5N7R", "2CE5MPT2", "I6XJE9OL", "U9K3Y1QW", "PTYNOSDX", "CX75QMXH", "RZ75NF43", "Q7A8AVKF", "NZL2FIC6", "R7PKXNHW", "6TJ9XSBX", "V29NR4SZ", "4MYK5SAE", "7201R4V1", "MRA8PEZQ", "9DL88Y5Y", "CKRBDSZ9", "UFY5TOQ4", "X2L91DWF"
</text>

<text Frage_Tor_kein_Tor>
/ items = ("Tor oder kein Tor?")
</text>

<text Entscheidung_Manipulation>
/ items = ("Entscheiden Sie!")
/ size = (450,200)
/ txcolor = (50, 50, 255)
/ position = (50%, 52%)
/ valign = top
</text>

<text recalltext>
/ items = ("Bitte schreiben Sie jetzt die erinnerte Reihe auf"")
</text>

<trial displaynumberstring>
/ stimulustimes =  [0=fixation; 1000=numberstring; 5000=mask]
/ validresponse = (noresponse)
/ trialduration = 5500
</trial>

<video Videos_kein_Tor>
/ items = Videos
/ playthrough = true
/ size = (30%, 30%)
</video>

<video Videos_Tor>
/ items = Videos
/ playthrough = true
/ size = (30%, 30%)
</video>

<trial playvideo_kein_Tor>
/ stimulustimes = [0=fixation; Videos_kein_Tor; Frage_Tor_kein_Tor]
/ validresponse = (a, l)
/ correctresponse = (l)
/ pretrialpause = 500
</trial>

<trial playvideo_Tor>
/ stimulustimes = [0=fixation; Videos_Tor; Frage_Tor_kein_Tor]
/ validresponse = (a, l)
/ correctresponse = (a)
/pretrialpause = 500
</trial>

<openended recallnumberstring>
/ stimulustimes = [0=recalltext]
/ validresponse = (anyresponse)
/ iscorrectresponse = [openended.recallnumberstring.response == text.numberstring.currentitem]
/ position = (50%, 70%)
</openended>

<block myblock>
/ trials = [1,4,7,10,13,16,19,22,25,28,31,34,37,40,43,46=noreplace(displaynumberstring); 2,5,8,11,14,17,20,23,26,29,32,35,38,41,44,47=noreplace(displayvideoa, displayvideob); 3,6,9,12,15,18,21,24,27,30,33,36,39,42,45,48=noreplace(recallnumberstring)]
</block>

Thank you very much in advance for your answer!

By Dave - 4/17/2014

If everything happens in a single block, you don't need /resetinterval (but it would not hurt either).
By rouge - 4/17/2014

ok! great - thank you for your fast and kind help! best greetings