blurqmz.m

来自「Continuous Profile Models (CPM) Matlab T」· M 代码 · 共 56 行

M
56
字号
function  datB = blurQmz(dat,timeVec,mzVec,filtType);if ~exist('timeVec','var') || isempty(timeVec)    timeVec=1;endif ~exist('mzVec','var') || isempty(mzVec)    mzVec=1;endif ~exist('filtType')    filtType='regular';endif iscell(dat)    numSamp = length(dat);    [numTime,numMZ]=size(dat{1});    datB = zeros(numTime,numMZ,numSamp);else    [numTime,numMZ]=size(dat);    numSamp=1;    datB = zeros(numTime,numMZ);endif strcmp(filtType,'regular')    for jj=1:numSamp        if iscell(dat)            datB(:,:,jj)=conv2(timeVec,mzVec,dat{jj},'same');        else            datB(:,:,jj)=conv2(timeVec,mzVec,dat,'same');        end    endelseif strcmp(filtType,'median')    for jj=1:numSamp        if iscell(dat)            datB(:,:,jj)=medfilt2(dat{jj},...                [length(timeVec),length(mzVec)]);        else            datB(:,:,jj)=medfilt2(dat,...                [length(timeVec),length(mzVec)]);        end    endelseif strcmp(filtType,'medianXY')    %% this does 1D median in x vertical direction first, then    %% in y direction (not commutative, or the same as doign 2D)    for jj=1:numSamp        if iscell(dat)            tmp=medfilt1(dat{jj},length(mzVec));        else            tmp=medfilt1(dat,length(mzVec));        end        tmp2=medfilt1(tmp',length(mzVec))';        datB(:,:,jj)=medfilt1(tmp',length(mzVec))';    endend

⌨️ 快捷键说明

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