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

波变换

开发平台:

Matlab

  1. function [out1,out2,out3,out4,out5,out6,out7] = ...
  2.           dw1dsepm(option,win_dw1dtool,in3,in4)
  3. %DW1DSEPM Discrete wavelet 1-D separate mode.
  4. %   [OUT1,OUT2,OUT3,OUT4,OUT5,OUT6,OUT7] = ...
  5. %   DW1DSEPM(OPTION,WIN_DW1DTOOL,IN3,IN4)
  6. %   M. Misiti, Y. Misiti, G. Oppenheim, J.M. Poggi 12-Mar-96.
  7. %   Last Revision: 27-Jun-2001.
  8. %   Copyright 1995-2002 The MathWorks, Inc.
  9. %   $Revision: 1.16 $  $Date: 2002/04/14 19:44:30 $ 
  10. % MemBloc1 of stored values.
  11. %---------------------------
  12. n_param_anal   = 'DWAn1d_Par_Anal';
  13. ind_sig_name   = 1;
  14. ind_sig_size   = 2;
  15. ind_wav_name   = 3;
  16. ind_lev_anal   = 4;
  17. ind_axe_ref    = 5;
  18. ind_act_option = 6;
  19. ind_ssig_type  = 7;
  20. ind_thr_val    = 8;
  21. nb1_stored     = 8;
  22. % MemBloc4 of stored values.
  23. %---------------------------
  24. n_miscella     = 'DWAn1d_Miscella';
  25. ind_graph_area =  1;
  26. ind_view_mode  =  2;
  27. ind_savepath   =  3;
  28. nb4_stored     =  3;
  29. % Tag property of objects.
  30. %-------------------------
  31. tag_a_l_sep = 'AL_Sep';
  32. tag_t_l_sep = 'TL_Sep';
  33. tag_a_r_sep = 'AR_Sep';
  34. tag_t_r_sep = 'TR_Sep';
  35. tag_fra_sep = 'Fra_Sep';
  36. tag_sa_sep  = 'Sa_Sep';
  37. tag_ssa_sep = 'SSa_Sep';
  38. tag_app_sep = 'App_Sep';
  39. tag_sd_sep  = 'Sd_Sep';
  40. tag_ssd_sep = 'SSd_Sep';
  41. tag_det_sep = 'Det_Sep';
  42. tag_img_sep = 'Img_Sep';
  43. children    = get(win_dw1dtool,'Children');
  44. axe_handles = findobj(children,'flat','type','axes');
  45. uic_handles = findobj(children,'flat','type','uicontrol');
  46. fra_handles = findobj(uic_handles,'Style','frame');
  47. txt_a_handles = findobj(axe_handles,'type','text');
  48. switch option
  49.     case 'view'
  50.         % in3 = old_mode or ...
  51.         % in3 = -1 : same mode
  52.         % in3 =  0 : clean 
  53.         %------------------------------------------------------
  54.         [Wave_Name,Level_Anal,Signal_size] = ...
  55.                 wmemtool('rmb',win_dw1dtool,n_param_anal,...
  56.                                ind_wav_name,ind_lev_anal,ind_sig_size);
  57.         old_mode = in3;
  58.         [flg_axe,sa_flg,app_flg,sd_flg,det_flg,ccfs_m] = ...
  59.                                 dw1dvmod('get_vm',win_dw1dtool,3);
  60.         cfs_flg = flg_axe(3);
  61.         if flg_axe(1)==0 , sa_flg = [0 0]; end
  62.         if flg_axe(2)==0 , sd_flg = [0 0]; end
  63.         lev2    = Level_Anal+2;
  64.         a_flg   = [app_flg , sa_flg];
  65.         d_flg   = [det_flg , sd_flg , cfs_flg];
  66.         vis_str = getonoff([a_flg d_flg]);
  67.         v_app   = vis_str(1:Level_Anal,:);
  68.         v_s_a   = vis_str(Level_Anal+1,:);
  69.         v_ss_a  = vis_str(lev2,:);
  70.         v_det   = vis_str(lev2+1:lev2+Level_Anal,:);
  71.         v_s_d   = vis_str(2*lev2-1,:);
  72.         v_ss_d  = vis_str(2*lev2,:);
  73.         v_cfs   = vis_str(2*lev2+1,:);
  74.         [axe_left,axe_right,txt_left,txt_right,fra_sep,ind_left,ind_right] = ...
  75.                                 dw1dsepm('axes',win_dw1dtool,a_flg,d_flg);
  76.         axe_hdl = [axe_left(:)' axe_right(:)'];
  77.         lin_handles = findobj(axe_hdl,'Type','line');
  78.         img_handles = findobj(axe_hdl,'Type','image');
  79.         s_app   = findobj(lin_handles,'Tag',tag_sa_sep);
  80.         ss_app  = findobj(lin_handles,'Tag',tag_ssa_sep);
  81.         app     = findobj(lin_handles,'Tag',tag_app_sep);
  82.         s_det   = findobj(lin_handles,'Tag',tag_sd_sep);
  83.         ss_det  = findobj(lin_handles,'Tag',tag_ssd_sep);
  84.         det     = findobj(lin_handles,'Tag',tag_det_sep);
  85.         img_cfs = findobj(img_handles,'Tag',tag_img_sep);
  86.         xmax = Signal_size;
  87.         ss_type = wmemtool('rmb',win_dw1dtool,n_param_anal,ind_ssig_type);
  88.         if sa_flg(1)==1
  89.             if sa_flg(2)==1 , txt = ['s/' ss_type]; else txt = 's'; end
  90.         else
  91.             if sa_flg(2)==1 , txt = ss_type;        else txt = '';  end
  92.         end
  93.         set(txt_left(Level_Anal+1),'String',txt);
  94.         if sd_flg(1)==1
  95.             if sd_flg(2)==1 , txt = ['s/' ss_type]; else txt = 's'; end
  96.         else
  97.             if sd_flg(2)==1 , txt = ss_type;        else txt = '';  end
  98.         end
  99.         set(txt_right(Level_Anal+1),'String',txt);
  100.         if isempty(s_app)
  101.             [x,ymin,ymax] = dw1dfile('sig',win_dw1dtool,1);
  102.             col_s   = wtbutils('colors','sig');
  103.             axe_act = axe_left(Level_Anal+1);
  104.             line('Parent',axe_act,'Xdata',[1:length(x)],'Ydata',x,...
  105.                  'Color',col_s,'Visible',v_s_a,'Tag',tag_sa_sep);
  106.             set(axe_act,             ...
  107.                     'XTicklabelMode','manual', ...
  108.                     'XTickLabel',[],           ...
  109.                     'Userdata',Level_Anal+1,   ...
  110.                     'Ylim',[ymin ymax]         ...
  111.                     );
  112.             axe_act = axe_right(Level_Anal+1);
  113.             line('Parent',axe_act,'Xdata',[1:length(x)],'Ydata',x,...
  114.                  'Color',col_s,'Visible',v_s_d,'Tag',tag_sd_sep);
  115.             set(axe_act,'Ylim',[ymin ymax])
  116.         else
  117.             set(s_app,'Visible',v_s_a);
  118.             set(s_det,'Visible',v_s_d);
  119.         end
  120.         if isempty(ss_app)
  121.             [x,ymin,ymax] = dw1dfile('ssig',win_dw1dtool,1);
  122.             col_ss  = wtbutils('colors','ssig');
  123.             axe_act = axe_left(Level_Anal+1);
  124.             ylim = get(axe_act,'Ylim');
  125.             if ylim(1)<ymin , ymin = ylim(1); end
  126.             if ylim(2)>ymax , ymax = ylim(2); end
  127.             line('Parent',axe_act,'Xdata',[1:length(x)],'Ydata',x,...
  128.                  'Color',col_ss,'Visible',v_ss_a,'Tag',tag_ssa_sep);
  129.             set(axe_act, ...
  130.                     'XTicklabelMode','manual', ...
  131.                     'XTickLabel',[],           ...
  132.                     'Userdata',Level_Anal+1,   ...
  133.                     'Ylim',[ymin ymax]         ...
  134.                     );
  135.             axe_act = axe_right(Level_Anal+1);
  136.             ylim = get(axe_act,'Ylim');
  137.             if ylim(1)<ymin , ymin = ylim(1); end
  138.             if ylim(2)>ymax , ymax = ylim(2); end
  139.             line('Parent',axe_act,'Xdata',[1:length(x)],'Ydata',x,...
  140.                  'Color',col_ss,'Visible',v_ss_d,'Tag',tag_ssd_sep);
  141.             set(axe_act,'Ylim',[ymin ymax]);
  142.         else
  143.             set(ss_app,'Visible',v_ss_a);
  144.             set(ss_det,'Visible',v_ss_d);
  145.         end
  146.         if isempty(app)
  147.             [x,ymin,ymax] = dw1dfile('app',win_dw1dtool,1:Level_Anal,3);
  148.             app     = zeros(1,Level_Anal);
  149.             col_app = wtbutils('colors','app',Level_Anal);
  150.             for k = Level_Anal:-1:1
  151.                 axe_act = axe_left(k);
  152.                 app(k) = line('Parent',axe_act,      ...
  153.                               'Xdata',[1:size(x,2)], ...
  154.                               'Ydata',x(k,:),        ...
  155.                               'Color',col_app(k,:),  ...
  156.                               'Visible',v_app(k,:),  ...
  157.                               'Tag',tag_app_sep,     ...
  158.                               'Userdata',k           ...
  159.                               );
  160.                 set(axe_act,'Ylim',[ymin(k) ymax(k)]);
  161.             end
  162.         else
  163.             for k =1:Level_Anal , set(app(k),'Visible',v_app(k,:)); end
  164.         end
  165.         if isempty(det)
  166.             [x,set_ylim,ymin,ymax] = ...
  167.                     dw1dfile('det',win_dw1dtool,1:Level_Anal,1);
  168.             det     = zeros(1,Level_Anal);
  169.             col_det = wtbutils('colors','det',Level_Anal);
  170.             for k = Level_Anal:-1:1
  171.                 axes(axe_right(k));
  172.                 axe_act = axe_right(k);
  173.                 axes(axe_act);
  174.                 det(k)  = line( 'Parent',axe_act,       ...
  175.                                 'Xdata',[1:size(x,2)],  ...
  176.                                 'Ydata',x(k,:),         ...
  177.                                 'Color',col_det(k,:),   ...
  178.                                 'Visible',v_det(k,:),   ...
  179.                                 'Tag',tag_det_sep,      ...
  180.                                 'Userdata',k            ...
  181.                                 );
  182.                 if set_ylim(k)
  183.                     set(axe_act,'Ylim',[ymin(k) ymax(k)]);
  184.                 end
  185.             end
  186.         else
  187.             for k =1:Level_Anal , set(det(k),'Visible',v_det(k,:)); end
  188.         end
  189.         if ismember((Level_Anal+2),ind_right)
  190.             yes_right = 1;
  191.         else
  192.             yes_right = 0;
  193.         end
  194.         ax_hdl = axe_right(Level_Anal+2);
  195.         if yes_right
  196.             [rep,ccfs_vm,levs,xlim,nb_cla] = ...                    
  197.                     dw1dmisc('tst_vm',win_dw1dtool,3,ax_hdl,det_flg);
  198.             if rep==1 , delete(img_cfs); img_cfs = []; end
  199.             if isempty(img_cfs)
  200.                 [x,xlim1,xlim2,ymax,ymin,nb_cla,levs,ccfs_vm] = ...
  201.                                 dw1dmisc('col_cfs',win_dw1dtool,...
  202.                                         ccfs_vm,1:Level_Anal,xlim,nb_cla);
  203.                 tag = get(ax_hdl,'Tag');
  204.                 img_cfs = image( ...
  205.                                 flipud(x),         ...
  206.                                 'Parent',ax_hdl,   ...
  207.                                 'Visible',v_cfs,   ...
  208.                                 'Tag',tag_img_sep, ...
  209.                                 'Userdata',        ...
  210.                                 [ccfs_vm,levs,xlim1,xlim2,nb_cla]...
  211.                                 );
  212.                 ylim = [0.5 Level_Anal+0.5];
  213.                 xlim = get(axe_left(Level_Anal+1),'Xlim');
  214.                 levlab  = flipud(int2str(levs(:)));
  215.                 set(ax_hdl,...
  216.                         'YTicklabelMode','manual', ...
  217.                         'YTick',[1:length(levs)],  ...
  218.                         'YTickLabel',levlab,       ...
  219.                         'Box','on',                ...
  220.                         'Userdata',Level_Anal+2,   ...
  221.                         'Xlim',xlim,               ...
  222.                         'Ylim',ylim,               ...
  223.                         'Layer','top',             ...
  224.                         'Tag',tag                  ...
  225.                         );
  226.             else
  227.                 set(img_cfs,'Visible',v_cfs);           
  228.             end
  229.         else
  230.             set(img_cfs,'Visible','off');   
  231.         end
  232.         opt_act = wmemtool('rmb',win_dw1dtool,n_param_anal,ind_act_option);
  233.         if strcmp(opt_act,'synt')
  234.             ini_str = 'Orig. Synt. Sig.';
  235.         else
  236.             ini_str = 'Signal';
  237.         end
  238.         if     ss_type=='ss', str_ss = 'Synt.';
  239.         elseif ss_type=='ds', str_ss = 'Deno.';
  240.         elseif ss_type=='cs', str_ss = 'Comp.';
  241.         end
  242.         ind = [1:Level_Anal+1];
  243.         if ~isempty(ind_left)
  244.             m_l = ind_left(1);
  245.             i_l = find(ind~=m_l);
  246.             set(axe_left(m_l),'Userdata',m_l);
  247.             for k = i_l
  248.                 ax = axe_left(k);
  249.                 set(ax,...
  250.                        'XTicklabelMode','manual',...
  251.                        'XTickLabel',[],          ...
  252.                        'Userdata',k              ...
  253.                        );
  254.                 delete(get(ax,'title'));
  255.             end
  256.             m_l = max(ind_left);
  257.             if ~isempty(m_l)
  258.                 txt = '';                
  259.                 if sa_flg(1)==1 , txt = [txt ini_str]; end
  260.                 if sa_flg(2)==1
  261.                     if ~isempty(txt) , s = ', '; else , s = ''; end
  262.                     txt  = [txt s str_ss ' Signal']; 
  263.                 end             
  264.                 if find(app_flg)
  265.                     if ~isempty(txt) , s = ' and '; else , s = ''; end
  266.                     txt  = [txt s 'Approximation(s)']; 
  267.                 end 
  268.                 wtitle(txt,'Parent',axe_left(m_l));
  269.             end
  270.             set(axe_left(ind_left(1)),'XTicklabelMode','auto');  
  271.         end
  272.         if ~isempty(ind_right)
  273.             m_r = ind_right(1);
  274.             i_r = find([ind Level_Anal+2]~=m_r);
  275.             set(axe_right(m_r),'Userdata',m_r);
  276.             for k = i_r
  277.                 ax = axe_right(k);
  278.                 set(ax, ...
  279.                         'XTicklabelMode','manual',...
  280.                         'XTickLabel',[],          ...
  281.                         'Userdata',k              ...
  282.                         );
  283.                 delete(get(ax,'title'));
  284.             end
  285.             m_r = max(ind_right);
  286.             if ~isempty(m_r)
  287.                 txt = '';
  288.                 if find(cfs_flg) , txt  = [txt 'Coefs']; end
  289.                 if sd_flg(1)==1
  290.                     if ~isempty(txt) , s = ', '; else , s = ''; end
  291.                     txt = [txt s ini_str];
  292.                 end
  293.                 if sd_flg(2)==1
  294.                     if ~isempty(txt) , s = ', '; else , s = ''; end
  295.                     txt  = [txt s str_ss ' Signal'];
  296.                 end
  297.                 if find(det_flg)
  298.                     if ~isempty(txt) , s = ' and '; else , s = ''; end
  299.                     txt  = [txt s 'Detail(s)'];
  300.                 end
  301.                 wtitle(txt,'Parent',axe_right(m_r));
  302.             end
  303.             set(axe_right(ind_right(1)),'XTicklabelMode','auto');
  304.         end
  305.         % Axes attachment.
  306.         %-----------------
  307.         okNew = dw1dvdrv('test_mode',win_dw1dtool,'sep',old_mode);
  308.         if okNew
  309.             set([axe_left(:)' axe_right(:)'],'Xlim',[1 xmax]);
  310.             axe_cmd = [axe_left axe_right(1:end-1)];
  311.             others  = [axe_right(end)];
  312.             dynvtool('init',win_dw1dtool,[],[axe_cmd,others],[],[1 0], ...
  313.                     '','','dw1dcoor',[win_dw1dtool,others,Level_Anal]);
  314.         end
  315.         % Reference axes used by stat. & histo & ...
  316.         %-------------------------------------------
  317.         wmemtool('wmb',win_dw1dtool,n_param_anal,ind_axe_ref,axe_left(1));
  318.     case 'axes'
  319.         % in3 = app flags (left)
  320.         %   in3(1:Level_Anal)       = app flags
  321.         %   in3(Level_Anal+1)       = s_app flag
  322.         %   in3(Level_Anal+2)       = ss_app flag
  323.         % in4 = det flags (right)
  324.         %   in4(1:Level_Anal)       = det flags
  325.         %   in4(Level_Anal+1)       = s_app flag
  326.         %   in3(Level_Anal+2)       = ss_det flag
  327.         %   in3(Level_Anal+3)       = cfs flag
  328.         %------------------------------------------------------
  329.         % Get Globals.
  330.         %-------------
  331.         Def_FraBkColor = mextglob('get','Def_FraBkColor');
  332.         % Getting  Analysis parameters.
  333.         %------------------------------
  334.         [Signal_Name,Signal_Size,Wave_Name,Level_Anal] =   ...
  335.                 wmemtool('rmb',win_dw1dtool,n_param_anal,  ...
  336.                                ind_sig_name,ind_sig_size,  ...
  337.                                ind_wav_name,ind_lev_anal);
  338.         
  339.         % Getting miscellaneous parameters.
  340.         %----------------------------------
  341.         pos_graph = wmemtool('rmb',win_dw1dtool,n_miscella,ind_graph_area);
  342.         a_flg = in3;
  343.         d_flg = in4;
  344.         nb_a_left  = sum(a_flg(1:Level_Anal))+ ...
  345.                                 max(a_flg(Level_Anal+1:Level_Anal+2));
  346.         nb_a_right = sum(d_flg(1:Level_Anal))+ ...
  347.                 max(d_flg(Level_Anal+1:Level_Anal+2))+d_flg(Level_Anal+3);
  348.         nb_a_l_tot = Level_Anal+1;
  349.         nb_a_r_tot = Level_Anal+2;
  350.         ind_left = find(a_flg(1:Level_Anal)==1);
  351.         if a_flg(Level_Anal+1)==1 | a_flg(Level_Anal+2)==1
  352.             ind_left = [ind_left Level_Anal+1];     
  353.         end
  354.         ind_right = find(d_flg(1:Level_Anal)==1);
  355.         if d_flg(Level_Anal+1)==1 | d_flg(Level_Anal+2)==1
  356.             ind_right = [ind_right Level_Anal+1];   
  357.         end
  358.         if d_flg(Level_Anal+3)==1
  359.             ind_right = [ind_right Level_Anal+2];   
  360.         end
  361.         out6 = ind_left;
  362.         out7 = ind_right;
  363.         pos_win   = get(win_dw1dtool,'Position');
  364.         win_units = get(win_dw1dtool,'Units');
  365.         bdx = 0.1*pos_win(3);
  366.         bdy = 0.05*pos_win(4);
  367.         ecy = 0.02*pos_win(4);
  368.         if nb_a_left*nb_a_right~=0
  369.             w_left  = (pos_graph(3)-3*bdx)/2;
  370.             x_left  = pos_graph(1)+bdx;
  371.             w_right = w_left;
  372.             x_right = x_left+w_left+bdx+bdx/5;
  373.         elseif nb_a_left~=0
  374.             w_left  = pos_graph(3)-2*bdx;
  375.             x_left  = pos_graph(1)+bdx;
  376.         elseif nb_a_right~=0
  377.             w_right = pos_graph(3)-2*bdx;
  378.             x_right = pos_graph(1)+bdx;
  379.         end
  380.         if nb_a_left~=0
  381.             h_axe = (pos_graph(4)-2*bdy-(nb_a_left-1)*ecy)/nb_a_left;
  382.             y_axe = pos_graph(2)+bdy;
  383.             pos_a_left = [x_left y_axe w_left h_axe];;
  384.             pos_a_left = pos_a_left(ones(1,nb_a_left),:);
  385.             for k=2:nb_a_left
  386.                 y_axe = y_axe+h_axe+ecy;
  387.                 pos_a_left(k,2) = y_axe;
  388.             end
  389.         end
  390.         if nb_a_right~=0
  391.             h_axe = (pos_graph(4)-2*bdy-(nb_a_right-1)*ecy)/nb_a_right;
  392.             y_axe = pos_graph(2)+bdy;
  393.             pos_a_right = [x_right y_axe w_right h_axe];
  394.             pos_a_right = pos_a_right(ones(1,nb_a_right),:);
  395.             for k=2:nb_a_right
  396.                 y_axe = y_axe+h_axe+ecy;
  397.                 pos_a_right(k,2) = y_axe;
  398.             end
  399.         end
  400.         out1 = zeros(1,nb_a_l_tot);
  401.         out3 = zeros(1,nb_a_l_tot);
  402.         out2 = zeros(1,nb_a_r_tot);
  403.         out4 = zeros(1,nb_a_r_tot);
  404.         out1tmp = findobj(axe_handles,'flat','Tag',tag_a_l_sep);
  405.         if ~isempty(out1tmp)
  406.             out2tmp = findobj(axe_handles,'flat','Tag',tag_a_r_sep);
  407.             out3tmp = findobj(txt_a_handles,'Tag',tag_t_l_sep);
  408.             out4tmp = findobj(txt_a_handles,'Tag',tag_t_r_sep);
  409.             for k = 1:nb_a_l_tot
  410.                 out1(k) = findobj(out1tmp,'flat','Userdata',k);
  411.                 out3(k) = findobj(out3tmp,'Userdata',k);
  412.             end
  413.             for k = 1:nb_a_r_tot
  414.                 out2(k) = findobj(out2tmp,'flat','Userdata',k);
  415.                 out4(k) = findobj(out4tmp,'Userdata',k);
  416.             end
  417.             out5 = findobj(fra_handles,'Tag',tag_fra_sep);
  418.         else
  419.             axeProp = {...
  420.                'Parent',win_dw1dtool,...
  421.                'Units',win_units,    ...
  422.                'Visible','Off',      ...
  423.                'Nextplot','add',     ...
  424.                'DrawMode','Fast',    ...
  425.                'Box','On'            ...
  426.                };
  427.             for k = 1:nb_a_l_tot
  428.                 if k~=1
  429.                     axeProp = {axeProp{:}, ...
  430.                                'XTicklabelMode','manual','XTickLabel',[]};
  431.                 end
  432.                 out1(k) = axes(axeProp{:},'Userdata',k,'Tag',tag_a_l_sep);
  433.                 if k==Level_Anal+1
  434.                     txt_str = 's/ss';
  435.                 else
  436.                     txt_str = ['a' wnsubstr(k)];
  437.                 end
  438.                 out3(k) =  txtinaxe('create',txt_str,out1(k),'l','off','bold',20);
  439.                 set(out3(k),'Userdata',k,'Tag',tag_t_l_sep);
  440.             end
  441.             for k = 1:nb_a_r_tot
  442.                 if k~=1
  443.                     axeProp = {axeProp{:}, ...
  444.                                'XTicklabelMode','manual','XTickLabel',[]};
  445.                 end
  446.                 out2(k) = axes(axeProp{:},'Userdata',k,'Tag',tag_a_r_sep);
  447.                 if k==Level_Anal+2
  448.                     txt_str  = 'cfs';
  449.                     set(out2(k),'Ydir','reverse');
  450.                 elseif k==Level_Anal+1
  451.                     txt_str = 's/ss';
  452.                 else
  453.                     txt_str = ['d' wnsubstr(k)];
  454.                 end
  455.                 out4(k) = txtinaxe('create',txt_str,out2(k),'r','off','bold',20);
  456.                 set(out4(k),'Userdata',k,'Tag',tag_t_r_sep);
  457.             end
  458.             w_fra = 0.01*pos_win(3);
  459.             x_fra = pos_graph(1)+(pos_graph(3)-w_fra)/2;
  460.             y_fra = pos_graph(2);
  461.             h_fra = pos_graph(4);
  462.             out5  = uicontrol(...
  463.                             'Parent',win_dw1dtool,                ...
  464.                             'Style','frame',                      ...
  465.                             'Unit',win_units,                     ...
  466.                             'Position',[x_fra,y_fra,w_fra,h_fra], ...
  467.                             'Visible','Off',                      ...
  468.                             'Backgroundcolor',Def_FraBkColor,     ...
  469.                             'Tag',tag_fra_sep                     ...
  470.                             );
  471.         end
  472.         set(findobj([out1 out2]),'Visible','off');
  473.         if nb_a_left*nb_a_right~=0
  474.             set(out5,'Visible','On');
  475.         else
  476.             set(out5,'Visible','Off');
  477.         end
  478.         fontsize = wmachdep('fontsize','normal',9,max(nb_a_right,nb_a_left));
  479.         for k = 1:nb_a_left
  480.             ind = ind_left(k);
  481.             set(out1(ind),'Position',pos_a_left(k,:),'Visible','On');
  482.             txtinaxe('pos',out3(ind));
  483.             set(out3(ind),'FontSize',fontsize,'Visible','on');
  484.         end
  485.         for k = 1:nb_a_right
  486.             ind = ind_right(k);
  487.             set(out2(ind),'Position',pos_a_right(k,:),'Visible','On');
  488.             txtinaxe('pos',out4(ind));
  489.             set(out4(ind),'FontSize',fontsize,'Visible','on');
  490.         end
  491.     case 'del_ss'
  492.         lin_handles = findobj(axe_handles,'Type','line');
  493.         ss_app = findobj(lin_handles,'Tag',tag_ssa_sep);
  494.         ss_det = findobj(lin_handles,'Tag',tag_ssd_sep);
  495.         delete([ss_app ss_det]);
  496.     case 'clear'
  497.         dynvtool('stop',win_dw1dtool);
  498.         out1 = findobj(axe_handles,'flat','Tag',tag_a_l_sep);
  499.         out2 = findobj(axe_handles,'flat','Tag',tag_a_r_sep);
  500.         out5 = findobj(fra_handles,'Tag',tag_fra_sep);
  501.         delete([out1(:)' out2(:)' out5]);
  502.     otherwise
  503.         errargt(mfilename,'Unknown Option','msg');
  504.         error('*');
  505. end
  506.