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

📄 compwav.m

📁 图象多尺度分析
💻 M
📖 第 1 页 / 共 3 页
字号:
function varargout = compwav(varargin)
%COMPWAV Pattern detection tool using an adapted wavelet versus a well known one.
%   VARARGOUT = COMPWAV(VARARGIN)

% COMPWAV M-file for compwav.fig
%      COMPWAV, by itself, creates a new COMPWAV or raises the existing
%      singleton*.
%
%      H = COMPWAV returns the handle to a new COMPWAV or the handle to
%      the existing singleton*.
%
%      COMPWAV('Property','Value',...) creates a new COMPWAV using the
%      given property value pairs. Unrecognized properties are passed via
%      varargin to compwav_OpeningFcn.  This calling syntax produces a
%      warning when there is an existing singleton*.
%
%      COMPWAV('CALLBACK') and COMPWAV('CALLBACK',hObject,...) call the
%      local function named CALLBACK in COMPWAV.M with the given input
%      arguments.
%
%      *See GUI Options on GUIDE's Tools menu.  Choose "GUI allows only one
%      instance to run (singleton)".
%
% See also: GUIDE, GUIDATA, GUIHANDLES

% Last Modified by GUIDE v2.5 08-Jul-2003 15:49:15
%
%   M. Misiti, Y. Misiti, G. Oppenheim, J.M. Poggi 01-Feb-2003.
%   Last Revision: 11-Mar-2005.
%   Copyright 1995-2005 The MathWorks, Inc.
%   $Revision: 1.1.6.3 $ $Date: 2005/06/16 08:59:48 $ 


%*************************************************************************%
%                BEGIN initialization code - DO NOT EDIT                  %
%                ----------------------------------------                 %
%*************************************************************************%

gui_Singleton = 0;
gui_State = struct('gui_Name',       mfilename, ...
                   'gui_Singleton',  gui_Singleton, ...
                   'gui_OpeningFcn', @compwav_OpeningFcn, ...
                   'gui_OutputFcn',  @compwav_OutputFcn, ...
                   'gui_LayoutFcn',  [], ...
                   'gui_Callback',   []);
if nargin & isstr(varargin{1})
    gui_State.gui_Callback = str2func(varargin{1});
end

if nargout
    [varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:});
else
    gui_mainfcn(gui_State, varargin{:});
end

%*************************************************************************%
%                END initialization code - DO NOT EDIT                    %
%*************************************************************************%


%*************************************************************************%
%                BEGIN Opening Function                                   %
%                ----------------------                                   %
% --- Executes just before compwav is made visible.                      %
%*************************************************************************%

function compwav_OpeningFcn(hObject, eventdata, handles, varargin)
% This function has no output args, see OutputFcn.
% hObject    handle to figure
% eventdata  reserved - to be defined in a future version of MATLAB
% handles    structure with handles and user data (see GUIDATA)
% varargin   unrecognized PropertyName/PropertyValue pairs from the
%            command line (see VARARGIN)

% Choose default command line output for compwav
handles.output = hObject;

% Update handles structure
guidata(hObject, handles);

% UIWAIT makes compwav wait for user response (see UIRESUME)
% uiwait(handles.Fig_PatCwtComp);

%%!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!%
% TOOL INITIALISATION Introduced manualy in the automatic generated code  %
%%!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!%
Init_Tool(hObject,eventdata,handles);

%*************************************************************************%
%                END Opening Function                                     %
%*************************************************************************%


%*************************************************************************%
%                BEGIN Output Function                                    %
%                ---------------------                                    %
% --- Outputs from this function are returned to the command line.        %
%*************************************************************************%

function varargout = compwav_OutputFcn(hObject, eventdata, handles)
% varargout  cell array for returning output args (see VARARGOUT);
% hObject    handle to figure
% eventdata  reserved - to be defined in a future version of MATLAB
% handles    structure with handles and user data (see GUIDATA)

% Get default command line output from handles structure
varargout{1} = handles.output;

%*************************************************************************%
%                END Output Function                                      %
%*************************************************************************%


%=========================================================================%
%                BEGIN Create Functions                                   %
%                ----------------------                                   %
% --- Executes during object creation, after setting all properties.      %
%=========================================================================%
function EdiPop_CreateFcn(hObject,eventdata,handles)

def_UIBkCOL = get(0,'defaultUicontrolBackgroundColor');
if ispc
    BKCOL = get(hObject,'BackgroundColor');
    if isequal(BKCOL,def_UIBkCOL)
        set(hObject,'BackgroundColor','white');
    end
else
    set(hObject,'BackgroundColor',def_UIBkCOL);
end
%--------------------------------------------------------------------------
function Sli_CreateFcn(hObject,eventdata,handles)

def_UIBkCOL = get(0,'defaultUicontrolBackgroundColor');
if isequal(get(hObject,'BackgroundColor'),def_UIBkCOL)
    set(hObject,'BackgroundColor',[.9 .9 .9]);
end
%--------------------------------------------------------------------------

%=========================================================================%
%                END Create Functions                                     %
%=========================================================================%


%=========================================================================%
%                BEGIN Callback Functions                                 %
%                ------------------------                                 %
%=========================================================================%
%--------------------------------------------------------------------------
function Rad_TwoPatterns_Callback(hObject, eventdata, handles)

set(hObject,'Value',1);
set(handles.Rad_Test_Sig,'Value',0);
set([handles.Pop_Test_Sig],'Enable','off')
%--------------------------------------------------------------------------
function Rad_Trans_Callback(hObject, eventdata, handles)

set(hObject,'Value',1);
set(handles.Rad_Super,'Value',0);
%--------------------------------------------------------------------------
function Rad_Super_Callback(hObject, eventdata, handles)

set(hObject,'Value',1);
set(handles.Rad_Trans,'Value',0);
%--------------------------------------------------------------------------
function Rad_Test_Sig_Callback(hObject, eventdata, handles)

set(hObject,'Value',1);
set(handles.Rad_TwoPatterns,'Value',0);
set([handles.Rad_Test_Sig,handles.Pop_Test_Sig],'Enable','on')
%--------------------------------------------------------------------------
function Pop_Test_Sig_Callback(hObject, eventdata, handles)

%--------------------------------------------------------------------------
function Chk_Noise_Callback(hObject, eventdata, handles)

%--------------------------------------------------------------------------
function Chk_Triangle_Callback(hObject, eventdata, handles)

%--------------------------------------------------------------------------
function Pop_Wav_Fam_Callback(hObject, eventdata, handles)

cbanapar('cba_fam',gcbf,[],guidata(gcbo));
%--------------------------------------------------------------------------
function Pop_Wav_Num_Callback(hObject, eventdata, handles)

cbanapar('cba_num',gcbf,[],guidata(gcbo));
%--------------------------------------------------------------------------
function Rad_Contours_Callback(hObject, eventdata, handles)

set(hObject,'Value',1);
set(handles.Rad_Images,'Value',0);
%--------------------------------------------------------------------------
function Sli_Thresh_Callback(hObject,eventdata,handles)

Tresh = get(hObject,'Value');
set(handles.Edi_Thresh,'string',num2str(Tresh,'%1.3f'));
%--------------------------------------------------------------------------
function Edi_Thresh_Callback(hObject, eventdata, handles)

FieldDefault = '0.7';
Val_Thresh = str2double(get(hObject,'String'));
if Val_Thresh < 0.1 || Val_Thresh > 0.9 || isnan(Val_Thresh)
    set(hObject,'String',FieldDefault);
    set(handles.Sli_Thresh,'Value',str2double(FieldDefault));
else
    set(handles.Sli_Thresh,'Value',Val_Thresh);
    set(hObject,'string',num2str(Val_Thresh,'%1.3f'));
end
%--------------------------------------------------------------------------
function Rad_Images_Callback(hObject, eventdata, handles)

set(hObject,'Value',1);
set(handles.Rad_Contours,'Value',0);
%--------------------------------------------------------------------------
function Pus_Run_Callback(hObject, eventdata, handles)

% Get figure handle.
%-------------------
hFig = handles.output;

% Cleaning.
%-----------
wwaiting('msg',hFig,'Wait ... cleaning');
cleanTOOL([                                 ...
            handles.Axe_RunSigAdapWave ,    ...
            handles.Axe_RunSigWave ,        ...
            handles.Axe_AdapWaveDetect ,    ...
            handles.Axe_WaveDetect          ...
            ]);

% Get parameter values.
%----------------------
tool_PARAMS = wtbxappdata('get',hObject,'tool_PARAMS');
X           = tool_PARAMS.X;
Y           = tool_PARAMS.Y;
PSI         = tool_PARAMS.PSI;
NC_PSI      = tool_PARAMS.NC_PSI;

% Get uicontrol values.
%----------------------
RadTrans    = get(handles.Rad_Trans,'Value');
RadSuper    = get(handles.Rad_Super,'Value');
ChkNoise    = get(handles.Chk_Noise,'Value');
ChkTriangle = get(handles.Chk_Triangle,'Value');
RadContours = get(handles.Rad_Contours,'Value');
RadImages   = get(handles.Rad_Images,'Value');
Str_Thresh  = get(handles.Edi_Thresh,'String');
Thresh      = str2double(Str_Thresh);

% Running signal construction.
%-----------------------------
titleSTR{1} = 'Running Signal';

radSIG = handles.Rad_Test_Sig;
radVAL = get(radSIG,'Value');
if radVAL==1
    popSIG = handles.Pop_Test_Sig;
    popVAL = get(popSIG,'Value');
    popSTR = get(popSIG,'String');
    sigNAM = deblank(popSTR(popVAL,:));
    switch sigNAM{1}
        case 'testsig0' , load pthaar
        case 'testsig1' , load ptpssin1
        case 'testsig2' , load ptpssin2
        case 'testsig3' , load ptsine
        case 'testsig4' , load ptsumsin
        case 'testsig5' , load ptsinpol
        case 'testsig6' , load ptodtri
        case 'testsig7' , load ptodlin
        case 'testsig8' , load ptodpoly
    end
end
if RadTrans
    nbFormeBASE = 8; scaleBASE = 8; rapport = 2; PONDERATIONS =  [1,1];
    signalBASE = getSignal('translate',Y,rapport,PONDERATIONS,nbFormeBASE);
    lenSIG  = length(signalBASE);
    scaleMIN = 1;
    scaleMAX = 2*scaleBASE;
    NoiseLevel = 1.25;
    titleSTR{2} = 'F((t-20)/8) + sqrt(2)\timesF((t-40)/4)';
else
    nbFormeBASE = 3; scaleBASE = 32; rapport = 4; PONDERATIONS =  [1,1];
    signalBASE = getSignal('superpose',Y,rapport,PONDERATIONS,nbFormeBASE);
    lenSIG  = length(signalBASE);
    scaleMIN = 1;
    scaleMAX = 2*scaleBASE;
    NoiseLevel = 0.75;   
    titleSTR{2} = 'F((t-40)/32) + 2\timesF((t-40)/8)';
end
if radVAL==1, titleSTR{2} = sigNAM{1}; end
signal = signalBASE;

⌨️ 快捷键说明

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