E-prime does not recognise fMRI scanner trigger pulse

Paul Groot pfc.groot at gmail.com
Tue May 13 21:06:12 UTC 2014


Hi Christina,

For historical and technical reasons, ACK pin 10 of the printer port is
often used for handling trigger signals. One of the reasons is that this
input can be handled by so called interrupt routines, which offer a very
efficient, reliable and fast method for handling even the shortest trigger
pulses. (Interrupts are edge-triggered!) However, EPrime uses a polling
technique to detect bit-changes on a specified input port or status
register. When a trigger signal is not always detected by E-Prime, it could
be the case that the trigger signal is just too short to be detected
reliably. For example, if the port is checked every millisecond, a pulse
with a duration of just 0.5 milliseconds has a change of about 50% to be
detected. The trigger option of Philips MR systems generate TTL-pulses of
only a few microseconds, so polling won't work in that case. (We use a
small piece of hardware that extends the duration of the pulses to about 20
milliseconds to solve this.) Siemens systems use a different strategy: they
toggle the status of the digital line at every volume, so the voltage level
will change once at every TR.

You also might find the attached test-scripts useful for checking the
ACK-line of the printer port. I created these scripts a few years ago when
I didn't have proper measuring equipment available, and the are programmed
really quick-and-dirty, so don't be mislead by poor programming. I think
the default configuration is fine for testing the ACK line, but if you
would like to change the IO port address or pin number, you could modify
the TriggerMonitor.startupinfo-file, or change the following lines in
PortScope.es2:

Case "LPT1, ACK"
IoPort% = &H378 + 1
IoMask% = &H40  ' ACK = pin 10 = bit 6

However, keep in mind that these scripts will also miss very short signal
changes.

Best,
Paul



On 13 May 2014 18:42, <andreou.christina at gmail.com> wrote:

> Hi,
>
> 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/5ef90e66-0f97-4cef-9078-fb67c166a91c%40googlegroups.com<https://groups.google.com/d/msgid/e-prime/5ef90e66-0f97-4cef-9078-fb67c166a91c%40googlegroups.com?utm_medium=email&utm_source=footer>
> .
> For more options, visit https://groups.google.com/d/optout.
>

-- 
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/CAKAdR-vgH69PqKZNoJxuRbgMci%3DY03SDex%3DCK%3DdsNvM1pEgD2A%40mail.gmail.com.
For more options, visit https://groups.google.com/d/optout.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://listserv.linguistlist.org/pipermail/eprime/attachments/20140513/a5547b3c/attachment.htm>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: PortScope.es2
Type: application/octet-stream
Size: 55124 bytes
Desc: not available
URL: <http://listserv.linguistlist.org/pipermail/eprime/attachments/20140513/a5547b3c/attachment.obj>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: TriggerMonitor.es2
Type: application/octet-stream
Size: 55031 bytes
Desc: not available
URL: <http://listserv.linguistlist.org/pipermail/eprime/attachments/20140513/a5547b3c/attachment-0001.obj>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: TriggerMonitor.startupinfo
Type: application/octet-stream
Size: 228 bytes
Desc: not available
URL: <http://listserv.linguistlist.org/pipermail/eprime/attachments/20140513/a5547b3c/attachment-0002.obj>


More information about the Eprime mailing list