Problem syncing E-Prime data with dicoms


I am new to the fMRI world and recently ran into a timing problem that I’m hoping is fixable! Our study uses an E-Prime go/no-go task with a sync pulse (the “5”) coming from the scanner, but it wasn’t appearing to sync once we started the scan so we manually pressed “5” and the sequence began. Now I am concerned that the imaging and the behavioral data are out of sync. I have looked at the E-Prime output and the dicom files but I’m just not sure how to get them synced up (or if that will even be possible). I am sure hoping this data isn’t a complete loss! Any guidance would be greatly appreciated.

Thank you in advance!

When was the 5 pressed on the keyboard? Did the operator attempt to precisely press this key at the same time they heard the load sounds that occur as the EPI acquisition begin? Or did they press the key an unknown number of seconds afterward?

If the former, I suspect you can salvage the data. What you want to know is the number of volumes discarded by the acquisition. This depends on your scanner manufacturer, for example if you use Siemens the default formula is Dummy scans = ROUNDUP(3001/TR). The dummy scans are not reconstructed (due to T1 effects). In theory, this could allow you to estimate the onset time of your events relative to the scanner volumes. You would want to make sure to add temporal derivatives into your statistical model. I like to think of your statistical model as a “key” where the predicted signal brightness has peaks and valleys across time. The statistics sees if this “key” matches the peaks and valleys in the observed data. The temporal derivative effectively allows the key to be pulled in and out of the lock but about 1 second. The big concern I would have about this approach is if there is clock drift between the ePrime clock and your scanner’s clock. In other words, across the ~20minutes of the fMRI session do the onset times of your events become successively out of sync with the volume onsets, e.g. What ePrime thinks is “20:00 minutes” is “20:04” minutes for the Siemens clock. Clock drift is a serious concern (e.g. the Siemens clock for Physiological recording can differ a lot from the Siemens clock for scan acquisition).

I strongly suggest you log scan times directly with ePrime. My web page describes how you can make a simple circuit that will emulate a keyboard, mouse or joystick press for each scan volume (I prefer the joystick button, as it does not fill up the keyboard queue). The important thing is that the Siemens optical pulse is extremely brief, so it might not be detected by the ePrime computer. That explains the role of the 555 chip in my circuit, which lengthens the duration of the signal to several milliseconds to ensure detection. The circuit is even simpler if your manufacturer uses a TTL pulse instead of an optical pulse. The web page shows a purple custom circuit board printed by oshpark and I can send you the Gerber files for those. However, you can use a breadboard and make this circuit in a couple minutes. The breadboard does not look as pretty but it works just as well - we used a breadboard at my center for 5 years, and only switched to the PCB for cosmetic reasons.