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

波变换

开发平台:

Matlab

  1. function dw2dutil(option,win_dw2dtool,in3,in4)
  2. %DW2DUTIL Discrete wavelet 2-D utilities.
  3. %   DW2DUTIL(OPTION,WIN_DW2DTOOL,IN3,IN4)
  4. %   M. Misiti, Y. Misiti, G. Oppenheim, J.M. Poggi 12-Mar-96.
  5. %   Last Revision: 08-Jan-2001.
  6. %   Copyright 1995-2002 The MathWorks, Inc.
  7. %   $Revision: 1.14 $ $Date: 2002/06/17 12:18:47 $
  8. % Get Globals.
  9. %-------------
  10. [Terminal_Prop,Def_AxeFontSize, Def_FraBkColor] = ...
  11.     mextglob('get','Terminal_Prop','Def_AxeFontSize','Def_FraBkColor');
  12. % Default values.
  13. %----------------
  14. max_lev_anal = 5;
  15. default_nbcolors = 128;
  16. % Tag property of objects.
  17. %-------------------------
  18. tag_m_savesyn  = 'Save_Syn';
  19. tag_m_savecfs  = 'Save_Cfs';
  20. tag_m_savedec  = 'Save_Dec';
  21. tag_cmd_frame  = 'Cmd_Frame';
  22. tag_pus_anal   = 'Pus_Anal';
  23. tag_pus_deno   = 'Pus_Deno';
  24. tag_pus_comp   = 'Pus_Comp';
  25. tag_pus_hist   = 'Pus_Hist';
  26. tag_pus_stat   = 'Pus_Stat';
  27. tag_pop_declev = 'Pop_DecLev';
  28. tag_pus_visu   = 'Pus_Visu';
  29. tag_pus_big    = 'Pus_Big';
  30. tag_pus_rec    = 'Pus_Rec';
  31. tag_pop_viewm  = 'Pop_ViewM';
  32. tag_pus_full   = ['Pus_Full.1';'Pus_Full.2';'Pus_Full.3';'Pus_Full.4'];
  33. tag_btnaxeset  = 'Btn_Axe_Set';
  34. tag_axefigutil = 'Axe_FigUtil';
  35. tag_linetree   = 'Tree_lines';
  36. tag_txttree    = 'Tree_txt';
  37. tag_axeimgbig  = 'Axe_ImgBig';
  38. tag_axeimgini  = 'Axe_ImgIni';
  39. tag_axeimgvis  = 'Axe_ImgVis';
  40. tag_axeimgsel  = 'Axe_ImgSel';
  41. tag_axeimgdec  = 'Axe_ImgDec';
  42. tag_axeimgsyn  = 'Axe_ImgSyn';
  43. tag_axeimghdls = 'Img_Handles';
  44. tag_imgdec     = 'Img_Dec';
  45. % MemBloc1 of stored values.
  46. %---------------------------
  47. n_param_anal   = 'DWAn2d_Par_Anal';
  48. ind_img_name   = 1;
  49. ind_wav_name   = 2;
  50. ind_lev_anal   = 3;
  51. ind_img_t_name = 4;
  52. ind_img_size   = 5;
  53. ind_nbcolors   = 6;
  54. ind_act_option = 7;
  55. ind_simg_type  = 8;
  56. ind_thr_val    = 9;
  57. nb1_stored     = 9;
  58. % MemBloc3 of stored values.
  59. %---------------------------
  60. n_miscella      = 'DWAn2d_Miscella';
  61. ind_graph_area  =  1;
  62. ind_pos_axebig  =  2;
  63. ind_pos_axeini  =  3;
  64. ind_pos_axevis  =  4;
  65. ind_pos_axedec  =  5;
  66. ind_pos_axesyn  =  6;
  67. ind_pos_axesel  =  7;
  68. ind_view_status =  8;
  69. ind_save_status =  9;
  70. ind_sel_funct   = 10;
  71. nb3_stored      = 10;
  72. % Miscellaneous values.
  73. %----------------------
  74. square_viewm = 1;
  75. tree_viewm   = 2;
  76. % View Status
  77. %--------------------------------------------------------%
  78. % 'none' : init
  79. % 's_l*' : square        * = lev_dec (1 --> Level_Anal)
  80. % 'f1l*' : full ini      * = lev_dec (1 --> Level_Anal)
  81. % 'f2l*' : full syn      * = lev_dec (1 --> Level_Anal)
  82. % 'f3l*' : full vis      * = lev_dec (1 --> Level_Anal)
  83. % 'f4l*' : full dec      * = lev_dec (1 --> Level_Anal)
  84. % 'b*l*' : big
  85. %                first   * = index   (1 --> 4*Level_Anal)
  86. %                second  * = lev_dec (1 --> Level_Anal)
  87. % 't_l*' : tree          * = lev_dec (1 --> Level_Anal)
  88. %--------------------------------------------------------%
  89. % Handles of tagged objects.
  90. %---------------------------
  91. str_numwin  = sprintf('%.0f',win_dw2dtool);
  92. children    = get(win_dw2dtool,'Children');
  93. uic_handles = findobj(children,'flat','type','uicontrol');
  94. axe_handles = findobj(children,'flat','type','axes');
  95. txt_handles = findobj(uic_handles,'Style','text');
  96. pop_handles = findobj(uic_handles,'Style','popupmenu');
  97. pus_handles = findobj(uic_handles,'Style','pushbutton');
  98. m_files     = wfigmngr('getmenus',win_dw2dtool,'file');
  99. m_savesyn   = findobj(m_files,'Tag',tag_m_savesyn);
  100. m_savecfs   = findobj(m_files,'Tag',tag_m_savecfs);
  101. m_savedec   = findobj(m_files,'Tag',tag_m_savedec);
  102. pus_anal    = findobj(pus_handles,'Tag',tag_pus_anal);
  103. pus_deno    = findobj(pus_handles,'Tag',tag_pus_deno);
  104. pus_comp    = findobj(pus_handles,'Tag',tag_pus_comp);
  105. pus_hist    = findobj(pus_handles,'Tag',tag_pus_hist);
  106. pus_stat    = findobj(pus_handles,'Tag',tag_pus_stat);
  107. pop_declev  = findobj(pop_handles,'Tag',tag_pop_declev);
  108. pus_visu    = findobj(pus_handles,'Tag',tag_pus_visu);
  109. pus_big     = findobj(pus_handles,'Tag',tag_pus_big);
  110. pus_rec     = findobj(pus_handles,'Tag',tag_pus_rec);
  111. pop_viewm   = findobj(pop_handles,'Tag',tag_pop_viewm);
  112. for k =1:size(tag_pus_full,1)
  113.     pus_full(k) = (findobj(pus_handles,'Tag',tag_pus_full(k,:)))';
  114. end
  115. Axe_ImgBig = findobj(axe_handles,'flat','Tag',tag_axeimgbig);
  116. Axe_ImgIni = findobj(axe_handles,'flat','Tag',tag_axeimgini);
  117. Axe_ImgVis = findobj(axe_handles,'flat','Tag',tag_axeimgvis);
  118. Axe_ImgSel = findobj(axe_handles,'flat','Tag',tag_axeimgsel);
  119. Axe_ImgSyn = findobj(axe_handles,'flat','Tag',tag_axeimgsyn);
  120. switch option
  121.     case 'clean'
  122.         % in3 = load option
  123.         % in4 optional ('new_synt')
  124.         %---------------------------
  125.         if nargin==3 , init = 1; else , init = 0; end
  126.         if init==1
  127.             % in3 = type of loading.
  128.             %-----------------------
  129.             % 'load_img' , 'load_dec'
  130.             % 'load_cfs' , 'demo'    
  131.             %-----------------------
  132.             strwin = sprintf('%.0f',win_dw2dtool);
  133.             if strcmp(in3,'load_cfs')
  134.                 str_btn = 'Synthesize';
  135.                 cba_btn = ['dw2dmngr(''synthesize'',' strwin ');'];
  136.             else
  137.                 str_btn = 'Analyze';
  138.                 cba_btn = ['dw2dmngr(''analyze'',' strwin ');'];
  139.             end
  140.             set(pus_anal,'String',xlate(str_btn),'Callback',cba_btn);
  141.         end
  142.         % Testing first use.
  143.         %--------------------
  144.         active_option = wmemtool('rmb',win_dw2dtool,n_param_anal,ind_act_option);
  145.         if strcmp(active_option,'create') , first = 1; else first = 0; end
  146.         % Cleaning stored values.
  147.         %------------------------
  148.         if init==1 , wmemtool('ini',win_dw2dtool,n_param_anal,nb1_stored); end
  149.         % End of Cleaning when first is true.
  150.         %------------------------------------
  151.         if first , return; end
  152.         % Cleaning axes.
  153.         %---------------
  154.         dw2dimgs('clean',win_dw2dtool);
  155.         wmemtool('wmb',win_dw2dtool,tag_axeimghdls,1,[]);
  156.         Axe_ImgDec = wmemtool('rmb',win_dw2dtool,tag_axeimgdec,1);
  157.         cleanaxe([Axe_ImgIni,Axe_ImgVis,Axe_ImgSyn,...
  158.                   Axe_ImgSel,Axe_ImgBig,Axe_ImgDec(:)']);
  159.         set([Axe_ImgIni,Axe_ImgVis,Axe_ImgSel, ...
  160.              Axe_ImgSyn,Axe_ImgDec,Axe_ImgBig],...
  161.              'Visible','Off');
  162.         bdy = 18;
  163.         wboxtitl('set',Axe_ImgSel,'Image Selection',Def_AxeFontSize,...
  164.                                         9,18,bdy,'off');
  165.         axe_figutil = findobj(win_dw2dtool,              ...
  166.                                     'type','axes',       ...
  167.                                     'Tag',tag_axefigutil ...
  168.                                     );
  169.         t_lines     = findobj(axe_figutil,               ...
  170.                                     'type','line',       ...
  171.                                     'Tag',tag_linetree   ...
  172.                                     );
  173.         t_txt       = findobj(axe_figutil,               ...
  174.                                     'type','text',       ...
  175.                                     'Tag',tag_txttree    ...
  176.                                     );
  177.         set([t_lines' t_txt'],'Visible','off');
  178.         dw2darro('clean',win_dw2dtool,'off');
  179.         drawnow;
  180.         % Setting enable property of objects.
  181.         %------------------------------------
  182.         set([m_savesyn, m_savecfs, m_savedec],'Enable','Off');
  183.         cbanapar('enable',win_dw2dtool,'off');
  184.         cbcolmap('enable',win_dw2dtool,'off');
  185.         set([...
  186.              pus_anal,   pus_deno,           ...
  187.              pus_comp,   pus_hist, pus_stat, ...
  188.              pop_declev, pus_big,            ...
  189.              pus_visu,   pus_rec,  pus_big,  ...
  190.              pus_full,   pop_viewm ],...
  191.              'Enable','off'...
  192.              );
  193.         % Cleaning DynVTool.
  194.         %-------------------
  195.         dynvtool('stop',win_dw2dtool);
  196.         if init==1
  197.             % Setting string property of objects.
  198.             %------------------------------------
  199.             str_lev_data    = int2str([1:max_lev_anal]');
  200.             cbanapar('set',win_dw2dtool,...
  201.                 'nam','',             ...
  202.                 'wav','haar',         ...
  203.                 'lev',{'String',str_lev_data,'Value',1})
  204.             set(pop_declev,'String',str_lev_data,'Value',1);
  205.         end
  206.         % Cleaning buttons.
  207.         %------------------
  208.         val = get(pop_viewm,'Value');
  209.         pos = zeros(4,4);
  210.         pos(1,:) = get(pus_full(1),'Position');
  211.         if val~=square_viewm
  212.             pos(1,3) = (3*pos(1,3))/2;
  213.             pos(2,:) = pos(1,:); pos(2,2) = pos(2,2)-pos(2,4);
  214.             pos(3,:) = pos(1,:); pos(3,1) = pos(3,1)+pos(3,3);
  215.             pos(4,:) = pos(3,:);
  216.             pos(4,2) = pos(4,2)-pos(4,4);
  217.             set(pus_full,'Visible','off'); drawnow;
  218.             for num=1:4
  219.                 set(pus_full(num),...
  220.                         'Position',pos(num,:),...
  221.                         'Backgroundcolor',Def_FraBkColor,...
  222.                         'String',sprintf('%.0f',num),...
  223.                         'Userdata',0);
  224.             end
  225.             set(pus_full,'Visible','on'); drawnow;
  226.         else
  227.             for num=1:length(pus_full)
  228.                 set(pus_full(num),...
  229.                         'Backgroundcolor',Def_FraBkColor,...
  230.                         'String',sprintf('%.0f',num),...               
  231.                         'Userdata',0);
  232.             end
  233.         end
  234.         set(pop_viewm,'Value',square_viewm);
  235.         cba_pus_big = ['dw2dmngr(''select'','   ...
  236.                         str_numwin ','          ...
  237.                         num2mstr(pus_big) ');'];
  238.         set(pus_big,...
  239.                 'String',xlate('Full Size'),           ...
  240.                 'BackGroundColor',Def_FraBkColor,...
  241.                 'Callback',cba_pus_big);
  242.         % Cleaning miscellaneous parameters.
  243.         %-----------------------------------
  244.         wmemtool('wmb',win_dw2dtool,n_miscella, ...
  245.                        ind_view_status,'none',ind_save_status,'none');
  246.         if init==1
  247.             cbcolmap('set',win_dw2dtool,'pal',{'pink',default_nbcolors})
  248.         end
  249.     case 'clean2'
  250.         % in3 = calling option
  251.         %------------------
  252.         call_opt = in3;
  253.         % Cleaning axes.
  254.         %---------------
  255.         dw2dimgs('clean',win_dw2dtool);
  256.         wmemtool('wmb',win_dw2dtool,tag_axeimghdls,1,[]);
  257.         Axe_ImgDec = wmemtool('rmb',win_dw2dtool,tag_axeimgdec,1);
  258.         cleanaxe([Axe_ImgVis,Axe_ImgSyn,Axe_ImgSel,Axe_ImgBig,Axe_ImgDec(:)']);
  259.         set([Axe_ImgVis,Axe_ImgSel,Axe_ImgSyn,Axe_ImgDec,Axe_ImgBig],...
  260.              'Visible','Off');
  261.         bdy = 18;
  262.         wboxtitl('set',Axe_ImgSel,'Image Selection',Def_AxeFontSize,...
  263.                                         9,18,22,'off');
  264.         axe_figutil = findobj(win_dw2dtool,              ...
  265.                                     'type','axes',       ...
  266.                                     'Tag',tag_axefigutil ...
  267.                                     );
  268.         t_lines     = findobj(axe_figutil,               ...
  269.                                     'type','line',       ...
  270.                                     'Tag',tag_linetree   ...
  271.                                     );
  272.         t_txt       = findobj(axe_figutil,               ...
  273.                                     'type','text',       ...
  274.                                     'Tag',tag_txttree    ...
  275.                                     );
  276.         set([t_lines' t_txt'],'Visible','off');
  277.         dw2darro('clean',win_dw2dtool,'on');
  278.         dw2dutil('pos_axe_init',win_dw2dtool,option);
  279.         drawnow;
  280.         % Cleaning buttons.
  281.         %------------------
  282.         val = get(pop_viewm,'Value');
  283.         pos = zeros(4,4);
  284.         pos(1,:) = get(pus_full(1),'Position');
  285.         if val~=square_viewm
  286.             pos(1,3) = (3*pos(1,3))/2;
  287.             pos(2,:) = pos(1,:); pos(2,2) = pos(2,2)-pos(2,4);
  288.             pos(3,:) = pos(1,:); pos(3,1) = pos(3,1)+pos(3,3);
  289.             pos(4,:) = pos(3,:);
  290.             pos(4,2) = pos(4,2)-pos(4,4);
  291.             set(pus_full,'Visible','off'); drawnow;
  292.             for num=1:4
  293.                 set(pus_full(num),...
  294.                         'Position',pos(num,:),...
  295.                         'Backgroundcolor',Def_FraBkColor,...
  296.                         'String',sprintf('%.0f',num),...
  297.                         'Userdata',0);
  298.             end
  299.             set(pus_full,'Visible','on'); drawnow;
  300.         else
  301.             for num=1:length(pus_full)
  302.                 set(pus_full(num),...
  303.                         'Backgroundcolor',Def_FraBkColor,...
  304.                         'String',sprintf('%.0f',num),...               
  305.                         'Userdata',0);
  306.             end
  307.         end
  308.         set(pop_viewm,'Value',square_viewm);
  309.         % Cleaning miscellaneous parameters.
  310.         %-----------------------------------
  311.         wmemtool('wmb',win_dw2dtool,n_miscella, ...
  312.                        ind_view_status,'none',ind_save_status,'none');
  313.     case 'enable'
  314.         % in3 = calling option.
  315.         %----------------------
  316.         switch in3
  317.             case {'load_img','demo','load_cfs'}
  318.                 cbanapar('enable',win_dw2dtool,'on');
  319.                 cbcolmap('enable',win_dw2dtool,'on');
  320.                 set(pus_anal,'Enable','on');
  321.                 dw2darro('set_arrow',win_dw2dtool,in3);
  322.             end
  323.         switch in3
  324.             case {'demo','analyze','synthesize'}
  325.                 set([pus_deno, pus_comp,   pus_stat,   ...
  326.                      pus_hist, pop_declev,             ...
  327.                      pus_visu, pus_rec,                ...
  328.                      pus_big , pus_full,   pop_viewm], ...
  329.                      'Enable','On'   ...
  330.                      );
  331.                 set([m_savesyn, m_savecfs, m_savedec],'Enable','on');
  332.             case 'load_dec'
  333.                 cbanapar('enable',win_dw2dtool,'on');
  334.                 cbcolmap('enable',win_dw2dtool,'on');
  335.                 set([pus_anal, pus_deno,   pus_comp, pus_stat, ...
  336.                      pus_hist, pop_declev, pus_visu, pus_rec , ...
  337.                      pus_big,  pop_viewm,  pus_full] ,...
  338.                      'Enable','On'   ...
  339.                      );
  340.                 dw2darro('set_arrow',win_dw2dtool,in3);
  341.                 set([m_savesyn, m_savecfs, m_savedec],'Enable','on');
  342.             case {'comp','deno'}
  343.                 set([m_files , pus_anal , pus_deno , pus_comp],'Enable','off');
  344.             case {'return_comp','return_deno'}
  345.                 set([m_files , pus_anal , pus_deno , pus_comp],'Enable','on');
  346.         end
  347.     case 'pos_axe_init'
  348.         % in3 = calling option.
  349.         %--------------------------
  350.         % Getting Analysis parameters.
  351.         %-----------------------------
  352.         [Image_Size,Level_Anal] = wmemtool('rmb',win_dw2dtool,n_param_anal,...
  353.                                                 ind_img_size,ind_lev_anal);
  354.         level       = cbanapar('get',win_dw2dtool,'lev');
  355.         Axe_ImgDec  = wmemtool('rmb',win_dw2dtool,tag_axeimgdec,1);
  356.         Img_Handles = wmemtool('rmb',win_dw2dtool,tag_axeimghdls,1);
  357.         % Getting position parameters.
  358.         %-----------------------------
  359.         pos      = wmemtool('rmb',win_dw2dtool,n_miscella,ind_graph_area);
  360.         term_dim = Terminal_Prop;
  361.         % View boundary parameters.
  362.         %--------------------------
  363.         mxbig = 0.83; mybig = 0.83;
  364.         mx    = 0.75; my    = 0.75;
  365.         % Computing axes positions.
  366.         %--------------------------
  367.         cent_one = [ pos(1)+pos(3)/2 , pos(2)+pos(4)/2 ];
  368.         w_theo  = pos(3);               h_theo  = pos(4);
  369.         w_pos   = pos(3)*mxbig;         h_pos   = pos(4)*mybig;
  370.         [w_one,h_one] = wpropimg(Image_Size,w_pos,h_pos);
  371.         pos_axebig = [cent_one(1)-w_one/2 ,...
  372.                       cent_one(2)-h_one/2 ,...
  373.                       w_one               ,...
  374.                       h_one];
  375.         NBL = 2; NBC = 2;
  376.         w_theo = pos(3)/NBC;  h_theo = pos(4)/NBL;
  377.         w_pos   = w_theo*mx;  h_pos   = h_theo*my;
  378.         X_cent = pos(1)+(w_theo/2)*[1:2:2*NBC-1];
  379.         Y_cent = pos(2)+(h_theo/2)*[1:2:2*NBL-1];
  380.         [w_used,h_used] = wpropimg(Image_Size,w_pos,h_pos);
  381.         w_u2 = w_used/2;     h_u2 = h_used/2;
  382.         pos_axeini = [X_cent(1)-w_u2,Y_cent(2)-h_u2,w_used,h_used];
  383.         pos_axevis = [X_cent(2)-w_u2,Y_cent(2)-h_u2,w_used,h_used];
  384.         pos_axesyn = [X_cent(1)-w_u2,Y_cent(1)-h_u2,w_used,h_used];
  385.         pos_axesel = [X_cent(2)-w_u2,Y_cent(1)-h_u2,w_used,h_used];
  386.         xl = pos_axesel(1);             yb = pos_axesel(2);
  387.         la = pos_axesel(3)/2;           ha = pos_axesel(4)/2;
  388.         ind = 1;
  389.         for k = 1:max_lev_anal
  390.             pos_axedec(ind:ind+3,1:4) = ...
  391.                     [xl      ,yb     ,la     ,ha;
  392.                      xl+la   ,yb     ,la     ,ha;
  393.                      xl+la   ,yb+ha  ,la     ,ha;
  394.                      xl      ,yb+ha  ,la     ,ha ...
  395.                     ];
  396.             ind = ind+4;
  397.             yb = yb+ha;    la = la/2;     ha = ha/2;
  398.         end
  399.         % Axes visibility.
  400.         %-----------------
  401.         if isempty(Level_Anal) , Level_Anal = level; end 
  402.         max_a = 4*Level_Anal;
  403.         index = [1:max_a];
  404.         rem_4 = rem(index,4);
  405.         if strcmp(in3,'load_img')
  406.             ind_On = [];    ind_Off = index;
  407.         else
  408.             ind_On  = [find(index<max_a & rem_4~=0) , max_a];
  409.             ind_Off = [find(index<max_a & rem_4==0) , find(index>max_a)];
  410.         end
  411.         % Setting axes.
  412.         %--------------
  413.         xlim = [1 Image_Size(1)];
  414.         ylim = [1 Image_Size(2)];
  415.         set([Axe_ImgIni,Axe_ImgVis,Axe_ImgSyn,Axe_ImgSel],'Visible','On');
  416.         set(Axe_ImgIni,...
  417.                 'Visible','On','Position',pos_axeini, ...
  418.                 'Xlim',xlim,'Ylim',ylim               ...
  419.                 );
  420.         set(Axe_ImgVis,...
  421.                 'Visible','On','Position',pos_axevis, ...
  422.                 'Xlim',xlim,'Ylim',ylim               ...
  423.                 );
  424.         set(Axe_ImgSyn,...
  425.                 'Visible','On','Position',pos_axesyn, ...
  426.                 'Xlim',xlim,'Ylim',ylim               ...
  427.                 );
  428.         set(Axe_ImgSel,...
  429.                 'Visible','on','Position',pos_axesel, ...
  430.                 'Xlim',xlim,'Ylim',ylim...
  431.                 );
  432.         for k = 1:4*max_lev_anal
  433.             set(Axe_ImgDec(k),...
  434.                     'Position',pos_axedec(k,:),...
  435.                     'Xlim',xlim,'Ylim',ylim);
  436.         end
  437.         set(Axe_ImgDec(ind_On),'Visible','On');
  438.         set(Axe_ImgBig,'Position',pos_axebig,'Xlim',xlim,'Ylim',ylim);
  439.         % Axes Titles.
  440.         %-------------
  441.         axes(Axe_ImgIni);
  442.         if strcmp(in3,'load_cfs')
  443.             wtitle('Initial Image ... None','Parent',Axe_ImgIni);
  444.         else
  445.             wtitle('Original Image','Parent',Axe_ImgIni);
  446.         end
  447.         axes(Axe_ImgSyn);
  448.         wtitle('Synthesized Image','Parent',Axe_ImgSyn);
  449.         wsetxlab(Axe_ImgSel,'Decomposition at level ...');
  450.         wboxtitl('pos',Axe_ImgSel,'on');
  451.         % Storing axes positions.
  452.         %------------------------
  453.         wmemtool('wmb',win_dw2dtool,n_miscella,   ...
  454.                        ind_pos_axeini,pos_axeini, ...
  455.                        ind_pos_axevis,pos_axevis, ...
  456.                        ind_pos_axesel,pos_axesel, ...
  457.                        ind_pos_axesyn,pos_axesyn, ...
  458.                        ind_pos_axebig,pos_axebig, ...
  459.                        ind_pos_axedec,pos_axedec  ...
  460.                        );
  461.     otherwise
  462.         errargt(mfilename,'Unknown Option','msg');
  463.         error('*');
  464. end