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

📄 compwav.m

📁 图象多尺度分析
💻 M
📖 第 1 页 / 共 3 页
字号:

% Add Help for Tool.
%------------------
% wfighelp('addHelpTool',hFig,'&Continuous Analysis','CW1D_GUI');

% Add Help Item.
%----------------
% wfighelp('addHelpItem',hFig,'Continuous Transform','CW_TRANSFORM');

hdl_Menus = [];
%-------------------------------------------------------------------------
function signalBASE = ...
    getSignal(typeSIG,FormeBASE,rapport,PONDERATIONS,nbFormeBASE)

Forme_1 = FormeBASE;
len_F1  = length(Forme_1);
x_new   = linspace(0,1,len_F1/rapport);
x_old   = linspace(0,1,len_F1);        
Forme_2 = (rapport^0.5)*interp1(x_old,Forme_1,x_new);
len_F2  = length(Forme_2);
Forme_1 = PONDERATIONS(1)*Forme_1;
Forme_2 = PONDERATIONS(2)*Forme_2;
signalBASE = zeros(1,nbFormeBASE*len_F1);
switch typeSIG
	case 'superpose'
        deb = floor(((nbFormeBASE-1)/2-1/4)*len_F1) + 1; fin = deb + len_F1-1;
        signalBASE(deb:fin) = Forme_1;
        deb = deb + floor((len_F1-len_F2)/2); fin = deb + len_F2-1;
        signalBASE(deb:fin) = signalBASE(deb:fin) + Forme_2;

	case 'translate'
        deb = 2*len_F1; fin = deb + len_F1-1;
        signalBASE(deb:fin) = Forme_1;
        deb = floor(5*len_F1-len_F2/2); fin = deb + len_F2-1;        
        signalBASE(deb:fin) = signalBASE(deb:fin) + Forme_2;
end
%-------------------------------------------------------------------------

function plotCONTOUR(C,scales,xvalSIG,Axe,Axe_ColBar,Wav,Thresh)

% Compute and plot contours.
%---------------------------
axes(Axe);
maxi = max(max(abs(C))); 
D = abs(C)/maxi;
% xval = [0.7:0.025:1];
xval = [Thresh:0.025:1];
contour(xvalSIG,scales,D,xval);

% Set Title in the pattern detection axes.
%-----------------------------------------
if isequal(Wav,'psi')
    titleSTR = 'Adapted Wavelet';
else
    titleSTR = [Wav,' Wavelet'];
end
setAxesTitle(Axe,titleSTR);
setAxesATTRB(scales,xvalSIG,Axe);

% Set Xtick Values.
%------------------
NBC = 64;
xV = [xval(1),xval(end)]; 
setXTicks(Axe_ColBar,'real',NBC,xV);
%-------------------------------------------------------------------------

function plotCOEFS(C,scales,xvalSIG,handles,Axe,Axe_ColBar,Wav)
axes(Axe);
NBC = 240;
abs_mode = 1;
C = wcodemat(C,NBC,'mat',abs_mode);
cbcolmap('set',handles.output,'pal',{'jet',NBC});
xL = get(handles.Axe_RunSigWave,'Xlim');
yL = [scales(1) scales(end)];
img  = image(xL,yL,C);

% Set Title in the pattern detection axes.
%-----------------------------------------
if isequal(Wav,'psi')
    titleSTR = 'Adapted Wavelet';
else
    titleSTR = [Wav,' Wavelet'];
end
setAxesTitle(Axe,titleSTR);
setAxesATTRB(scales,xvalSIG,Axe);
setXTicks(Axe_ColBar,'real',NBC,[0 1],5);
%-------------------------------------------------------------------------

function plotSURF(C,scales,xvalSIG,Axe,Axe_ColBar,Wav)
axes(Axe);
NBC = 240;
colormap(jet(NBC));
maxi = max(max(abs(C)));
D = abs(C)/maxi;
s = surf(xvalSIG,scales,D); 
shading interp
set(Axe,'View',[-18 72],'Xlim',[xvalSIG(1),xvalSIG(end)],'Ylim',[1,size(C,1)]);

% Set Title in the pattern detection axes.
%-----------------------------------------
if isequal(Wav,'psi')
    titleSTR = 'Adapted Wavelet';
else
    titleSTR = [Wav,' Wavelet'];
end
setAxesTitle(Axe,titleSTR);
setAxesATTRB(scales,xvalSIG,Axe);
setXTicks(Axe_ColBar,'int',NBC,[0 NBC]);
%-------------------------------------------------------------------------

function setXTicks(Axe_ColBar,type,NBC,xV,nbTICS)

axes(Axe_ColBar);
colormap(jet(NBC))
image([1:NBC])
if nargin<5 , nbTICS = 7; end
xlim = get(Axe_ColBar,'Xlim');
alfa = (xlim(2)-xlim(1))/(xV(2)-xV(1));
beta = xlim(1)-alfa*xV(1);
xCOL  = linspace(xV(1),xV(2),nbTICS);
xtics = alfa*xCOL + beta;
switch type
    case 'int'  , xlabs = int2str(xCOL(:));
    case 'real' , xlabs = num2str(xCOL(:),2);
end
set(Axe_ColBar, ...
        'XTick',xtics,'XTickLabel',xlabs, ...
        'YTick',[],'YTickLabel',[] ...
        );
%-------------------------------------------------------------------------

function setAxesATTRB(scales,xvalSIG,axe)
nb_SCALES = length(scales);
nb    = min(5,nb_SCALES);
level = '';
for k=1:nb , level = [level ' '  num2str(scales(k))]; end
if nb<nb_SCALES , level = [level ' ...']; end
nb    = ceil(nb_SCALES/20);
ytics = nb:nb:nb_SCALES;
tmp   = scales(nb:nb:nb*length(ytics));
ylabs = num2str(tmp(:));
set(axe, ...
        'YTick',ytics,          ...
        'YTickLabel',ylabs,     ...
        'YDir','normal',        ...
        'Box','On'              ...
        );
%-------------------------------------------------------------------------

function [ROW,COL] = maxCoefs(C)
[nb_ROW,nb_COL] = size(C);
D = abs(C(:));
[dummy,idx] = max(D);

col_INF = fix(idx/nb_ROW);
ROW = idx - nb_ROW*col_INF;
if ROW~=0
    COL = col_INF+1;
else
    COL = col_INF; ROW = nb_ROW;
end
%-------------------------------------------------------------------------

function LocalGrid(Axe_Detect,RadTrans,radVAL)
axes(Axe_Detect)
% if RadTrans
%     if radVAL
%         line([10 10],[0 8],'color','k','LineStyle','--');
%         line([0 10],[8 8],'color','k','LineStyle','--');
%         line([30 30],[0 4],'color','k','LineStyle','--');
%         line([0 30],[4 4],'color','k','LineStyle','--');
%         line([50 50],[0 4],'color','k','LineStyle','--');
%         line([0 50],[4 4],'color','k','LineStyle','--');
%         line(10,8,'color','k','Marker','*');
%         line(30,4,'color','k','Marker','*');
%         line(50,4,'color','k','Marker','*');
%     else
%         line([20 20],[0 8],'color','k','LineStyle','--');
%         line([0 20],[8 8],'color','k','LineStyle','--');
%         line([40 40],[0 4],'color','k','LineStyle','--');
%         line([0 40],[4 4],'color','k','LineStyle','--');
%         line(20,8,'color','k','Marker','*');
%         line(40,4,'color','k','Marker','*');
%     end
% else
%         line([40 40],[0 32],'color','k','LineStyle','--');
%         line([0 40],[32 32],'color','k','LineStyle','--');
%         line([40 40],[0 8],'color','k','LineStyle','--');
%         line([0 40],[8 8],'color','k','LineStyle','--');
%         line(40,32,'color','k','Marker','*');
%         line(40,8,'color','k','Marker','*');
% end
% if ~radVAL
    if RadTrans
        line([20 20],[0 8],'color','k','LineStyle','--');
        line([0 20],[8 8],'color','k','LineStyle','--');
        line([40 40],[0 4],'color','k','LineStyle','--');
        line([0 40],[4 4],'color','k','LineStyle','--');
        line(20,8,'color','k','Marker','*');
        line(40,4,'color','k','Marker','*');
    else
        line([40 40],[0 32],'color','k','LineStyle','--');
        line([0 40],[32 32],'color','k','LineStyle','--');
        line([40 40],[0 8],'color','k','LineStyle','--');
        line([0 40],[8 8],'color','k','LineStyle','--');
        line(40,32,'color','k','Marker','*');
        line(40,8,'color','k','Marker','*');
    end
% else
%         line([20 20],[0 8],'color','k','LineStyle','--');
%         line([0 20],[8 8],'color','k','LineStyle','--');
%         line([40 40],[0 4],'color','k','LineStyle','--');
%         line([0 40],[4 4],'color','k','LineStyle','--');
%         line(20,8,'color','k','Marker','*');
%         line(40,4,'color','k','Marker','*');
%     if strcmp(sigNAM(end),'t')
%         line([10 10],[0 8],'color','k','LineStyle','--');
%         line([0 10],[8 8],'color','k','LineStyle','--');
%         line([30 30],[0 4],'color','k','LineStyle','--');
%         line([0 30],[4 4],'color','k','LineStyle','--');
%         line([50 50],[0 4],'color','k','LineStyle','--');
%         line([0 50],[4 4],'color','k','LineStyle','--');
%         line(10,8,'color','k','Marker','*');
%         line(30,4,'color','k','Marker','*');
%         line(50,4,'color','k','Marker','*');
        %    elseif strcmp(sigNAM(end),'s')
%     else
%         line([40 40],[0 32],'color','k','LineStyle','--');
%         line([0 40],[32 32],'color','k','LineStyle','--');
%         line([40 40],[0 8],'color','k','LineStyle','--');
%         line([0 40],[8 8],'color','k','LineStyle','--');
%         line(40,32,'color','k','Marker','*');
%         line(40,8,'color','k','Marker','*');
%     end
% end
%-------------------------------------------------------------------------

%=========================================================================%
%                END Internal Functions                                   %
%=========================================================================%


%=========================================================================%
%                BEGIN General Utilities                                  %
%                -----------------------                                  %
%=========================================================================%

function setAxesTitle(axe,label)
fontSize = mextglob('get','Def_AxeFontSize');
axes(axe); 
title(label,'Color','k','FontWeight','normal',...
    'Units','normalized','Fontsize',fontSize);
%--------------------------------------------------------------------------

function setAxesXlabel(axe,label)
fontSize = mextglob('get','Def_AxeFontSize');
axes(axe); 
xlabel(label,'Color','k','FontWeight','normal',...
    'Units','normalized','Fontsize',fontSize);
%--------------------------------------------------------------------------

function setAxesYlabel(axe,label)
fontSize = mextglob('get','Def_AxeFontSize');
axes(axe); 
ylabel(label,'Color','k','FontWeight','normal',...
    'Units','normalized','Fontsize',fontSize);
%--------------------------------------------------------------------------

%=========================================================================%
%                END Tool General Utilities                               %
%=========================================================================%


%=========================================================================%
%                      BEGIN Demo Utilities                               %
%                      ---------------------                              %
%=========================================================================%
function closeDEMO(hFig,eventdata,handles,varargin)
close(hFig);
%----------------------------------------------------------
function demoPROC(hFig,eventdata,handles,varargin)
waveDEM = varargin{1};
handles = guidata(hFig);
cbanapar('set',hFig,'wav',waveDEM);
Pus_Run = handles.Pus_Run; 
Pus_Run_Callback(Pus_Run,[],handles);
%=========================================================================%
%                   END Tool Demo Utilities                               %
%=========================================================================%

⌨️ 快捷键说明

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