www.gusucode.com > wavelet工具箱matlab源码程序 > wavelet/wavedemo/dguidw2d.m
function varargout = dguidw2d(varargin) %DGUIDW2D Shows discrete 2-D wavelet GUI tools in the Wavelet Toolbox. % % This is a slideshow file for use with wshowdrv.m % To see it run, type 'wshowdrv dguidw2d', % % See also DWT2, IDWT2, WAVEDEC2, WAVEREC2. % M. Misiti, Y. Misiti, G. Oppenheim, J.M. Poggi 12-Mar-96. % Last Revision: 23-May-2012. % Copyright 1995-2012 The MathWorks, Inc. % Initialization and Local functions if necessary. if nargin>0 action = varargin{1}; switch action case 'auto' , wshowdrv('#autoMode',mfilename,'close'); case 'gr_auto' , wshowdrv('#gr_autoMode',mfilename,'close'); case 'getFigParam' figName = getWavMSG('Wavelet:wavedemoMSGRF:DGUI_DW2D'); showType = 'command'; varargout = {figName,showType}; case 'slidePROC_Init' figHandle = varargin{2}; localPARAM = wtbxappdata('get',figHandle,'localPARAM'); if ~isempty(localPARAM) active_fig = localPARAM{1}; delete(active_fig); wtbxappdata('del',figHandle,'localPARAM'); end case 'slidePROC' [figHandle,idxSlide] = deal(varargin{2:end}); idxPREV = wshowdrv('#get_idxSlide',figHandle); localPARAM = wtbxappdata('get',figHandle,'localPARAM'); if idxSlide==2 if isempty(localPARAM) active_fig = dw2dtool; dw2dmngr('demo',active_fig,'woman2','sym4',2); wenamngr('Inactive',active_fig); tag_pop_declev = 'Pop_DecLev'; tag_pop_viewm = 'Pop_ViewM'; tag_pus_full = char(... 'Pus_Full.1','Pus_Full.2',... 'Pus_Full.3','Pus_Full.4'... ); pop_handles = findobj(active_fig,'Style','popupmenu'); pus_handles = findobj(active_fig,'Style','pushbutton'); pop_viewm = findobj(pop_handles,'Tag',tag_pop_viewm); pop_decm = findobj(pop_handles,'Tag',tag_pop_declev); pus_full = findobj(pus_handles,'Tag',tag_pus_full(4,:)); cba_viewm = get(pop_viewm,'Callback'); cba_decm = get(pop_decm,'Callback'); cba_full = get(pus_full,'Callback'); figTMP = []; localPARAM = {active_fig,pop_viewm,cba_viewm,pop_decm,cba_decm,cba_full,figTMP}; wtbxappdata('set',figHandle,'localPARAM',localPARAM); wshowdrv('#modify_cbClose',figHandle,active_fig,'dw2dtool'); else [~,pop_viewm,cba_viewm,~,~,~,~] = deal(localPARAM{:}); set(pop_viewm,'Value',1); eval(cba_viewm); end return end [active_fig,pop_viewm,cba_viewm,pop_decm,cba_decm,cba_full,figTMP] = deal(localPARAM{:}); switch idxSlide case 3 msg = getWavMSG('Wavelet:wavedemoMSGRF:dguidw2d_MSG_1'); wshowdrv('#gui_wait',figHandle,active_fig,msg); msg = getWavMSG('Wavelet:wavedemoMSGRF:dguidw2d_MSG_2'); wshowdrv('#gui_wait',figHandle,active_fig,msg); set(pop_viewm,'Value',2); eval(cba_viewm); case 4 if idxPREV<idxSlide msg = getWavMSG('Wavelet:wavedemoMSGRF:dguidw2d_MSG_3'); wshowdrv('#gui_wait',figHandle,active_fig,msg); set(pop_viewm,'Value',1); eval(cba_viewm); else eval(cba_full); end case 5 if idxPREV<idxSlide msg = getWavMSG('Wavelet:wavedemoMSGRF:dguidw2d_MSG_4'); wshowdrv('#gui_wait',figHandle,active_fig,msg); eval(cba_full); else set(pop_decm,'Value',2); eval(cba_decm); end case 6 if idxPREV<idxSlide msg = getWavMSG('Wavelet:wavedemoMSGRF:dguidw2d_MSG_5'); wshowdrv('#gui_wait',figHandle,active_fig,msg); set(pop_decm,'Value',1); eval(cba_decm); else eval(cba_full); end case 7 if idxPREV<idxSlide msg = getWavMSG('Wavelet:wavedemoMSGRF:dguidw2d_MSG_6'); wshowdrv('#gui_wait',figHandle,active_fig,msg); eval(cba_full); else set(pop_decm,'Value',1); eval(cba_decm); end case 8 if idxPREV<idxSlide msg = getWavMSG('Wavelet:wavedemoMSGRF:dguidw2d_MSG_7'); wshowdrv('#gui_wait',figHandle,active_fig,msg); set(pop_decm,'Value',2); eval(cba_decm); else delete(figTMP); modify_localPARAM(figHandle,localPARAM,[]); end case 9 if idxPREV<idxSlide msg = getWavMSG('Wavelet:wavedemoMSGRF:dguicomp_MSG_1'); wshowdrv('#gui_wait',figHandle,active_fig,msg); figTMP = dw2dmngr('comp',active_fig); modify_localPARAM(figHandle,localPARAM,figTMP); wenamngr('Inactive',figTMP); msg = getWavMSG('Wavelet:wavedemoMSGRF:dguicomp_MSG_3'); wshowdrv('#gui_wait',figHandle,figTMP,msg); dw2dcomp('compress',figTMP,active_fig); else delete(figTMP); modify_localPARAM(figHandle,localPARAM,[]); end case 10 delete(figTMP); modify_localPARAM(figHandle,localPARAM,[]); pause(2) dw2dmngr('return_comp',active_fig,0); wenamngr('Inactive',active_fig); msg = getWavMSG('Wavelet:wavedemoMSGRF:dguideno_MSG_1'); wshowdrv('#gui_wait',figHandle,active_fig,msg); figTMP = dw2dmngr('deno',active_fig); modify_localPARAM(figHandle,localPARAM,figTMP); wenamngr('Inactive',figTMP); msg = getWavMSG('Wavelet:wavedemoMSGRF:dguideno_MSG_3'); wshowdrv('#gui_wait',figHandle,figTMP,msg); dw2ddeno('denoise',figTMP,active_fig); case 11 delete(figTMP); modify_localPARAM(figHandle,localPARAM,[]); pause(2) dw2dmngr('return_deno',active_fig,0); wenamngr('Inactive',active_fig); msg = getWavMSG('Wavelet:wavedemoMSGRF:dguistat_MSG'); wshowdrv('#gui_wait',figHandle,active_fig,msg); figTMP = dw2dmngr('stat',active_fig); modify_localPARAM(figHandle,localPARAM,figTMP); dw2dstat('demo',figTMP); wenamngr('Inactive',figTMP); case 12 delete(figTMP); modify_localPARAM(figHandle,localPARAM,[]); msg = getWavMSG('Wavelet:wavedemoMSGRF:dguihist_MSG'); wshowdrv('#gui_wait',figHandle,active_fig,msg); figTMP = dw2dmngr('hist',active_fig); modify_localPARAM(figHandle,localPARAM,figTMP); dw2dhist('demo',figTMP); wenamngr('Inactive',figTMP); case 13 delete(figTMP); modify_localPARAM(figHandle,localPARAM,[]); pause(2) end end return end if nargout<1, wshowdrv(mfilename) else idx = 0; slide(1).code = {}; slide(1).text = {}; %========== Slide 1 ========== idx = idx+1; slide(idx).code = { 'figHandle = gcf;' [mfilename ,'(''slidePROC_Init'',figHandle);'] '' }; %========== Slide 2 to Slide 13 ========== for idx = 2:13 slide(idx).code = {[mfilename ,'(''slidePROC'',figHandle,',int2str(idx),');']}; end varargout{1} = slide; end %------------------------------------------------------------------------------------------% function modify_localPARAM(figHandle,localPARAM,figTMP) localPARAM{end} = figTMP; wtbxappdata('set',figHandle,'localPARAM',localPARAM); %------------------------------------------------------------------------------------------%