[Eeglablist] Applying ASR / ICA to NeurofeedbackLab

Sam Roberts sam.roberts-4 at postgrad.manchester.ac.uk
Wed Nov 13 08:06:12 PST 2024


Hi,
I'm trying to get a protocol sorted using NeurofeedbackLab<https://urldefense.com/v3/__https://github.com/arnodelorme/neurofeedbacklab__;!!Mih3wA!ExiWeSW5qUOBSoonPj8y-PyHdBne9exic1cTXZEOJYjGGl1RTFSICB_BOFDjqiwZgSYRzkJAqx9Vbq2Oa8k-OX5hK_F6v_6IRceV-KEov37C$ >, I haven't done much beyond downloading and successfully replicating the YouTube demos, but as I move into my own system I am having struggles in getting the real-time ICA/ASR to work

The only change I've made is setting asrFlag and icaFlag to true in the nfblab_setfields script and these errors come back:

%ASR
Starting new session...
Loading baseline ASR file data_nfblab_2024-11-12_11-14_asr_filter.mat...
eeg_checkset note: upper time limit (xmax) adjusted so (xmax-xmin)*srate+1 = number of frames
Feedback "Streaming" sent to client (if any)
Dot indexing is not supported for variables of this type.

Error in asr_process (line 108)
[T,M,A,B] = deal(state.T,state.M,state.A,state.B);
                 ^^^^^^^
Error in nfblab_process (line 576)
                [chunkFilt(nonEventChans,:), stateAsr]= asr_process(chunkFilt(nonEventChans,:), g.input.srateHardware, stateAsr, [],[],[],[],size(g.input.chans));



%ICA
Starting new session...
Loading baseline ASR file data_nfblab_2024-11-12_11-14_asr_filter.mat...
eeg_checkset note: upper time limit (xmax) adjusted so (xmax-xmin)*srate+1 = number of frames
Feedback "Streaming" sent to client (if any)
Error using  *
Incorrect dimensions for matrix multiplication. Check that the number of columns in the first matrix matches the number of rows in
the second matrix. To operate on each element of the matrix individually, use TIMES (.*) for elementwise multiplication.

Error in nfblab_process (line 581)
                icaAct = g.preproc.icaWeights(g.preproc.icaRmInd,:)*chunkFilt(nonEventChans,:);

I understand what 'dot indexing not supported'  and  'incorrect dimensions for matrix multiplication' means in a general MATLAB sense, but I don't understand what else needs to be done to make this work.

I also tried to import the baseline .mat file to EEGLab as maybe you'd need to calculate the ICA weights offline, but EEGLab couldn't import the data from the .mat file
[cid:838c746c-c9e0-4c39-b6e9-c60602cd02a9]

Does anyone have experience with NeurofeedbackLab and can help me in getting the real-time ASR and ICA to work?


Best Regards,



-Sam Roberts

PhD Student

Division of Psychology, Communication & Human Neuroscience

The University of Manchester

Connect with me on LinkedIn<https://urldefense.com/v3/__https://www.linkedin.com/in/sam-roberts-5b3261209/__;!!Mih3wA!ExiWeSW5qUOBSoonPj8y-PyHdBne9exic1cTXZEOJYjGGl1RTFSICB_BOFDjqiwZgSYRzkJAqx9Vbq2Oa8k-OX5hK_F6v_6IRceV-ErcRFw7$ >




More information about the eeglablist mailing list