⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 mfbox_rel_none_run.m

📁 toolbox for spm 5 for data, model free analysis
💻 M
字号:
function [mfbss,params]=mfbox_rel_none_run(mfbss,params,runflag)% run bss algorithm%% Usage:%  [mfbss,params]=mfbox_rel_none_run(mfbss,params,runflag)%%  mfbss   - mfbss structure (see mfbox_init)%            name - bss algorithms%  params  - struct with%            threshold_type - threshold components by%            threshold      - threshold value%  runflag - -1 get default parameter%             0 interactive ask parameters%             1 interactive ask parameters and run%             2 run%% Copyright by Peter Gruber and Fabian J. Theis% Signal Processing & Information Theory group% Institute of Biophysics, University of Regensburg, Germany% Homepage: http://research.fabian.theis.name%           http://www-aglang.uni-regensburg.de%% This file is free software, subject to the % GNU GENERAL PUBLIC LICENSE, see gpl.txterror(nargchk(1,3,nargin));error(nargchk(1,2,nargout));if (nargin<2), params = []; endif (nargin<3), runflag = 1; endparams = mfbox_checkparam(params,'rel','none',struct('threshold',0.01, ...    'threshold_type','none'));if (abs(runflag-0.5)<1)    params = mfbox_rel_noneg(mfbss,params,runflag);endif (runflag>0 && isstruct(params))    if (runflag<3)        prgs = mfbox_progress([],'title','BSS analysis','string', ...            sprintf('Running BSS\nanalysis...'),'progress',[1,4]);    end    [tg,mask,smask,xmask] = mfbox_getmask(mfbss.grid,mfbss.mask);    if (~isempty(mfbss.reference)), reference = mfbss.reference(mask);    else reference = [];    end    cmd_func = str2func(sprintf('mfbox_%s_run',mfbss.name));    rparams = mfbss.params.(mfbss.name);    if (isempty(smask))        [f,A,W,S] = cmd_func(mfbss.X,mask,rparams,max(2,runflag));        t = (mfbss.X'-(A*S'));    else        tX = mfbox_getmaskdata(mfbss.X,tg,mask);        [f,A,W,S] = cmd_func(tX,mask,rparams,max(2,runflag));        t = (tX'-(A*S'));    end    vAp = mfbox_calcthreshold(A,S,params.threshold_type,params.threshold, ...        mfbss.design,reference);    nsv = var(t);    ntv = var(t');    A = A(:,vAp); W = W(vAp,:); S = single(S(:,vAp));    m = repmat(1:size(A,2),size(A,1),1);    v = 1./std(S);    mfbss.A = A./(v(m));    mfbss.W = W.*(v(m))';    mfbss.S = struct('mask',xmask,'map',m,'dat',S*diag(v), ...        'spatialnoisevar',nsv,'temporalnoisevar',ntv);    if (runflag<3), mfbox_progress(prgs,'close',[]); endend

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -