Milliseconds in Millisecond


Author
Message
Kuba S
Kuba S
Esteemed Member (1.5K reputation)Esteemed Member (1.5K reputation)Esteemed Member (1.5K reputation)Esteemed Member (1.5K reputation)Esteemed Member (1.5K reputation)Esteemed Member (1.5K reputation)Esteemed Member (1.5K reputation)Esteemed Member (1.5K reputation)Esteemed Member (1.5K reputation)
Group: Forum Members
Posts: 16, Visits: 1

Hi there again!


Can I ask you for your advise?


I want to write an experiment with priming like this:


(80 milliseconds) Mask -> (12 milliseconds) Stimuli -> (80 milliseconds) Mask


I used "trialduration" to deteremine milliseconds for mask and stimuli as well. Need to say that after running it doesn't look like thing that I would like to have - an especially 12 milliseconds stimuli (I can see it without no additional effort).
Do I have my milliseconds corect?



BTW.
Is there's some way to randomise /hposition in picture element and then in MASK (shape element) get the exactly same value for /hposition?



--- A1 ---


<picture picture_A1>
/ items = ("XXX.jpg")
/ hposition = 15
/ vposition = 15
/size = (20%, 20%)
</picture>

<shape mascingA1>
/ shape = rectangle
/ size = (250, 250)
/ color = black
/ hposition = picture.picture_A1.hposition
/ vposition = picture.picture_A1.vposition
</shape>

--- A2 ---

<picture picture_A2>
/ items = ("XXX.jpg")
/ hposition = 80
/ vposition = 80
/size = (20%, 20%)
</picture>

<shape mascingA2>
/ shape = rectangle
/ size = (250, 250)
/ color = black
/ hposition = picture.picture_A2.hposition
/ vposition = picture.picture_A2.vposition
</shape>

<shape blank>
/ shape = rectangle
/ size = (250, 250)
/ color = blue
</shape>

<shape blank2>
/ shape = rectangle
/ size = (250, 250)
/ color = yellow
</shape>

<shape blank3>
/ shape = rectangle
/ size = (250, 250)
/ color = brown
</shape>

<shape blank4>
/ shape = rectangle
/ size = (250, 250)
/ color = black
</shape>


--- A1 ---
<trial blysk1>
/ stimulusframes = [1=random(blank, blank2,blank3)]
/ trialduration = 80
/ correctresponse = (noresponse)
</trial>

<trial mascA1>
/ stimulusframes = [2=random(blank, blank2,blank3);6= mascingA1]
/ correctresponse = (noresponse)
/ trialduration = 80
</trial>

<trial logoA1>
/ stimulusframes = [1= picture_A1]
/ correctresponse = (noresponse)
/ trialduration = 12
</trial>

<trial mascA1_2>
/ stimulusframes = [2=random(blank, blank2,blank3);6= mascingA1]
/ correctresponse = (noresponse)
/ trialduration = 80
</trial>


--- A2 ---

<trial mascA2>
/ stimulusframes = [2=random(blank, blank2,blank3);6= mascingA2]
/ correctresponse = (noresponse)
/ trialduration = 80
</trial>

<trial logoA2>
/ stimulusframes = [1= picture_A2]
/ correctresponse = (noresponse)
/ trialduration = 12
</trial>

<trial mascA2_2>
/ stimulusframes = [2=random(blank, blank2,blank3);6= mascingA2]
/ correctresponse = (noresponse)
/ trialduration = 80
</trial>


--- Blocks ---

<block block_1A>
/ screencolor = (255, 255, 255)
/ trials = [1 = blysk1; 2= mascA1; 3=logoA1; 4=mascA1_2]
</block>

<block block_2A>
/ screencolor = (255, 255, 255)
/ trials = [1 = blysk1; 2= mascA2; 3=logoA2; 4=mascA2_2]
</block>


--- Experiment ---

<expt>
/ blocks = [1= random(block_1A, block_2A)]
</expt


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


I want to write an experiment with priming like this:


(80 milliseconds) Mask -> (12 milliseconds) Stimuli -> (80 milliseconds) Mask


I used "trialduration" to deteremine milliseconds for mask and stimuli as well



Well, first off, why in the world are you using the /trialduration attribute in order to achieve the desired stimulus durations and inter stimulus intervals (ISI). The starightforward way would be to use either the /stimulusframes or /stimulustimes attributes an have all your stims (forwardmask, prime, backwardmask) displayed by a single <trial> element:


<trial myprimingtrial>
/ stimulustimes = [1=forwardmask; 81=prime; 93=backwardmask]
[...]
</trial>


There is another problem, though, and that is why it is of *key importance* to get at least a basic understanding of how computer display technology works before trying to implement subliminal priming procedures. It may very well be, that you simply cannot achieve a prime display duration of 12ms in the real world. For a quick (but nevertheless informative) overview of how computers display stuff on screen, read (and understand!) this: http://www.psychopy.org/general/timing/millisecondPrecision.html#computer-monitors.


Note that whether you're using good, old cathode ray tube (CRT) monitors or modern liquid crystal (LCD) and thin-film-transistor (TFT) flatscreen displays can make a (huge) difference (see Plant & Turner, 2009). In general, flatscreen displays are currently considered unsuitable for subliminal priming procedures. There is a notable body of literature dealing with these issues, and I urge you to look into this *before* even thinking about doing any programming. For starters, here are a few references that come to mind (there is more, but I guess you know how to find literature on your own):


Plant, Hammond & Turner (Behavior Research Methods, 2004), Wiens et al. (Psychological Science, 2004), Plant & Turner (Behavior Research Methods, 2009), Elze & Tanner (Medical Physics, 2009).


Regards,


~Dave



LSca15
LSca15
Expert (1.4K reputation)Expert (1.4K reputation)Expert (1.4K reputation)Expert (1.4K reputation)Expert (1.4K reputation)Expert (1.4K reputation)Expert (1.4K reputation)Expert (1.4K reputation)Expert (1.4K reputation)
Group: Forum Members
Posts: 8, Visits: 1

Thanks for the above information. :-)


If I'm understanding this correctly, it suggests that we need to use CRT monitors instead of laptop screens (?), given the way that the image is presented on the screen, and the fact that LCDs take longer to display the image. 


However, given that we have installed our versions of Inquisit on laptops, can we just hook our laptops up to a CRT monitor? 


The next step, I suppose is figuring out the refresh rate of the CRT monitor. Assuming that it is 85 Hz, does this
mean that each frame is presented for 11.7 ms (or is there some other info I
need to know in order to calculate this)? Thus, if my script is as follows,
does it mean that my subliminal prime will be presented for 23.4 ms??



<trial
txneutralprime_nonwordtarget> 


/
validresponse = ("e", "i")


/
correctresponse = ("e")


/
stimulusframes = [1=txforwardmask; 10=txneutralprime; 12=txbackwardmask;
13=txnonwordtarget]


</trial>


 


Thanks,


Leila




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

If I'm understanding this correctly, it suggests that we need to use CRT monitors instead of laptop screens (?


Depends on the quality of your hardware. You'd need external equipment (oscilloscope, photo sensors) to measure the given monitors' properties and decide if they're suitable for subliminal stimulus display or not.


However, given that we have installed our versions of Inquisit on laptops, can we just hook our laptops up to a CRT monitor? 


If your laptops have suitable connectors for external displays (which would usually mean a VGA port in case of old CRT monitors), yes.


The next step, I suppose is figuring out the refresh rate of the CRT monitor. Assuming that it is 85 Hz, does this
mean that each frame is presented for 11.7 ms (or is there some other info I
need to know in order to calculate this)?


1000(ms) / 85(Hz) = 11.76 ms


Thus, if my script is as follows,
does it mean that my subliminal prime will be presented for 23.4 ms??


It's presented for two frames (frames 10 and 11), thus approx. 2 x 11.76 ms = 23.52 ms (assuming suitable monitor performance).


Regards,


~Dave



LSca15
LSca15
Expert (1.4K reputation)Expert (1.4K reputation)Expert (1.4K reputation)Expert (1.4K reputation)Expert (1.4K reputation)Expert (1.4K reputation)Expert (1.4K reputation)Expert (1.4K reputation)Expert (1.4K reputation)
Group: Forum Members
Posts: 8, Visits: 1

OK, great, thanks! 


So in terms of testing the quality of my hardware, I will need to evaluate the properties of the monitors --- sounds like I need to know more than just the refresh rate. I will start by looking at the references you suggested above, and will post anything else I find about which properties of monitors are important for subliminal stimuli presentation. Please let me know if any additional references come to mind!


Thanks,


Leila


LSca15
LSca15
Expert (1.4K reputation)Expert (1.4K reputation)Expert (1.4K reputation)Expert (1.4K reputation)Expert (1.4K reputation)Expert (1.4K reputation)Expert (1.4K reputation)Expert (1.4K reputation)Expert (1.4K reputation)
Group: Forum Members
Posts: 8, Visits: 1

In case anyone else is interested in this thread, I will share that, after finding an available CRT monitor, I had to test its properties using an oscilloscope. In my department, we are lucky enough to have a tech guy who uses these regularly. The oscilloscope confirmed that the monitor's refresh rate was 85 hz. It also told me how long the prime was visible on the screen for, as well as the fact that my software was indeed synchronized with the scan cycle.


Leila


LSca15
LSca15
Expert (1.4K reputation)Expert (1.4K reputation)Expert (1.4K reputation)Expert (1.4K reputation)Expert (1.4K reputation)Expert (1.4K reputation)Expert (1.4K reputation)Expert (1.4K reputation)Expert (1.4K reputation)
Group: Forum Members
Posts: 8, Visits: 1

PS -- Dave, I had one more quick question about the subliminal priming script. The script for one of my trials is as follows: 


<trial prime_targetA>
/ validresponse = ("e", "i")
/ responsemode = timeout(1000)
/ correctresponse = ("i")
/ stimulusframes = [1=txready; 61=txforwardmask; 63=txprime; 65=txbackwardmask; 67=txpause; 69=TargetA]
</trial>


I'm just curious about the timeout. Does the above mean that the target will be presented for 1000 ms, or is it 1000ms minus the time taken to present the primes and masks too (i.e., 1000ms-67 frames)?
Thanks,
Leila





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

#1: Note that /responsemode=timeout(1000) is not the same as /timeout=1000


#2: Given your syntax, Inquisit will start polling for a response as soon as the stimulusframes sequence has completed (i.e., frame 69). Subjects then have 1000ms to submit a response.


#3: As should be clear from #2, your timeout setting has little to do with how long the target will be presented. The trial will terminate as soon as a response is detected. See the documentation for the /responseinterrupt attribute for details. Also see the "How to Control Trial Duration and Inter-Trial
Intervals" topic in the Inquisit documentation.


Regards,


~Dave


LSca15
LSca15
Expert (1.4K reputation)Expert (1.4K reputation)Expert (1.4K reputation)Expert (1.4K reputation)Expert (1.4K reputation)Expert (1.4K reputation)Expert (1.4K reputation)Expert (1.4K reputation)Expert (1.4K reputation)
Group: Forum Members
Posts: 8, Visits: 1

Great, that is very helpful, thanks!


GO

Merge Selected

Merge into selected topic...



Merge into merge target...



Merge into a specific topic ID...




Reading This Topic

Explore
Messages
Mentions
Search