not getting expected results from VEP / visual stimuli EEG data [resolved]

RazanAbdullaRazanAbdulla India
edited July 2021 in Software

Hi @retiutut @wjcroft @evaesteban
I've acquired a Mark 4 headset + Cyton board from OpenBCI for a project related to brain signal classification. I've tested the helmet with some experiments mostly with visual stimuli. But so far I couldn't extract relevant information from the raw data signals. I've tried with 8 channels at different positions but results were the same. I've tried some custom neural network architectures as well.
Can you tell me what might be the possible reasons/give me some help for this work?
Can you provide sample VEP/visual stimuli raw EEG dataset so that I can try with my code? The links in your dataset-site are either invalid or leads to some university websites

Comments

  • wjcroftwjcroft Mount Shasta, CA
    edited July 2021

    Razan, hi.

    One factor that is extremely important with display screen stimulation, is the frequency fidelity of the entire graphics chain timing. MindAffect has written extensively on this.

    https://github.com/mindaffect/pymindaffectBCI ['FrameRate check' section, and read about VSync feature]
    https://mindaffect-bci.readthedocs.io/en/latest/build_your_own_optical_sensor.html
    https://mindaffect-bci.readthedocs.io/en/latest/stimulus_time-lock_test_tutorial.html

    MindAffect’s simple printed passive sponge+water wet headband. I believe from other reports that this is much superior to other trials with passive dry electrodes, which are lower amplitude signals.

    https://mindaffect-bci.readthedocs.io/en/latest/fitting_guide.html

    Regards, William

  • wjcroftwjcroft Mount Shasta, CA

  • HasniHasni Pakistan
    edited August 2021

    HELP ME KINDLY.... I have a project demo tommorow
    i have developed a ssvep based command selection (4 basic frequecies)
    I used cyton board and dongle **
    I use **filters and CCA
    to detect SSVEP
    PROBLEM IS THAT Most of the times... SSVEP is not seen in plots rathers noise floor of 1uV to 3uV is seen
    no prominent peaks of SSVEP
    I have not found chipaudette files of SSVEP
    i developed my own flickering screen algotithm in PYTHON (that may not be too accurate)
    Frequecies that i am using are 4 7 13 and 17 Hz
    Please share any electrode placements or methods to decrease impedance (i am getting 30 k average impedance)
    @wjcroft
    @retiutut
    kindly

  • wjcroftwjcroft Mount Shasta, CA

    @Hasni, hi.

    I merged your new thread into this existing thread on SSVEP accuracy. Please see the previous comments. In particular the timing accuracy of your monitor is a major factor in VEP response. MindAffect offers some tests you can run to check and calibrate that. If you are getting poor results with a particular hardware base, the suggestion would be to try another configuration.

    Also, MindAffect found that they always got better results with using wet based electrodes over dry passive. Your 30K number sounds like dry sensors. MindAffect uses a simple water or saline based 3D printed headband (also open source.) MindAffect's system uses cVEP, code based VEP, that requires even MORE timing accuracy than the slower and simpler SSVEP.

    Regards, William

  • Hi @wjcroft,
    I've gone through the Mindaffect docs regarding SSVEP. I have this doubt(I'm definitely not an expert), if we're using visual images for a particular time, say 1 second instead of setting up with screen's fps, the signal should have this components corresponding to the stimuli, right? I've tried with a frequency filters(a notch filter and a band pass filter) also but I couldn't get any "peaks" in the desired range of frequencies(I'm getting peaks in lower frequency range in the FFT plot). Can you please help me to get better results?
    Also I've one more doubt regarding the Cyton board pin connection, I've used the bottom row of pins(N1P to N8P) for collecting the signals. But in some documents I've read about using two consecutive channels in top&bottom rows(say N4P and N4N). Can you please tell me why it should be like that?

  • wjcroftwjcroft Mount Shasta, CA
    edited August 2021

    I've gone through the Mindaffect docs regarding SSVEP.

    MindAffect does NOT use SSVEP, (steady state VEP), instead it uses what is called cVEP, code based VEP. cVEP requires even more tight timing than the SSVEP you are using. Did you try running some of the calibration tests that MindAffect developed? These ascertain if your monitor and operating system timing chain is accurate enough for any type of VEP. In particular the OS VSync feature, which is critical.

    I've tried with a frequency filters(a notch filter and a band pass filter) also but I couldn't get any "peaks" in the desired range of frequencies(I'm getting peaks in lower frequency range in the FFT plot).

    The most critical element is the accuracy of the screen frequency generation. Not the filtering of the evoked potentials.

    Also I've one more doubt regarding the Cyton board pin connection, I've used the bottom row of pins(N1P to N8P) for collecting the signals. But in some documents I've read about using two consecutive channels in top&bottom rows(say N4P and N4N). Can you please tell me why it should be like that?

    You are correct, EEG only uses the bottom pins. This is because EEG is using a common reference electrode (SRB2) for all the channels. EMG or other biosignals use what is called 'differential' mode. Where each channel has it's own reference. That is where the top pin is used.

    https://docs.openbci.com/GettingStarted/Biosensing-Setups/EMGSetup/

    Lastly, I mentioned previously that MindAffect uses a WET (water or saline) headband (open source 3D printable design), that produces superior VEP signal amplitudes over what can be seen with dry electrodes. This is always the case with EEG electrodes: passive wet signals are superior to passive dry.

    Regards, William

Sign In or Register to comment.