[Homer-users] MotionCorrectSpline

David Boas dboas at nmr.mgh.harvard.edu
Wed May 28 09:00:13 EDT 2014
Search archives:

Try the attached processing stream config file.
This config file has the spline, wavelet, and targeted PCA motion 
correction algorithms in it.

You can skip each function by :
spline - set p=-1
wavelet - set iqr<0
tPCA - set maxIter=0

For spline to correct motion artifacts, the motion artifacts must first 
be previously identified by hmrMotionArtifact or 
hmrMotionArtifactByChannel. Make sure you set the AmpThresh and/or 
STDEVthresh to find motion artifacts.

I guess the error you mentioned could arise if you didn't use one of 
these MotionArtifact functions to find artifacts and thus define tInc. 
Unfortunately we haven't had the time to write code to do 
self-consistency checking on processing streams to warn you if such 
problems will occur. This is on our to do list, along with making the 
whole processing of defining the processing stream more easy.

David






On 5/28/14, 8:19 AM, Labruyere Rob wrote:
> Dear Simpsons
>
> We are interested in the Motion Artifact Correction function introduced by Felix Scholkman. Therefore, we wanted to try it on the HOmer2 demo data (we chose „Example2_tw1“, as we have some classical motion artifacts there).
> However, when we go to the Process Stream GUI and replace „enStimRejection“ with „hmrMotionCorrectSpline“, Matlab give us the following errors:
>
> Attempted to access tInc(:,1); index out of bounds
> because size(tInc)=[0,0].
>
> Error in hmrMotionCorrectSpline (line 55)
>      lstMA = find(tInc(:,idx_ch)==0);   % sublist of
>      motion artifact segments
>
> Error in EasyNIRS_Process (line 88)
>          eval( fcall );
>
> Error in EasyNIRS>runNIRSsignalProcess (line 1022)
> [procResult procInput err] = EasyNIRS_Process(hmr);
>
> Error in EasyNIRS>popupmenuNIRSsignalProcess_Callback
> (line 1435)
>          runNIRSsignalProcess(iGrp,iSubj,iRun,handles);
>
> Error in gui_mainfcn (line 96)
>          feval(varargin{:});
>
> Error in EasyNIRS (line 43)
>      gui_mainfcn(gui_State, varargin{:});
>
> Error in
> @(hObject,eventdata)EasyNIRS('popupmenuNIRSsignalProcess_Callback',hObject,eventdata,guidata(hObject))
>
>
> Error while evaluating uicontrol Callback
>
> Any help would be highly appreciated.
>
> Thanks and have a nice day!
>
> Rob
>
>
> Rob Labruyère, PhD
> Pediatric Rehab Research Group
> University Children’s Hospital Zurich
> Affoltern am Albis, Switzerland
>
>
> _______________________________________________
> Homer-users mailing list
> Homer-users at nmr.mgh.harvard.edu
> https://mail.nmr.mgh.harvard.edu/mailman/listinfo/homer-users
>
>

-- 
==============================================================
fNIRS 2014 Conference in Montreal Oct 10-12, 2014
The conference is preceded by a one day educational workshop.
Abstract Deadline June 16, 2014
see http://fnirs2014.org for more details
==============================================================

-------------- next part --------------
@ hmrIntensity2OD dod (d 
@ enPCAFilter #[dod,svs,nSV] (dod,SD,tIncMan nSV %0.2f 0.00 
@ hmrMotionArtifactByChannel [tIncAuto,tIncChAuto] (dod,t,SD,tIncMan tMotion %0.1f 0.5 tMask %0.1f 1.0 STDEVthresh %0.1f 50.0 AMPthresh %0.2f 0.10 
@ hmrMotionCorrectSpline [dod] (dod,t,SD,tIncChAuto p %.2f 0.99 
@ hmrMotionCorrectWavelet [dod] (dod,SD iqr %.2f -1.00 
@ hmrMotionCorrectPCArecurse [dod,tIncAuto,svsmc,nSVmc,tIncAuto0] (dod,t,SD,tIncMan tMotion %0.1f 0.5 tMask %0.1f 1.0 STDEVthresh %0.1f 20.0 AMPthresh %0.2f 5.00 nSV %.2f 0.97 maxIter %d 0 
@ hmrMotionArtifact [tIncAuto] (dod,t,SD,tIncMan tMotion %0.1f 0.5 tMask %0.1f 1.0 STDEVthresh %0.1f 50.0 AMPthresh %0.2f 0.10 
@ enStimRejection [s,tRangeStimReject] (t,s,tIncAuto,tIncMan tRange %0.1f_%0.1f -2.0_10.0 
@ hmrBandpassFilt dod (dod,t hpf %0.3f 0.000 lpf %0.2f 0.50 
@ hmrOD2Conc dc (dod,SD ppf %0.1f_%0.1f 6.0_6.0 
@ hmrBlockAvg [dcAvg,dcAvgStd,tHRF,nTrials,dcSum2] (dc,s,t trange %0.1f_%0.1f -2.0_20.0 


More information about the Homer-users mailing list