E-prime does not recognise fMRI scanner trigger pulse
David McFarlane
mcfarla9 at msu.edu
Tue May 13 18:20:59 UTC 2014
Christina,
First, I would put an oscilloscope on the trigger output of your
scanner and verify that it works as expected -- Does it produce valid
TTL levels? Does it produce a pulse for every slice, or every volume
scan? How long does each pulse last? What shape does each pulse take?
Next, you might want to get a bit of general background on how a
parallel port works. You may start at
http://en.wikipedia.org/wiki/Parallel_port , and go from there.
Indeed, as see from that article, pin 10 is used for ACKnowledge. I
have never heard of any software using that pin for input, but you
learn something new all the time! That probably goes back to the
days when parallel port data served as output only (back then I used
the control port pins myself for input), but we now have
bidirectional data through pins 2-9, and E-Prime (quite rationally
IMO) uses that.
Next, I have never used EEfMRI, but if RunBegin uses {^} as the
trigger value by default, then I suspect that RunBegin takes its
input from a Keyboard Device, *not* the parallel port -- in
particular, {^} does not seem like a valid input from the parallel
port, unless you meant it as a mask (i.e., ASCII value 0x5E, see
http://www.asciitable.com/ ), but that would be just weird. By
comparison, around here we use a PST Button Response System (BRS) for
subject input with fMRI, that acts like an SRBox connected to the
serial port of our E-Prime PC (with scanner trigger plugged into the
BRS), in E-Prime we map the SRBox Device to the Keyboard Device
(along with some other configuration), then we just use any E-Prime
input object (typically, a TextDisplay) with Allowable set to {^},
which, indeed, happens to be the default value that the BRS presents
*as if it were a keyboard* upon any trigger pulsed (I actually
discuss this fully in a lesson in my online E-Prime course). Works just fine.
Next, I would set aside your full fMRI experiment program and start
making one or more small test programs just to test getting trigger
input from your scanner. E.g., a program with nothing more than a
List with a Procedure with a TextDisplay that shows a prompt and
waits for inputs from several devices, followed by a TextDisplay that
shows whatever input the first TextDisplay got, etc. There is some
chance that your inconsistent trigger problem comes from some
peculiarity of your fMRI experiment program, the test programs should
help to debug that.
Finally, if you still get inconsistent results from your trigger
input, I would put an oscilloscope on the parallel port pins while
your test program runs with your fMRI triggers, and make sure that
you get good trigger pulses under those conditions.
That all said, as it turns out just now I have my own problems
getting input from parallel ports using EP2.0.10.353, and I am
working on this with PST support myself! In this case, I have three
PCs -- With one of them EP2.0.10.353 manages to use the parallel port
for both input & output just fine; with another, output works, but
not input; and with the third, I get an "Address Invalid" error as
the program starts. Oh well. This may have something to do with the
peculiarities of these three systems. Luckily, in this case we can
always revert to an SRBox.
Regards,
-----
David McFarlane
E-Prime training
online: http://psychology.msu.edu/Workshops_Courses/eprime.aspx
Twitter: @EPrimeMaster (https://twitter.com/EPrimeMaster)
/----
Stock reminder: 1) I do not work for PST. 2) PST's trained staff
take any and all questions at https://support.pstnet.com , and they
strive to respond to all requests in 24-48 hours, so make full use of
it. 3) In addition, PST offers several instructional videos on their
YouTube channel (http://www.youtube.com/user/PSTNET ). 4) If you do
get an answer from PST staff, please extend the courtesy of posting
their reply back here for the sake of others.
\----
At 5/13/2014 12:42 PM Tuesday, andreou.christina at gmail.com wrote:
>does anyone here use E-Prime for fMRI experiments? We are trying to
>get it to work and even got the EEfMRI Extension, but the RunBegin
>Package Call simply refuses to recognise the trigger pulse. I tried
>simply inserting a wait object and define the parallel port as
>trigger mask (allowable response {ANY}), and it didn't work either.
>We did a bit of troubleshooting, and ended up changing the cable
>connecting the scanner to the PC: the cable we normally use
>transmits the signal to pin Nr. 10 of the port (acknowledge or
>interrupt pin), if I understood our technician correctly - this
>works both with Presentation and Cogent software. However, we saw
>something on the pstnet support page about E-prime recognising input
>to pins 2 to 9, so we changed that and used a cable that sends the
>signal to pin Nr. 9. Now we have a very peculiar situation:
>
>- the trigger pulse is recognised by the wait object, but only
>sometimes (every 4th, 5th, or 10th pulse is recognised, there does
>not appear to be a system). When it is registered, it appears as 7
>in the E-Dataaid File and in the .pdat file.
>- when I substitute the default allowable input (^) to the RunBegin
>Package Call to 7, it still isn't recognised at all.
>
>I am in contact with pstnet support, but we haven't come further than that.
>
>Has anybody encountered similar problems when setting up fMRI
>experiments? Any input about your experience and/or settings you
>came up with will be valuable!
>
>Thanks,
>Christina
--
You received this message because you are subscribed to the Google Groups "E-Prime" group.
To unsubscribe from this group and stop receiving emails from it, send an email to e-prime+unsubscribe at googlegroups.com.
To post to this group, send email to e-prime at googlegroups.com.
To view this discussion on the web visit https://groups.google.com/d/msgid/e-prime/537262cc.0504320a.1c6b.2cb7SMTPIN_ADDED_MISSING%40gmr-mx.google.com.
For more options, visit https://groups.google.com/d/optout.
More information about the Eprime
mailing list