LDT stimuli timing problem


Author
Message
Sammers52
Sammers52
Esteemed Member (2.3K reputation)Esteemed Member (2.3K reputation)Esteemed Member (2.3K reputation)Esteemed Member (2.3K reputation)Esteemed Member (2.3K reputation)Esteemed Member (2.3K reputation)Esteemed Member (2.3K reputation)Esteemed Member (2.3K reputation)Esteemed Member (2.3K reputation)
Group: Forum Members
Posts: 8, Visits: 1
I am having problem with the input keys. The stimuli are supposed to be on the screen for 5 seconds or until a
 response is made
by pressing the "1" or "0" key but no matter what I try to do the stimuli
remain on the screen
 for 5 seconds.

Does anybody know how to fix this?

Also here is a sample of the code I think may be relevant to this issue:
<trial 2>
/ pretrialpause = 20
/ validresponse = ( "1", "0")
/ correctresponse = ("1")
/ stimulustimes = [100=target;600=erase; 750=neutralwords; 5000=erase; 750=neutralwords2; 5000=erase]
/ trialdata = [neutralwords,neutralwords2]
</trial>


The timing part of that trial is the same for all the trials.

Dave
Dave
Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)
Group: Administrators
Posts: 12K, Visits: 98K

By default, Inquisit starts polling for subjects' responses only after completing the whole stimulus presentation sequence. So, in case of the <trial> definition you posted, Inquisit starts listening for a response after 5000=erase, i.e. 5 seconds into the trial. To override this behavior, you need to use either the '/ responseframe' or the '/ responsetime' attribute. Suppose you want to measure response latencies relative to the 'target' stimulus:


<trial 2>
/ pretrialpause = 20
/ validresponse = ( "1", "0")
/ correctresponse = ("1")
/ stimulustimes = [100=target;600=erase; 750=neutralwords; 5000=erase; 750=neutralwords2; 5000=erase]
/ trialdata = [neutralwords,neutralwords2]
/ responsetime = 100
</trial>


Suppose you want to measure response latencies relative to 'neutralwords2':


<trial 2>
/ pretrialpause = 20
/ validresponse = ( "1", "0")
/ correctresponse = ("1")
/ stimulustimes = [100=target;600=erase; 750=neutralwords; 5000=erase; 750=neutralwords2; 5000=erase]
/ trialdata = [neutralwords,neutralwords2]
/ responsetime = 750
</trial>


The Inquisit documentation has more info on this. You might want to read up on 'How to Control Response Timing', 'How to Control Trial Duration and Inter-Trial
Intervals' and the topics for the associated attributes.


~Dave


Sammers52
Sammers52
Esteemed Member (2.3K reputation)Esteemed Member (2.3K reputation)Esteemed Member (2.3K reputation)Esteemed Member (2.3K reputation)Esteemed Member (2.3K reputation)Esteemed Member (2.3K reputation)Esteemed Member (2.3K reputation)Esteemed Member (2.3K reputation)Esteemed Member (2.3K reputation)
Group: Forum Members
Posts: 8, Visits: 1

Thank you, I'll try those out and look at the 'How to Control Response Timing' and 'How to Control Trial Duration and Inter-Trial Intervals' articles.


Sammers52
Sammers52
Esteemed Member (2.3K reputation)Esteemed Member (2.3K reputation)Esteemed Member (2.3K reputation)Esteemed Member (2.3K reputation)Esteemed Member (2.3K reputation)Esteemed Member (2.3K reputation)Esteemed Member (2.3K reputation)Esteemed Member (2.3K reputation)Esteemed Member (2.3K reputation)
Group: Forum Members
Posts: 8, Visits: 1

That does seem to make it take the data at the right time, but it still leaves the stimuli up on the screen for 5 seconds.  How do you make erase after EITHER 5 seconds OR right after the participant gives thier response? (so that if they respond at 500 ms the stimuli disappears right after, and the next set comes up?)



-Sammers


Dave
Dave
Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)
Group: Administrators
Posts: 12K, Visits: 98K

How do you make erase after EITHER 5 seconds OR right after the participant gives thier response? (so that if they respond at 500 ms the stimuli disappears right after, and the next set comes up?)


No need to SCREAM and actually this is Inquisit's default behavior, so it should work straight out of the box. So, either another portion of your script is interfering with this or you're encountering a bug. What build of Inquisit are you using (-> Help -> About Inquisit...)? In any case, the behavior can also be *explicitly* controlled via the '/ responseinterrupt' attribute. Give that a try (in your case '/ responseinterrupt = immediate'). If all of this doesn't work you might want to put your script and all supporting files (pictures, etc.) into a *.zip archive and attach it to this thread.


Best wishes from a fellow Inquisit user,


~Dave


Blackadder
Blackadder
Supreme Being (26K reputation)Supreme Being (26K reputation)Supreme Being (26K reputation)Supreme Being (26K reputation)Supreme Being (26K reputation)Supreme Being (26K reputation)Supreme Being (26K reputation)Supreme Being (26K reputation)Supreme Being (26K reputation)
Group: Forum Members
Posts: 280, Visits: 147

Hi you 2,


there is one thing I do not understand at all about the script.


/ stimulustimes = [100=target;600=erase; 750=neutralwords; 5000=erase; 750=neutralwords2; 5000=erase]


What in the name of the Lord is that supposed to accomplish? You present "neutralwords" at 750ms and then "neutralwords2" also at 750ms. I get the impression that Sammers52 isn't aware of the fact that Inquisit expects SOAs (stimulus onset asynchronies), not ISIs (inter stimulus intervals). If I interpret correctly what Sammers52 is trying to do, the following trial sequence is intended:


blank (for 100ms) - target (for 500ms) - blank (for 150ms) - neutralwords (for 5000ms) - blank (for 750ms) - neutralwords2 (for 5000ms) - blank (until response)


This translates into Inquisit as


/ stimulustimes = [100=target; 600=erase; 750=neutralwords; 5750=erase; 6500=neutralwords2; 11500=erase]


Maybe this is really a bug in Inquisit since a trial definition as done by Sammers52 should be highly unlikely in the real world. Having a stimulus that is to appear quite early within the trial course defined way later is something I have never seen once.


If, however, "neutralwords" and "neutralwords2" really ought to appear simultaneously, the script better be something like this:


/ stimulustimes = [100=target; 600=erase; 750=sequence(neutralwords,neutralwords2); 5000=erase]



Just a thought,
  Malte



Dave
Dave
Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)Supreme Being (1M reputation)
Group: Administrators
Posts: 12K, Visits: 98K

Dammit -- you're absolutely right, Malte! Absolutely didn't catch this. However, the parser should definitely throw an error for this type of stimulus sequence setup. I don't recall ever trying this with '/ stimulustimes' but I do know that the corresponding '/ stimulusframes' definition would throw a 'redefinition of event error'. Thanks!


~Dave


Sammers52
Sammers52
Esteemed Member (2.3K reputation)Esteemed Member (2.3K reputation)Esteemed Member (2.3K reputation)Esteemed Member (2.3K reputation)Esteemed Member (2.3K reputation)Esteemed Member (2.3K reputation)Esteemed Member (2.3K reputation)Esteemed Member (2.3K reputation)Esteemed Member (2.3K reputation)
Group: Forum Members
Posts: 8, Visits: 1
What we are attempting to accomplish is for the eye target (a small focus item that appears in the middle of the screen) to appear first, then erase, and then to have the two stimuli appear at the same time (at 750 ms) in a configuration similar to:


Neurtalword







Neutralword2


This is a particular way of setting up the Lexical Desision task that should give stronger effects than a forward or backwards mask.

After the two stimuli simultaneously appear we want them to erase either immediately after a response is given or after 5 seconds if there has been no response.
Sammers52
Sammers52
Esteemed Member (2.3K reputation)Esteemed Member (2.3K reputation)Esteemed Member (2.3K reputation)Esteemed Member (2.3K reputation)Esteemed Member (2.3K reputation)Esteemed Member (2.3K reputation)Esteemed Member (2.3K reputation)Esteemed Member (2.3K reputation)Esteemed Member (2.3K reputation)
Group: Forum Members
Posts: 8, Visits: 1
ok....my example did not appear correctly in the post. lets see if it works this way

Neutralword



Neutralword2
Sammers52
Sammers52
Esteemed Member (2.3K reputation)Esteemed Member (2.3K reputation)Esteemed Member (2.3K reputation)Esteemed Member (2.3K reputation)Esteemed Member (2.3K reputation)Esteemed Member (2.3K reputation)Esteemed Member (2.3K reputation)Esteemed Member (2.3K reputation)Esteemed Member (2.3K reputation)
Group: Forum Members
Posts: 8, Visits: 1
Gah!!!

Okay Neutralword is supposed to appear above Neutralword2 by a set amount so that they are both on screen and visible in different places on the screen (one about 3.5 inches about the other)
GO

Merge Selected

Merge into selected topic...



Merge into merge target...



Merge into a specific topic ID...




Reading This Topic

Explore
Messages
Mentions
Search