psychopy.org | Reference | Downloads | Github

How to send triggers to EEG (Neuroscan system)?

Hi, all

I am currently using Psychopy for my experiments (coding), however I am not quit sure whether Psychopy can send triggers to the EEG (previouly we are using E-prime, which can send triggers, but now we switch to PsychoPy). If there are some other Python packages which can send EEG triggers, I think that’s also OK. The EEG in our lab is Neuroscan. It seems that Psychopy can send triggers to EGI after referring some of the previous post in the forum.

I am really appreciate if someone could give me some idea. Many thanks for your help!

Timothy

Hi Timothy, for those of us not familiar with your particular system, you need to tell us how you communicate to your EEG. Serial port? Parallel? Ethernet? How did you configure it for e-prime? Yes, PsychoPy can do this, but you need to provide the details.

Until you provide more information as @Michael requested, maybe this link helps you solve the problem if you happen to use parallel port: https://stackoverflow.com/questions/26762015/psychopy-sending-triggers-on-64bit-os

Hello,

Sorry to revive an older post, but I have a similar question. I currently have a script that is sending a trigger to Neuroscan via a parallel port, however I need the trigger value to change based on a column in a .csv, where the text based stimuli are being pulled from. Furthermore, the trigger is being sent each time a USB controller is clicked, but I would prefer it to send triggers when the stimulus is displayed.

Any assistance would be greatly appreciated. Thank you!

This sounds a lot like our current set-up. We have a function that takes care of sending the right trigger:

def sendTrigger(trial,triggerCol):
    port.setData(int(triallist[trial,triggerCol]))
    core.wait(0.01)
    port.setData(0)

This function is called from the main loop that goes through our stimulus list, exactly when the stimulus is presented.

for trial in range(len(triallist)):
    win.callOnFlip(sendTrigger, trial, 6)
    for frame in range(stim_fr):
        stimlist[trial].draw()
        win.flip()
    fix.draw()
    win.flip()

So on each trial, the trigger code is read from the trigger column (6) on the same row (trial) as the stimulus text.