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

波变换

开发平台:

Matlab

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