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

波变换

开发平台:

Matlab

  1. function varargout = dguicw1d(varargin)
  2. %DGUICW1D Demonstrates continuous 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 dguicw1d', 
  6. %   
  7. %   See also CWT.
  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: Continuous Wavelet Analysis';
  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. idxPREV = wshowdrv('#get_idxSlide',figHandle);
  33. localPARAM = wtbxappdata('get',figHandle,'localPARAM');
  34. if isempty(localPARAM)
  35. active_fig = cw1dtool;
  36. cw1dmngr('demo',active_fig,'freqbrk','db1',1,1,32,1);
  37. wenamngr('Inactive',active_fig);
  38. handles = wfigmngr('getValue',active_fig,['CW1D_handles']);
  39. UIC = handles.hdl_UIC;
  40. pop_ccm = UIC.pop_ccm;
  41. pop_pal = cbcolmap('get',active_fig,'pop_pal');
  42. cba_ccm = get(pop_ccm,'Callback');
  43. cba_pal = get(pop_pal,'Callback');
  44. localPARAM = {active_fig,pop_ccm,pop_pal,cba_ccm,cba_pal};
  45. wtbxappdata('set',figHandle,'localPARAM',localPARAM);
  46. wshowdrv('#modify_cbClose',figHandle,active_fig,'cw1dtool');
  47. return
  48. else
  49. [active_fig,pop_ccm,pop_pal,cba_ccm,cba_pal] = deal(localPARAM{:});
  50. end
  51. switch idxSlide
  52.   case 3
  53.   if idxPREV<idxSlide
  54.   wenamngr('Inactive',active_fig);
  55.   map_val = get(pop_pal,'Value');
  56.   if map_val~=1 , map_val = 1; else , map_val = 2; end
  57.   str_col = get(pop_pal,'String');
  58.   str_col = deblank(str_col(map_val,:));
  59.   msg = strvcat(...
  60.   ['To change the Colormap use the popupmenu at the ' ...
  61.   'bottom right of the window.'], ...
  62.   [sprintf('We select the %s colormap', str_col)]...
  63.   );
  64.   wshowdrv('#gui_wait',figHandle,active_fig,msg); 
  65.   set(pop_pal,'value',map_val);
  66.   eval(cba_pal);
  67.   end
  68.   
  69.   case 4
  70.   ccm_old = get(pop_ccm,'Value');
  71.   if ccm_old~=1 , ccm_new = 1; else , ccm_new = 2; end
  72.   str_ccm = get(pop_ccm,'String');
  73.   str_ccm_old = deblank(str_ccm(ccm_old,:));
  74.   str_ccm_new = deblank(str_ccm(ccm_new,:));
  75.   msg = strvcat(...
  76.   ['To change the Coloration Mode use the popupmenu in the ' ...
  77.   'middle of the window.'], ...
  78.   [sprintf('The present mode is the (%s) mode. ', str_ccm_old )], ...
  79.   [sprintf('We select the (%s) mode.', str_ccm_new)] ...
  80.   );
  81.   wshowdrv('#gui_wait',figHandle,active_fig,msg); 
  82.   set(pop_ccm,'value',ccm_new);
  83.   eval(cba_ccm);
  84.   case 5
  85.   if idxPREV<idxSlide
  86.   cw1dmngr('demo',active_fig,'quachirp','db1',1,1,64,1);
  87.   wenamngr('Inactive',active_fig);
  88.   map_val = get(pop_pal,'value');
  89.   wtbxappdata('set',figHandle,'map_val',map_val);
  90.   else
  91.   set([pop_ccm;pop_pal],'Enable','Off');
  92.   map_val = wtbxappdata('get',figHandle,'map_val');
  93.   set(pop_pal,'value',map_val);
  94.   eval(cba_pal);
  95.   end
  96.   case 6
  97.   msg = 'We select the hot colormap';
  98.   wshowdrv('#gui_wait',figHandle,active_fig,msg); 
  99.   set(pop_pal,'value',4);
  100.   eval(cba_pal);
  101.   set([pop_ccm;pop_pal],'Enable','On');
  102. end
  103. end
  104. return
  105. end
  106. if nargout<1,
  107.   wshowdrv(mfilename)
  108. else
  109.   idx = 0; slide(1).code = {}; slide(1).text = {};
  110.   
  111.   %========== Slide 1 ==========
  112.   idx = idx+1;
  113.   slide(idx).code = {
  114.   'figHandle = gcf;',
  115.   [mfilename ,'(''slidePROC_Init'',figHandle);'],
  116.   '' };
  117.   
  118.   %========== Slide 2 to Slide 6 ==========
  119.   for idx = 2:6
  120.     slide(idx).code = {[mfilename ,'(''slidePROC'',figHandle,',int2str(idx),');']};
  121.   end
  122.   
  123.   varargout{1} = slide;
  124.   
  125. end