dguidw1d.m
上传用户:haiyisale
上传日期:2013-01-09
资源大小:3246k
文件大小:7k
源码类别:

波变换

开发平台:

Matlab

  1. function varargout = dguidw1d(varargin)
  2. %DGUIDW1D Demonstrates discrete 1-D wavelet GUI tools in the Wavelet Toolbox. 
  3. %
  4. % This is a slideshow file for use with wshowdrv.m
  5. % To see it run, type 'wshowdrv dguidw1d', 
  6. %   
  7. %   See also DWT, IDWT, WAVEDEC, WAVEREC.
  8. %   M. Misiti, Y. Misiti, G. Oppenheim, J.M. Poggi 12-Mar-96.
  9. %   Last Revision: 03-Feb-2003.
  10. %   Copyright 1995-2004 The MathWorks, Inc.
  11. % $Revision: 1.14.4.2 $
  12. % Initialization and Local functions if necessary.
  13. if nargin>0
  14. action = varargin{1};
  15. switch action
  16.   case 'auto'    , wshowdrv('#autoMode',mfilename,'close');
  17.   case 'gr_auto' , wshowdrv('#gr_autoMode',mfilename,'close');
  18.   case 'getFigParam'
  19. figName  = 'Wavelet GUI Demo: Wavelet 1-D';
  20. showType = 'command';
  21. varargout = {figName,showType};
  22.   case 'slidePROC_Init'
  23. figHandle = varargin{2};
  24.     localPARAM = wtbxappdata('get',figHandle,'localPARAM');
  25.     if ~isempty(localPARAM)
  26.    active_fig = localPARAM{1};
  27.    delete(active_fig);
  28.        wtbxappdata('del',figHandle,'localPARAM');
  29.     end
  30.   case 'slidePROC'
  31. [figHandle,idxSlide]  = deal(varargin{2:end});
  32.     localPARAM = wtbxappdata('get',figHandle,'localPARAM');
  33. idxPREV = wshowdrv('#get_idxSlide',figHandle);
  34. if isempty(localPARAM)
  35. active_fig = dw1dtool;
  36. dw1dmngr('demo',active_fig,'noisdopp','db2',6);
  37. wenamngr('Inactive',active_fig);
  38. tag_pop_viewm = 'View_Mode';
  39. tag_declev    = 'Pop_DecLev';
  40. pop_handles   = findobj(active_fig,'style','popupmenu');
  41. pop_viewm     = findobj(pop_handles,'tag',tag_pop_viewm);
  42. pop_decm      = findobj(pop_handles,'tag',tag_declev);
  43. cba_viewm     = get(pop_viewm,'Callback');
  44. cba_decm      = get(pop_decm,'Callback');
  45. figTMP        = [];
  46. localPARAM = {active_fig,pop_viewm,cba_viewm,pop_decm,cba_decm,figTMP};
  47. wtbxappdata('set',figHandle,'localPARAM',localPARAM);
  48. wshowdrv('#modify_cbClose',figHandle,active_fig,'dw1dtool');
  49. else
  50. [active_fig,pop_viewm,cba_viewm,pop_decm,cba_decm,figTMP] = deal(localPARAM{:});
  51. end
  52. switch idxSlide
  53.   case 3
  54.   if idxPREV<idxSlide
  55.   msg = strvcat(...
  56.   'The present Display mode is Full Decomposition mode.', ...
  57.   ['To change the Display mode use the corresponding popupmenu ' ...
  58.   'in the middle of the window.'],...
  59.   'Six display modes are available.'...
  60.   );
  61.   wshowdrv('#gui_wait',figHandle,active_fig,msg);
  62.   else
  63.   msg = ['We select the Full Decomposition mode.'];
  64.   wshowdrv('#gui_wait',figHandle,active_fig,msg);
  65.   set(pop_viewm,'value',2);
  66.   eval(cba_viewm);
  67.   end
  68.   
  69.   case 4
  70.   msg = ['We select the Superimpose Mode.'];
  71.   wshowdrv('#gui_wait',figHandle,active_fig,msg); 
  72.   set(pop_viewm,'value',4);
  73.   eval(cba_viewm);
  74.   
  75.   case 5
  76.   msg = ['We select the Show and Scroll Mode.'];
  77.   wshowdrv('#gui_wait',figHandle,active_fig,msg); 
  78.   set(pop_viewm,'value',1);
  79.   eval(cba_viewm);
  80.   case 6
  81.   msg = ['We select the Separate Mode.'];
  82.   wshowdrv('#gui_wait',figHandle,active_fig,msg); 
  83.   set(pop_viewm,'value',3);
  84.   eval(cba_viewm);
  85.   case 7
  86.   msg = ['We select the Tree Mode.'];
  87.   wshowdrv('#gui_wait',figHandle,active_fig,msg); 
  88.   set(pop_viewm,'value',5);
  89.   eval(cba_viewm);
  90.   case 8
  91.   msg = ['We select the Show and Scroll (Stem Cfs) Mode.'];
  92.   wshowdrv('#gui_wait',figHandle,active_fig,msg); 
  93.   set(pop_viewm,'value',6);
  94.   eval(cba_viewm);
  95.   case 9
  96.   if idxPREV<idxSlide
  97.   msg = ['We go back to the Full Decomposition mode.'];
  98.   wshowdrv('#gui_wait',figHandle,active_fig,msg); 
  99.   set(pop_viewm,'value',2);
  100.   eval(cba_viewm);
  101.   else
  102.   msg = ['We restore the Full Decomposition at level 6.'];
  103.   wshowdrv('#gui_wait',figHandle,active_fig,msg); 
  104.   set(pop_decm,'value',6);
  105.   eval(cba_decm);
  106.   end
  107.   case 10
  108.   msg = ['We select the Full Decomposition at level 2.'];
  109.   wshowdrv('#gui_wait',figHandle,active_fig,msg); 
  110.   set(pop_decm,'value',2);
  111.   eval(cba_decm);
  112.   case 11
  113.   if idxPREV<idxSlide
  114.   msg = ['We restore the Full Decomposition at level 6.'];
  115.   wshowdrv('#gui_wait',figHandle,active_fig,msg); 
  116.   set(pop_decm,'value',6);
  117.   eval(cba_decm);
  118.   else
  119.   delete(figTMP); modify_localPARAM(figHandle,localPARAM,[]);
  120.   end
  121.   case 12
  122.   if idxPREV>idxSlide
  123.   delete(figTMP); modify_localPARAM(figHandle,localPARAM,[]);
  124.   end
  125.   msg = 'The Compress pushbutton is used to call the compression tool.';
  126.   wshowdrv('#gui_wait',figHandle,active_fig,msg); 
  127.   figTMP = dw1dmngr('comp',active_fig);
  128.   modify_localPARAM(figHandle,localPARAM,figTMP);
  129.   wenamngr('Inactive',figTMP);
  130.   msg = 'We compress the signal with the default options.';
  131.   wshowdrv('#gui_wait',figHandle,figTMP,msg); 
  132.   dw1dcomp('compress',figTMP,active_fig);
  133.   case 13
  134.   delete(figTMP); modify_localPARAM(figHandle,localPARAM,[]);
  135.   pause(2)
  136.   dw1dmngr('return_comp',active_fig,0);
  137.   wenamngr('Inactive',active_fig);
  138.   msg = 'The De-noise pushbutton is used to call the de-noising tool.';
  139.   wshowdrv('#gui_wait',figHandle,active_fig,msg); 
  140.   figTMP = dw1dmngr('deno',active_fig);
  141.   modify_localPARAM(figHandle,localPARAM,figTMP)
  142.   wenamngr('Inactive',figTMP);
  143.   msg = 'We de-noise the signal with the default options.';
  144.   wshowdrv('#gui_wait',figHandle,figTMP,msg); 
  145.   dw1ddeno('denoise',figTMP,active_fig);
  146.   case 14
  147.   delete(figTMP); modify_localPARAM(figHandle,localPARAM,[]);
  148.   pause(2)
  149.   dw1dmngr('return_deno',active_fig,0);
  150.   wenamngr('Inactive',active_fig);
  151.   msg = 'The Statistics pushbutton is used to call the statistics tool.';
  152.   wshowdrv('#gui_wait',figHandle,active_fig,msg); 
  153.   figTMP = dw1dmngr('stat',active_fig);
  154.   modify_localPARAM(figHandle,localPARAM,figTMP);
  155.   dw1dstat('demo',figTMP);
  156.   wenamngr('Inactive',figTMP);
  157.   case 15
  158.   delete(figTMP); modify_localPARAM(figHandle,localPARAM,[]);
  159.   pause(2)
  160.   msg = 'The Histograms pushbutton is used to call the histograms tool.';
  161.   wshowdrv('#gui_wait',figHandle,active_fig,msg); 
  162.   figTMP = dw1dmngr('hist',active_fig);
  163.   modify_localPARAM(figHandle,localPARAM,figTMP)
  164.   dw1dhist('demo',figTMP);
  165.   wenamngr('Inactive',figTMP);
  166.   case 16
  167.   delete(figTMP); modify_localPARAM(figHandle,localPARAM,[]);
  168.   pause(2)
  169. end
  170. end
  171. return
  172. end
  173. if nargout<1,
  174.   wshowdrv(mfilename)
  175. else
  176.   idx = 0; slide(1).code = {}; slide(1).text = {};
  177.   
  178.   %========== Slide 1 ==========
  179.   idx = idx+1;
  180.   slide(idx).code = {
  181.   'figHandle = gcf;',
  182.   [mfilename ,'(''slidePROC_Init'',figHandle);'],
  183.   '' };
  184.   
  185.   %========== Slide 2 to Slide 16 ==========
  186.   for idx = 2:16
  187.     slide(idx).code = {[mfilename ,'(''slidePROC'',figHandle,',int2str(idx),');']};
  188.   end
  189.   
  190.   varargout{1} = slide;
  191.   
  192. end
  193. %------------------------------------------------------------------------------------------%
  194. function modify_localPARAM(figHandle,localPARAM,figTMP)
  195. localPARAM{end} = figTMP;
  196. wtbxappdata('set',figHandle,'localPARAM',localPARAM);    
  197. %------------------------------------------------------------------------------------------%