Millisecond Online Community

Forums & Feeds
Welcome to Millisecond Online Community Sign in | Join | Help
in Search

branch with property "response"

Last post 05-16-2008, 1:16 PM by Johanna. 3 replies.
Sort Posts: Previous Next
  •  05-06-2008, 5:58 AM 1612

    branch with property "response"

    Hello,

     

    I am in the process of writing a code for a study that involves giving participants performance feedback.
    Specifically, my study is divided into two sessions – the first session (without social impact) and the second session (with social impact: participants will see a picture of the fictitious answers of 3 other persons). Participants will recognize faces and based on their response (in this first section of the study), I want them to get different pictures in the second section.

     

    For each trial, the participant can choose from 3 alternative answers (= faces), so he  can choose “1”, “2” or “3”.

    If the participant answers for example “1” (in the first section), I want him to get a defined picture in the second section (regardless of if this was the correct answer or not).

     

    I have used the branch attribute for the second section as follows:

     

    <trial Abfr_Bob2_1>

    / branch = (trial.Abfr_Bob_1.response, EQ, 1, Bob_a)

    / branch = (trial.Abfr_Bob_1.response, EQ, 2, Bob_b)

    / branch = (trial.Abfr_Bob_1.response, EQ, 3, Bob_c)

    / validresponse = ("1", "2", "3")

    / correctresponse = ("2")

    </trial >

     

    note: „Abfr_Bob_1“ is the trial from the first section. If the participant answers “1”, I want him to get trial “Bob_a” etc.

     

    < trial Bob_a >

    /stimulusframes=[50=Bob_Abfr_1, textT_which_face, T8]

    / validresponse = ("1", "2", "3")

    / correctresponse = ("2")

    / branch = (trial.Bob_a.latency, LE, 1000, warten1)

    / branch = (trial.Bob_a.latency, LE, 2000, warten2)

    / branch = (trial.Bob_a.latency, LE, 3000, warten3)

    / branch = (trial.Bob_a.latency, LE, 4000, warten4)

    / branch = (trial.Bob_a.latency, LE, 5000, warten5)

    / branch = (trial.Bob_a.latency, LE, 6000, warten6)

    / branch = (trial.Bob_a.latency, LE, 7000, warten7)

    / branch = (trial.Bob_a.latency, LE, 8000, warten8)

    / branch = (trial.Bob_a.latency, LE, 9000, warten9)

    / branch = (trial.Bob_a.latency, LE, 10000, warten10)

    </trial >

     

    note: This further branch attribute works. I want the participant to wait varying time for the next trial, depending on his latency.

     

    < trial Bob_b >

    /stimulusframes=[50=Bob_Abfr_1, textT_which_face, T15]

    / validresponse = ("1", "2", "3")

    / correctresponse = ("2")

    / branch = (trial.Bob_b.latency, LE, 1000, warten1)

    / branch = (trial.Bob_b.latency, LE, 2000, warten2)

    / branch = (trial.Bob_b.latency, LE, 3000, warten3)

    / branch = (trial.Bob_b.latency, LE, 4000, warten4)

    / branch = (trial.Bob_b.latency, LE, 5000, warten5)

    / branch = (trial.Bob_b.latency, LE, 6000, warten6)

    / branch = (trial.Bob_b.latency, LE, 7000, warten7)

    / branch = (trial.Bob_b.latency, LE, 8000, warten8)

    / branch = (trial.Bob_b.latency, LE, 9000, warten9)

    / branch = (trial.Bob_b.latency, LE, 10000, warten10)

    </trial >

     

    < trial Bob_c >

    /stimulusframes=[50=Bob_Abfr_1, textT_which_face, T19]

    / validresponse = ("1", "2", "3")

    / correctresponse = ("2")

    / branch = (trial.Bob_c.latency, LE, 1000, warten1)

    / branch = (trial.Bob_c.latency, LE, 2000, warten2)

    / branch = (trial.Bob_c.latency, LE, 3000, warten3)

    / branch = (trial.Bob_c.latency, LE, 4000, warten4)

    / branch = (trial.Bob_c.latency, LE, 5000, warten5)

    / branch = (trial.Bob_c.latency, LE, 6000, warten6)

    / branch = (trial.Bob_c.latency, LE, 7000, warten7)

    / branch = (trial.Bob_c.latency, LE, 8000, warten8)

    / branch = (trial.Bob_c.latency, LE, 9000, warten9)

    / branch = (trial.Bob_c.latency, LE, 10000, warten10)

    </trial >

     

    But it gave me the list of following errors:

    /branch: 'trial.Abfr_Bob_1.response' is not a valid setting.

     /branch: '' is not a valid setting.

     /branch: 'trial.Abfr_Bob_1.response' is not a valid setting.

     /branch: '' is not a valid setting.

     /branch: 'trial.Abfr_Bob_1.response' is not a valid setting.

     /branch: '' is not a valid setting.

     

    I have found this code in the forum (“Re: performance feedback message, 04-08-2008). I am running the version 2.0.60616.0 and I think that didn't support this property. If I write “latency” instead of “response” it works. In the help section I didn’t find the response property in the list of performance variables.

    So I downloaded the 30Day-Inquisit 2.0.61004.6 but it doesn’t work. I tried the same with the 30Day-Inquisit 3, but without success.

     

    What can I do? Thanks a lot in advance!

    Johanna

  •  05-06-2008, 10:39 AM 1614 in reply to 1612

    Re: branch with property "response"

    Hi Johanna,

    The response property was added sometime after version 2.0.60616.0, so you'll need the latest update.

    Just a guess, but the problem is likely because the value of the response property will be the scancode of the key that was pressed, not it's alphanumeric representation. The reason Inquisit uses the scancode is that not all keys have an alphanumeric represenation (e.g., back space), and on some keyboards, there is more than one way to type a character (e.g., numbers on the number pad). You can find out the scancodes for a given key here: http://www.millisecond.com/support/docs/v2/html/language/scancodes.htm

    Regards,

    Sean

     

  •  05-08-2008, 11:21 PM 1626 in reply to 1614

    Re: branch with property "response"

    Hi Sean,

     

    I’ve tried the following things with the version 2.0.61004.6:

     

    1) First I’ve put the scancodes of the keys (1->2, 2->3, 3->4):

     

    <trial Abfr_Bob2_1>

    / branch = (trial.Abfr_Bob_1.response, EQ, 2, Bob_a)

    / branch = (trial.Abfr_Bob_1.response, EQ, 3, Bob_b)

    / branch = (trial.Abfr_Bob_1.response, EQ, 4, Bob_c)

    / validresponse = ("2", "3", "4")

    / correctresponse = ("3")

    </trial >

     

    But it gave me the same error:

     

    /branch: 'trial.Abfr_Bob_1.response' is not a valid setting.

     /branch: '' is not a valid setting.

     

    2) Then I’ve tried it with inputdevice = mouse instead of keyboard (I’ve created pictures with the

    filenames 1, 2, 3.). It gave me the same error again.

     

    <trial Abfr_Bob2_1>

    / inputdevice = mouse

    / branch = (trial.Abfr_Bob_1.response, EQ, 1, Bob_a)

    / branch = (trial.Abfr_Bob_1.response, EQ, 2, Bob_b)

    / branch = (trial.Abfr_Bob_1.response, EQ, 3, Bob_c)

    / validresponse = (1, 2, 3)

    / correctresponse = (2)

    </trial >

     

    3) If I use the latency property, it works:

     

    <trial Abfr_Bob2_1>

    /stimulusframes=[50=Bob_Abfr_1, textT_which_face]

    / branch = (trial.Abfr_Bob_1.latency, LE, 5000, Bob_a)

    / branch = (trial.Abfr_Bob_1.latency, LE, 9000, Bob_b)

    / timeout = 100

    </trial >

     

    4) And if I use the correct / error property, it works too.

     

    <trial Abfr_Bob2_1>

    /stimulusframes=[50=Bob_Abfr_1, textT_which_face]

    / branch = (trial.Abfr_Bob_1.correct, EQ, 1, Bob_a)

    / branch = (trial.Abfr_Bob_1.error, EQ, 1, Bob_b)

    / response = noresponse

    </trial >

     

    But I need the response property for my study. What shall I do? Thanks so much in advance.

    Johanna

  •  05-16-2008, 1:16 PM 1642 in reply to 1612

    Re: branch with property "response"

    Hi Sean,

     

    Now I’ve used the branch attribute with response property for the blocks instead of the trials:

     

    < block Bob1_b>

    / screencolor = (255, 255, 255)

    / trials = [1 = Abfr_Bob1_b]

    / branch = (block.Bob1.response, EQ, 1, Bob1_T1)

    / branch = (block.Bob1.response, EQ, 2, Bob1_T2)

    / branch = (block.Bob1.response, EQ, 3, Bob1_T3)

    / branch = (block.Bob1.response, EQ, 4, Bob1_T3)

    </block >

     

    <trial Abfr_Bob1_b>

    / response = noresponse

    </trial >

     

     

    < block Bob1_T1>

    / screencolor = (255, 255, 255)

    / trials = [1 = Bob1_T1]

    </block >

     

    < block Bob1_T2>

    / screencolor = (255, 255, 255)

    / trials = [1 = Bob1_T2]

    </block >

     

    < block Bob1_T3>

    / screencolor = (255, 255, 255)

    / trials = [1 = Bob1_T3]

    </block >

     

    But this works only if I delete the other branch attribute with latency property in the trial of the block “Bob1” (® block.Bob1.response). If I don’t delete this branch attribute, it gives me no error but it ignores the Block “Bob1_b”.

     

    <trial Abfr_Bob_1>

    /stimulusframes=[50=Bob_Abfr_1, textT_which_face]

    / validresponse = ("1", "2", "3")

    / correctresponse = ("2")

    / branch = (trial.Abfr_Bob_1.latency, LE, 1000, warten1)

    / branch = (trial.Abfr_Bob_1.latency, LE, 2000, warten2)

    / branch = (trial.Abfr_Bob_1.latency, LE, 3000, warten3)

    / branch = (trial.Abfr_Bob_1.latency, LE, 4000, warten4)

    / branch = (trial.Abfr_Bob_1.latency, LE, 5000, warten5)

    / branch = (trial.Abfr_Bob_1.latency, LE, 6000, warten6)

    / branch = (trial.Abfr_Bob_1.latency, LE, 7000, warten7)

    / branch = (trial.Abfr_Bob_1.latency, LE, 8000, warten8)

    / branch = (trial.Abfr_Bob_1.latency, LE, 9000, warten9)

    / branch = (trial.Abfr_Bob_1.latency, LE, 10000, warten10)

    </trial >

     

    < block Bob1>

    / screencolor = (255, 255, 255)

    / trials = [1 = Abfr_Bob_1]

    </block >

     

    If I try the same with the correct / error property, there’s no problem:

     

    < block Bob1_b>

    / screencolor = (255, 255, 255)

    / trials = [1 = Abfr_Bob1_b]

    / branch = (block.Bob1.correct, EQ, 1, Bob1_T1)

    / branch = (block.Bob1.error, EQ, 1, Bob1_T2)

    </block >

     

    Is there a way to manage this in Inquisit? I need to run this study very soon and I don’t know what to do now…

     

    Thank you very much!!

    Johanna

View as RSS news feed in XML
Powered by Community Server, by Telligent Systems