Clear all

"Unrecognized function or variable 's'" after hmrR_GLM with glmsolveMethod=2

1 Posts
1 Users
Alex Niephaus
Posts: 2
Topic starter
New Member
Joined: 1 year ago

Hi there,

I wanted to run a GLM analysis with my data and after deciding on the preprocessing steps I finally wanted to run the stream with the recommended parameter glmsolveMethod=2 (and then driftorder=0). I used Homer v1.33.0 and Matlab R2019b. Here is the used processing stream:


% group
@ hmrG_SubjAvg [dcAvg,nTrials] (dcAvgSubjs,nTrialsSubjs
@ hmrG_SubjAvgStd [dcAvgStd,dcAvgStdErr] (dcAvgSubjs

% subj
@ hmrS_RunAvg [dcAvg,nTrials] (dcAvgRuns,mlActRuns,nTrialsRuns 
@ hmrS_RunAvgStd2 [dcAvgStd,dcAvgStdErr] (dcAvgStdRuns,nTrialsRuns 

% run
@ hmrR_Intensity2OD dod (data
@ hmrR_MotionArtifactByChannel [tIncAuto,tIncAutoCh] (dod,probe,mlActMan,mlActAuto,tIncMan tMotion %0.1f 1 tMask %0.1f 1 STDEVthresh %0.1f 50 AMPthresh %0.2f 0.4
@ hmrR_MotionCorrectSpline dod (dod,mlActAuto,tIncAutoCh p %0.2f 0.99 turnon %d 1
@ hmrR_MotionCorrectWavelet dod (dod,mlActMan,mlActAuto iqr %0.2f 1.5 turnon %d 1
@ hmrR_BandpassFilt dod (dod hpf %0.3f 0.01 lpf %0.3f 0.5
@ hmrR_OD2Conc dc (dod,probe ppf %0.1f_%0.1f 1_1
@ hmrR_GLM [dcAvg,dcAvgStd,nTrials,dcNew,dcResid,dcSum2,beta,R,hmrstats] (dc,stim,probe,mlActAuto,Aaux,tIncAuto,rcMap trange %0.1f_%0.1f -5_20 glmSolveMethod %d 2 idxBasis %d 1 paramsBasis %0.1f_%0.1f_%0.1f_%0.1f 1_1_0_0 rhoSD_ssThresh %0.1f 15 flagNuisanceRMethod %d 1 driftOrder %d 0 c_vector %d 0

But I get an error message: Unrecognized function or variable 's' with the following info from matlab command window:

Unrecognized function or variable 'S'. 
Error in ar_glm_final (line 37) w(:,j) = S.w; 
Error in hmrR_GLM (line 622) [dmoco, beta, tstat(:,lstML(chanIdx),conc), pval(:,lstML(chanIdx),conc), sigma, CovB(:,:,lstML(chanIdx),conc), dfe, w, P, f] = ar_glm_final(squeeze(ytmp2),At(lstInc,:)); 
Error in ProcStreamClass/Calc (line 264) eval( fcall ); 
Error in TreeNodeClass/Calc (line 691) obj.procStream.Calc([obj.path, obj.GetOutputFilename()]); 
Error in RunClass/Calc (line 307) Calc@TreeNodeClass(obj); 
Error in SubjClass/Calc (line 325) r(iRun).Calc(); 
Error in GroupClass/Calc (line 455) s(iSubj).Calc(); 
Error in DataTreeClass/CalcCurrElem (line 586) obj.currElem.Calc(); 
Error in MainGUI>pushbuttonCalcProcStream_Callback (line 529) maingui.dataTree.CalcCurrElem(); 
Error in gui_mainfcn (line 95) feval(varargin{:}); 
Error in MainGUI (line 21) gui_mainfcn(gui_State, varargin{:}); 
Error in>@(hObject,eventdata)MainGUI('pushbuttonCalcProcStream_Callback',hObject,eventdata,guidata(hObject)) 
Error while evaluating UIControl Callback.


I tried to use the processing stream with your fingertapping demo data and there it works flawlessly. So the problem has to be in my data, right?

If you want to test with my data it's partially provided here. Because of a self-made short-separation setup, the outermost channels on the right side of the probe have to be excluded (see attached screenshot).

I hope that you can help me with this problem and I thank you in advance for all the good work and advice you are providing!