📄 compwav.m
字号:
% 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 + -