function fltool()
% This is the machine-generated representation of a MATLAB object
% and its children.  Note that handle values may change when these
% objects are re-created. This may cause problems with some callbacks.
% The command syntax may be supported in the future, but is currently 
% incomplete and subject to change.
%
% To re-open this system, just type the name of the m-file at the MATLAB
% prompt. The M-file and its associtated MAT-file must be on your path.

[logo_frac cmap_frac]=imread('logo.tif');
%[logo_frac cmap_frac]=imread('etoile_floue.gif');
%[logo_frac cmap_frac]=imread('nenuphares.gif');
%[logo_frac cmap_frac]=imread('plancton.gif');
%[logo_frac cmap_frac]=imread('raie.gif');
%[logo_frac cmap_frac]=imread('emelle.gif');
%[logo_frac cmap_frac]=imread('rosace.gif');
%[logo_frac cmap_frac]=imread('spin_space.gif');

a = figure('Color',[0.8 0.8 0.8], ...
	'HandleVisibility','callback', ...
	'colormap',cmap_frac, ...
	'MenuBar','none', ...
   'Name','FRACLAB Toolbox', ...
   'Units','normalized', ...
	'Position',[0.485 0.10 0.520 0.780], ...
	'Tag','FRACLAB Toolbox');
    
b = uicontrol('Parent',a, ...
	'Units','normalized', ...
	'FontUnits','pixels', ...
	'FontSize',12, ...
	'Position',[0.04 0.25 0.92 0.54], ...
	'Style','frame', ...
	'Tag','Frame_List');

    
b = uicontrol('Parent',a, ...
	'Units','normalized', ...
	'FontUnits','pixels', ...
	'FontSize',12, ...
	'Position',[0.04 0.14 0.92 0.1], ...
	'Style','frame', ...
    'Tag','Frame_Control');  
    
b = uicontrol('Parent',a, ...
	'Units','normalized', ...
	'FontUnits','pixels', ...
	'FontSize',12, ...
	'Position',[0.04 0.03 0.92 0.1], ...
	'Style','frame', ...
	'Tag','Frame_Message');    


%%%%%%%%% Error Message Frame %%%%%%%%%         
b = uicontrol('Parent',a, ...
	'Units','normalized', ...
	'FontUnits','pixels', ...
	'FontSize',12, ...
	'FontWeight','bold', ...
	'HorizontalAlignment','left', ...	
	'Position',[0.07 0.0683333 0.17 0.03], ...
	'String','Message', ...
	'Style','text', ...
	'Tag','StaticText_mes_error');
b = uicontrol('Parent',a, ...
	'Units','normalized', ...
	'FontUnits','pixels', ...
	'BackgroundColor',[1 1 1], ...
	'ForegroundColor',[1 0 0], ...
	'FontSize',12, ...
	'FontWeight','bold', ...
	'Position',[0.224 0.0666667 0.60 0.035], ...
	'Style','text', ...
	'Tag','StaticText_error');
b = uicontrol('Parent',a, ...
	'Units','normalized', ...
	'FontUnits','pixels', ...
	'Callback','fl_function(''erase_error'');', ...
	'FontSize',12, ...
	'FontWeight','bold', ...
	'Position',[0.83 0.065 0.10 0.040], ...
	'String','Erase', ...
	'Tag','Pushbutton_erase_error');


b = uicontrol('Parent',a, ...
	'Units','normalized', ...
	'FontUnits','pixels', ...
	'Callback','fl_function(''close_all'');', ...
	'FontSize',12, ...
	'FontWeight','bold', ...
	'Position',[0.672 0.17 0.186 0.0416667], ...
	'String','Quit', ...
	'Tag','Pushbutton_close');
b = uicontrol('Parent',a, ...
	'Units','normalized', ...
	'FontUnits','pixels', ...
	'Callback','helpwin help_aidegen;', ...
	'FontSize',12, ...
	'FontWeight','bold', ...
	'Position',[0.41 0.17 0.186 0.0416667], ...
	'String','Help', ...
	'Tag','Pushbutton_help');
b = uicontrol('Parent',a, ...
	'Units','normalized', ...
	'FontUnits','pixels', ...
	'Callback','fl_callwindow(''gui_view_toolbar'',''gui_view_toolbar'');', ...
	'FontSize',12, ...
	'FontWeight','bold', ...
	'Position',[0.15 0.17 0.186 0.0416667], ...
	'String','View', ...
	'Tag','Pushbutton_inview');
b = uicontrol('Parent',a, ...
	'Units','normalized', ...
	'FontUnits','pixels', ...
	'Callback','fl_function(''mn_save_file'');', ...
	'FontSize',10, ...
	'Position',[0.52 0.275 0.216 0.032], ...
	'String','Save', ...
	'Tag','Pushbutton_insave');
b = uicontrol('Parent',a, ...
	'Units','normalized', ...
	'FontUnits','pixels', ...
	'Callback','fl_function(''mn_load_file'');', ...
	'FontSize',10, ...
	'Position',[0.52 0.32 0.216 0.032], ...
	'String','Load', ...
	'Tag','Pushbutton_inload');
b = uicontrol('Parent',a, ...
	'Units','normalized', ...
	'FontUnits','pixels', ...
	'Callback','eval([''clear '' fl_function(''clear'',0)]);', ...
	'FontSize',10, ...
	'Position',[0.27 0.275 0.216 0.032], ...
	'String','Clear', ...
	'Tag','Pushbutton_inclear');
b = uicontrol('Parent',a, ...
	'Units','normalized', ...
	'FontUnits','pixels', ...
	'Callback','fl_function(''mn_scanwks'',whos);', ...
	'FontSize',10, ...
	'Position',[0.27 0.32 0.216 0.032], ...
	'String','Scan Workspace', ...
	'Tag','Pushbutton_scanwks');
b = uicontrol('Parent',a, ...
	'Units','normalized', ...
	'FontUnits','pixels', ...
	'BackgroundColor',[1 1 1], ...
	'FontSize',12, ...
	'Position',[0.532 0.386667 0.356 0.32], ...
	'Style','listbox', ...
	'Tag','Listbox_details', ...
	'Value',[]);
b = uicontrol('Parent',a, ...
	'Units','normalized', ...
	'FontUnits','pixels', ...
	'FontSize',12, ...
	'Position',[0.644 0.716667 0.126 0.032], ...
	'String','Details', ...
	'Style','text', ...
	'Tag','StaticText_Details');
b = uicontrol('Parent',a, ...
	'Units','normalized', ...
	'FontUnits','pixels', ...
	'BackgroundColor',[1 1 1], ...
	'Callback','fl_clearerror;fl_details;', ...
	'FontSize',12, ...
	'Position',[0.112 0.386667 0.36 0.32], ...
	'Style','listbox', ...
	'Tag','Listbox_variables', ...
	'Value',[]);
b = uicontrol('Parent',a, ...
	'Units','normalized', ...
	'FontUnits','pixels', ...
	'FontSize',12, ...
	'Position',[0.212 0.721667 0.126 0.032], ...
	'String','Variables', ...
	'Style','text', ...
	'Tag','StaticText_Variables');
b = axes('Parent',a, ...
	'Box','on', ...
	'CameraUpVector',[0 1 0], ...
	'CameraUpVectorMode','manual', ...
	'Color',[1 1 1], ...
	'HandleVisibility','callback', ...
	'Layer','top', ...
	'Units','normalized', ...
	'Position',[0.25 0.85 0.50 0.10], ...
	'Tag','Axes1', ...
	'Visible','off', ...
	'XColor',[0 0 0], ...
	'XLim',[1 278], ...
	'XLimMode','manual', ...
	'YColor',[0 0 0], ...
	'YDir','reverse', ...
	'YLim',[1 67], ...
	'YLimMode','manual', ...
	'ZColor',[0 0 0]);
c = image('Parent',b, ...
	'CData',logo_frac, ...
	'Interruptible','off', ...
	'Tag','Image1');%'ButtonDownFcn','helpwin aidegen', ...
% b = axes('Parent',a, ...
% 	'Box','on', ...
% 	'CameraUpVector',[0 1 0], ...
% 	'CameraUpVectorMode','manual', ...
% 	'Color',[1 1 1], ...
% 	'HandleVisibility','callback', ...
% 	'Layer','top', ...
% 	'Units','normalized', ...
% 	'Position',[0 0 1 1], ...
% 	'Tag','Axes1', ...
% 	'Visible','off', ...
% 	'XColor',[0 0 0], ...
% 	'XLim',[1 1000], ...
% 	'XLimMode','manual', ...
% 	'YColor',[0 0 0], ...
% 	'YDir','reverse', ...
% 	'YLim',[1 1000], ...
% 	'YLimMode','manual', ...
% 	'ZColor',[0 0 0]);
% c = image('Parent',b, ...
% 	'CData',logo_frac, ...
% 	'Interruptible','off', ...
% 	'Tag','Image1');
c = text('Parent',b, ...
	'ButtonDownFcn','ctlpanel SelectMoveResize', ...
	'Color',[0 0 0], ...
	'HandleVisibility','callback', ...
	'HorizontalAlignment','center', ...
	'Interruptible','off', ...
	'Position',[167 218.87 0], ...
	'Tag','Text5', ...
	'VerticalAlignment','cap', ...
	'Visible','off');
set(get(c,'Parent'),'XLabel',c);
c = text('Parent',b, ...
	'ButtonDownFcn','ctlpanel SelectMoveResize', ...
	'Color',[0 0 0], ...
	'HandleVisibility','callback', ...
	'HorizontalAlignment','center', ...
	'Interruptible','off', ...
	'Position',[-39.9641 88.5 0], ...
	'Rotation',90, ...
	'Tag','Text6', ...
	'VerticalAlignment','baseline', ...
	'Visible','off');
set(get(c,'Parent'),'YLabel',c);
c = text('Parent',b, ...
	'Color',[0 0 0], ...
	'HandleVisibility','callback', ...
	'HorizontalAlignment','right', ...
	'Interruptible','off', ...
	'Position',[-166 -48.3889 0], ...
	'Tag','Text7', ...
	'Visible','off');
set(get(c,'Parent'),'ZLabel',c);
c = text('Parent',b, ...
	'ButtonDownFcn','ctlpanel SelectMoveResize', ...
	'Color',[0 0 0], ...
	'HandleVisibility','callback', ...
	'HorizontalAlignment','center', ...
	'Interruptible','off', ...
	'Position',[167 -15.7963 0], ...
	'Tag','Text8', ...
	'VerticalAlignment','bottom');
set(get(c,'Parent'),'Title',c);

%%%%%%%%%%% SYNTHESE %%%%%%%%%%%
b = uimenu('Parent',a, ...
	'Label','Synthesis', ...
	'Tag','Synthesis');
c = uimenu('Parent',b, ...
	'Label','Functions', ...
	'Tag','Functions');
d = uimenu('Parent',c, ...
	'Label','Stochastic', ...
	'Tag','Stochastic');
e = uimenu('Parent',d, ...
	'Callback','fl_callwindow(''Fig_gui_fl_fbm'',''gui_fl_fbm'');', ...
	'Label','fBm', ...
	'Tag','fBm');
e = uimenu('Parent',d, ...
	'Callback','fl_callwindow(''Fig_gui_fl_mbm'',''gui_fl_mbm'');', ...
	'Label','mBm', ...
	'Tag','mBm');
e = uimenu('Parent',d, ...
	'Callback','fl_function(''syf_fbmfwt'');', ...
	'Label','Wavelet based 1/f process', ...
	'Tag','Wavelet based 1/f process');       
e = uimenu('Parent',d, ...
	'Callback','fl_callwindow(''Fig_gui_fl_lacunary'',''gui_fl_lacunary'');', ...
	'Label','Lacunary Sequence', ...
	'Tag','lacunary');    
e = uimenu('Parent',d, ...
	'Callback','fl_callwindow(''Fig_gui_fl_stable_syn'',''gui_fl_stable_syn'');', ...
	'Label','Stable Motion', ...
	'Tag','Stable Motion');
e = uimenu('Parent',d, ...
	'Callback','fl_callwindow(''Fig_gui_fl_gifs'',''gui_fl_gifs'');', ...
	'Label','SGIFS', ...
	'Tag','SGIFS');
e = uimenu('Parent',d, ...
	'Callback','fl_function(''syf_swei'');', ...
	'Label','Weierstrass', ...
	'Tag','Weierstrass');
e = uimenu('Parent',d, ...
	'Callback','fl_function(''syf_sgwei'');', ...
	'Label','Generalized Weierstrass', ...
	'Tag','Generalized Weierstrass');
e = uimenu('Parent',d, ...
	'Callback','fl_function(''syf_stinc2d'');', ...
	'Label','2D Stationary Increments', ...
	'Tag','2D Stationary Increments');    
d = uimenu('Parent',c, ...
	'Label','Deterministic', ...
	'Tag','Deterministic');
e = uimenu('Parent',d, ...
	'Callback','fl_callwindow(''Fig_gui_fl_ifs'',''gui_fl_ifs'');', ...
	'Label','IFS', ...
	'Tag','IFS');
e = uimenu('Parent',d, ...
	'Callback','fl_callwindow(''Fig_gui_fl_prescalpha'',''gui_fl_prescalpha'');', ...
	'Label','GIFS', ...
	'Tag','GIFS');
e = uimenu('Parent',d, ...
	'Callback','fl_function(''syf_dwei'');', ...
	'Label','Weierstrass', ...
	'Tag','Weierstrass');
e = uimenu('Parent',d, ...
	'Callback','fl_function(''syf_dgwei'');', ...
	'Label','Generalized Weierstrass', ...
	'Tag','Generalized Weierstrass');
c = uimenu('Parent',b, ...
	'Label','Measures', ...
	'Tag','Measures');
d = uimenu('Parent',c, ...
	'Label','Multinomial Measures', ...
	'Callback','fl_mms(''deterministic'');', ...
	'Tag','Measures');
d = uimenu('Parent',c, ...
	'Label','Generalized Riesz Product', ...
	'Callback','fl_callwindow(''Fig_gui_fl_riesz'',''gui_fl_riesz'');', ...
	'Tag','Measures');
% c = uimenu('Parent',b, ...
% 	'Label','Measures', ...
% 	'Callback','fl_mms(''deterministic'');', ...
% 	'Tag','Measures');
% d = uimenu('Parent',c, ...
%       'Callback','fl_mms(''deterministic'');', ...
% 	'Label','Deterministic', ...
%	'Tag','M_Deterministic');
%d = uimenu('Parent',c, ...
%        'Callback','fl_mms(''stochastic'');', ...
%	'Label','Stochastic', ...
%	'Tag','M_Stochastic');


%%%%%%%%%%% SEGMENTATION %%%%%%%%%%%
b = uimenu('Parent',a, ...
	'Label','Segmentation', ...
   'Tag','Segmentation');    
c = uimenu('Parent',b, ...
    	'Callback','fl_wsamod_compute(''launch'');', ...
	'Label','1D signals WSA based segmentation', ...
	'Tag','WSA Segmentation');
c = uimenu('Parent',b, ...
    	'Callback','fl_callwindow(''gui_segmentation_control_panel'',''gui_segmentation'');', ...
	'Label','Image multifractal segmentation', ...
	'Tag','SpectrumSegmentation');

%%%%%%%%%%% DENOISING %%%%%%%%%%%
b = uimenu('Parent',a, ...
	'Label','Denoising', ...
	'Tag','Denoising');
c = uimenu('Parent',b, ...
	'Callback','fl_callwindow(''Fig_gui_fl_multden2'',''gui_fl_multden2'');', ...
	'Label','Multifractal Pumping', ...
	'Tag','Multifractal Wavelet Pumping');
c = uimenu('Parent',b, ...
	'Callback','fl_callwindow(''Fig_gui_fl_dreg'',''gui_fl_dreg'');', ...
	'Label','Multifractal Denoising (L2 norm)', ...
   'Tag','Multifractal Denoising');
c = uimenu('Parent',b, ...
	'Callback','fl_callwindow(''Fig_gui_fl_reg'',''gui_fl_reg'');', ...
	'Label','Multifractal Regularization (L2 norm)', ...
   'Tag','Multifractal Regularization');
c = uimenu('Parent',b, ...
	'Callback','fl_callwindow(''Fig_gui_fl_reglog'',''gui_fl_reglog'');', ...
	'Label','Multifractal Regularization (pseudo Kullback norm)', ...
   'Tag','Multifractal log Regularization');
c = uimenu('Parent',b, ...
	'Callback','fl_callwindow(''Fig_gui_fl_bayes'',''gui_fl_bayes'');', ...
	'Label','Multifractal Bayesian Denoising', ...
   'Tag','Multifractal Bayesian Denoising');
c = uimenu('Parent',b, ...
	'Callback','fl_callwindow(''Fig_gui_fl_shrinkden2'',''gui_fl_shrinkden2'');', ...
	'Label','Wavelet Shrinkage', ...
   'Tag','Wavelet Shrinkage');


%%%%%%%%%%% FRACTAL DIMENSION %%%%%%%%%%%
b = uimenu('Parent',a, ...
	'Label','Fractional Dimensions', ...
	'Tag','Fractal Dimension');
c = uimenu('Parent',b, ...
	'Callback','fl_dimR_init', ...
	'Label','Regularization dimension', ...
	'Tag','Regularization dimension');    
c = uimenu('Parent',b, ...
         'Callback','fl_boxdim_init', ...
	 'Label','Box dimension : Box method', ...
	'Tag','Box dimention : Box method');
c = uimenu('Parent',b, ...
	'Callback','fl_perror(''Not implemented yet: choose another'');', ...
	'Label','Box dimension : Variation method', ...
	'Tag','Box dimension : Variation method');
c = uimenu('Parent',b, ...
	'Callback','fl_perror(''Not implemented yet: choose another'');', ...
	'Label','Chemical dimension', ...
	'Tag','Chemical dimension');
c = uimenu('Parent',b, ...
	'Callback','fl_perror(''Not implemented yet: choose another'');', ...
	'Label','Lacunarity', ...
	'Tag','Lacunarity');
    
%%%%%%%%%%% 1D EXPONENTS ESTIMATION %%%%%%%%%%%
b = uimenu('Parent',a, ...
	'Label','1D Exponents Estimation', ...
	'Tag','Estimation');

    % %%%% Pointwise   
c = uimenu('Parent',b, ...
	'Label','Pointwise  Holder Exponent', ...
	'Tag','Pointwise Holder Exponent');

    % %%%% Parametric
d = uimenu('Parent',c, ...
	'Label','Parametric Estimation', ...
	'Callback','fl_callwindow(''gui_estimerH_control_panel'',''gui_estimerH'') ;', ...	
	'Tag','Parametric Estimation');

d = uimenu('Parent',c, ...
	'Callback','fl_callwindow(''Fig_gui_fl_track'',''gui_fl_track'') ;', ...
	'Label','CWT based estimation', ...
   'Tag','CWT based estimation');
d = uimenu('Parent',c, ...
	'Callback','fl_callwindow(''Fig_gui_fl_DWTestim'',''gui_fl_DWTestim'') ;', ...
	'Label','DWT based estimation', ...
	'Tag','DWT based estimation');
d = uimenu('Parent',c, ...
	'Callback','fl_alphagifs_adv_compute(''launch'');', ...
	'Label','GIFS based estimation', ...
	'Tag','GIFS based estimation');
d = uimenu('Parent',c, ...
	'Callback','fl_callwindow(''Fig_gui_fl_ocsP'',''gui_fl_ocsP'') ;', ...
	'Label','oscillation based method', ...
	'Tag','1-D  oscillation based estimation');
%d = uimenu('Parent',c, ...
%	'Callback','fl_callwindow(''Fig_gui_fl_holder2d'',''gui_fl_holder2d'') ;', ...
%	'Label','2-D direct estimation', ...
%	'Tag','2-D direct estimation');
  
% %%%% Local
c = uimenu('Parent',b, ...
	'Label','Local Holder Exponent', ...
	'Tag','Local Holder Exponent');

d = uimenu('Parent',c, ...
	'Callback','fl_callwindow(''Fig_gui_fl_ocsL'',''gui_fl_ocsL'') ;', ...
	'Label','oscillation based method', ...
	'Tag','1-D oscillation based estimation');
    
    
% %%%% LongRange dependance
c = uimenu('Parent',b, ...
	'Label','LRD Exponent', ...
	'Tag','LRD Exponent');
d = uimenu('Parent',c, ...
	'Callback','fl_callwindow(''Fig_gui_fl_longrange'',''gui_fl_longrange'') ;', ...
	'Label','CWT based estimation', ...
	'Tag','CWT based estimation');
%d = uimenu('Parent',c, ...
%	'Callback','fl_perror(''Not implemented yet: choose another'');', ...
%	'Label','Other methods', ...
%	'Tag','Other methods');
c = uimenu('Parent',b, ...
	'Label','Stable Processes', ...
	'Tag','Stable Processes');
d = uimenu('Parent',c, ...
	'Callback','fl_stable_function(''mn_culloch'');', ...
	'Label','Mc Culloch Method', ...
	'Tag','Mc Culloch Method');
d = uimenu('Parent',c, ...
	'Callback','fl_stable_function(''mn_koutrouvelis'');', ...
	'Label','Koutrouvelis Method', ...
	'Tag','Koutrouvelis Method');
c = uimenu('Parent',b, ...
	'Label','2-microlocal Exponent', ...
	'Tag','2-microlocal Exponent');
d = uimenu('Parent',c, ...
    	'Callback','fl_callwindow(''gui_fl_tml'',''gui_fl_tml'');', ...
	'Label','Oscillation based (1)', ...
	'Tag','Oscillation');
d = uimenu('Parent',c, ...
	'Label','Oscillation based (2)', ...
	'Tag','Oscillation based (2)');
e = uimenu('Parent', d, ...
    	'Callback','fl_callwindow(''gui_ml2frontier'',''gui_ml2frontier'');', ...
	'Label','One point estimation', ...
	'Tag','Oscml2frontier');
e = uimenu('Parent', d, ...
    	'Callback','fl_callwindow(''gui_ml2spectrum'',''gui_ml2spectrum'');', ...
	'Label','Interval estimation', ...
	'Tag','Oscml2spectrum');
%d = uimenu('Parent',c, ...
%        'Callback','fl_perror(''Not implemented Yet: Choose another'');', ...
%	'Label','CWT based estimation', ...
%	'Tag','CWT based estimation');
%d = uimenu('Parent',c, ...
%        'Callback','fl_perror(''Not implemented yet: choose another'');', ...
%	'Label','DWT based method', ...
%	'Tag','DWT based method');
%d = uimenu('Parent',c, ...
%	'Callback','fl_perror(''Not implemented yet: choose another'');', ...
%	'Label','Other methods', ...
%	'Tag','Other methods');


%%%%%%%%%%% 1D SIGNALS MULTI FRACTAL SPECTRA %%%%%%%%%%%
b = uimenu('Parent',a, ...
	'Label','1D signals Multifractal Spectra', ...
	'Tag','Multifractal Spectra');
c = uimenu('Parent',b, ...
	'Label','Functions', ...
	'Tag','MS_Functions');
d = uimenu('Parent',c, ...
	'Label','Legendre Spectrum', ...
	'Tag','F_Legendre Spectrum');
e = uimenu('Parent',d, ...
        'Callback','fl_dwtspec_compute(''SpecFunc'') ; ', ...
	'Label','DWT based', ...
	'Tag','DWT based');
e = uimenu('Parent',d, ...
        'Callback','fl_cwtspec_compute(''SpecFunc'') ; ', ...
	'Label','CWT based', ...
	'Tag','CWT based');
e = uimenu('Parent',d, ...
	'Label','Box Method', ...
	'Tag','F_Box Method');
f = uimenu('Parent',e, ...
	'Callback','eval([''global '' fl_lse(''fbasic'',who)]);', ...
	'Label','Basic parameters', ...
	'Tag','FLSE_Basic');
%f = uimenu('Parent',e, ...
%	'Callback','fl_lse(''fadvanced'');', ...
%	'Label','Advanced parameters', ...
%	'Tag','FLSE_Advanced'); 
d = uimenu('Parent',c, ...
	'Label','Large deviation Spectrum', ...
	'Tag','F_Large deviation Spectrum');
e = uimenu('Parent',d, ...
	'Callback','eval([''global '' fl_ldse(''fbasic'',who)]);', ...
	'Label','Basic parameters', ...
	'Tag','FLDSE_Basic');
e = uimenu('Parent',d, ...
	'Callback','fl_ldse(''fadvanced'',who);', ...
	'Label','Advanced parameters', ...
	'Tag','FLDSE_Advanced');    
c = uimenu('Parent',b, ...
	'Label','Measures', ...
	'Tag','MS_Measures');
d = uimenu('Parent',c, ...
	'Label','Legendre Spectrum', ...
	'Tag','M_Legendre Spectrum');
e = uimenu('Parent',d, ...
        'Callback','fl_dwtspec_compute(''SpecMeas'') ; ', ...
	'Label','DWT based', ...
	'Tag','DWT based');
e = uimenu('Parent',d, ...
        'Callback','fl_cwtspec_compute(''SpecMeas'') ; ', ...
	'Label','CWT based', ...
	'Tag','CWT based');
e = uimenu('Parent',d, ...
	'Label','Box Method', ...
	'Tag','M_Box Method');
f = uimenu('Parent',e, ...
	'Callback','eval([''global '' fl_lse(''mbasic'',who)]);', ...
	'Label','Basic parameters', ...
	'Tag','MLSE_Basic');
%f = uimenu('Parent',e, ...
	%'Callback','eval([''global '' fl_lse(''madvanced'',who)]);', ...
	%'Label','Advanced parameters', ...
	%'Tag','MLSE_Advanced'); 
d = uimenu('Parent',c, ...
	'Label','Large Deviation Spectrum', ...
	'Tag','M_Large Deviation Spectrum');
e = uimenu('Parent',d, ...
	'Callback','eval([''global '' fl_ldse(''mbasic'',who)]);', ...
	'Label','Basic parameters', ...
	'Tag','MLDSE_Basic');
%e = uimenu('Parent',d, ...
%	'Callback','fl_ldse(''madvanced'');', ...
%	'Label','Advanced parameters', ...
%	'Tag','MLDSE_Advanced');
d = uimenu('Parent',c, ...
	'Callback','fl_perror(''Not implemented Yet: Choose another'');', ...
	'Label','Tricot Spectrum', ...
	'Tag','M_Tricot Spectrum');
d = uimenu('Parent',c, ...
	'Callback','fl_perror(''Not implemented Yet: Choose another'');', ...
	'Label','Hausdorff Spectrum', ...
	'Tag','M_Hausdorff Spectrum');

%%%%%%%%%%% STABLE MOTION %%%%%%%%%%%    
b = uimenu('Parent',a, ...
	'Label','Stable Motion', ...
	'Tag','Stable Processes');
c = uimenu('Parent',b, ...
	'Callback','fl_callwindow(''Fig_gui_fl_stable_syn'',''gui_fl_stable_syn'');', ...
	'Label','Synthesis', ...
	'Tag','Synthesis');
c = uimenu('Parent',b, ...
	'Callback','fl_stable_function(''mn_culloch'');', ...
	'Label','Mc Culloch Method for Parameters Estimation', ...
	'Tag','Mc Culloch Method for Parameters Estimation');
c = uimenu('Parent',b, ...
	'Callback','fl_stable_function(''mn_koutrouvelis'');', ...
	'Label','Koutrouvelis Method for Parameters Estimation', ...
	'Tag','Koutrouvelis Method for Parameters Estimation');
c = uimenu('Parent',b, ...
	'Callback','fl_stable_function(''mn_test_stab'');', ...
	'Label','Test of stability', ...
	'Tag','Test of stability');
c = uimenu('Parent',b, ...
	'Callback','fl_perror(''Not implemented yet: choose another'');', ...
	'Label','Spectral Measure Estimation', ...
	'Tag','Spectral Measure Estimation');
c = uimenu('Parent',b, ...
	'Callback','fl_perror(''Not implemented yet: choose another'');', ...
	'Label','Covariation Estimation', ...
	'Tag','Covariation Estimation');
    
%%%%%%%%%%% TF/TS %%%%%%%%%%% 
b = uimenu('Parent',a, ...
	'Label','TF / TS', ...
	'Tag','TFTS');
c = uimenu('Parent',b, ...
	'Callback','fl_function(''tfts_cwt'');', ...
	'Label','Continuous WT', ...
	'Tag','Continuous WT');
c = uimenu('Parent',b, ...
	'Callback','fl_function(''tfts_dwt'');', ...
	'Label','Discrete WT', ...
	'Tag','Discrete WT');
c = uimenu('Parent',b, ...
	'Callback','fl_function(''tfts_paw'');', ...
	'Label','Pseudo Affine Wigner', ...
	'Tag','Pseudo Affine Wigner');
    
%%%%%%%%%%% MISC. %%%%%%%%%%% 
b = uimenu('Parent',a, ...
	'Label','Misc', ...
	'Tag','Misc');
c = uimenu('Parent',b, ...
	'Callback','gui_fl_create_cwt;', ...
	'Label','Create cwt  ', ...
	'Tag','Create_cwt');
c = uimenu('Parent',b, ...
	'Callback','gui_fl_create_dwt;', ...
	'Label','Create dwt', ...
	'Tag','Create_dwt');
c = uimenu('Parent',b, ...
	'Callback','gui_fl_create_graph;', ...
	'Label','Create graph  ', ...
	'Tag','Create_graph');
c = uimenu('Parent',b, ...
	'Callback','gui_fl_create_matrix;', ...
	'Label','Create matrix  ', ...
	'Tag','Create_matrix');
c = uimenu('Parent',b, ...
	'Callback','gui_extract_matrix;', ...
	'Label','Extract matrix  ', ...
	'Tag','Extract_matrix');
c = uimenu('Parent',b, ...
	'Callback','gui_oper_matrix;', ...
	'Label','Matrix Computation', ...
	'Tag','oper_matrix');

%%%%%%%%%%% HELPS %%%%%%%%%%% 
b = uimenu('Parent',a, ...
	'Label','Helps', ...
	'Tag','Helps');
c = uimenu('Parent',b, ...
	'Callback','helpwin help_aidegen;', ...
	'Label','General');
c = uimenu('Parent',b, ...
	'Callback','helpwin help_1D_exponents;', ...
	'Label','1D Exponents');
c = uimenu('Parent',b, ...
	'Callback','helpwin help_1D_spectra;', ...
	'Label','1D Spectra');
c = uimenu('Parent',b, ...
	'Callback','helpwin help_denoising;', ...
	'Label','Denoising');
c = uimenu('Parent',b, ...
	'Callback','helpwin help_fdim;', ...
	'Label','Fractal dimensions');
c = uimenu('Parent',b, ...
	'Callback','helpwin help_segmentation;', ...
	'Label','Segmentation');
c = uimenu('Parent',b, ...
	'Callback','helpwin help_synthesis;', ...
	'Label','Synthesis');
c = uimenu('Parent',b, ...
	'Callback','helpwin help_stable_motion;', ...
	'Label','Stable Motion');
c = uimenu('Parent',b, ...
	'Callback','helpwin help_TFTS;', ...
	'Label','TF / TS');
c = uimenu('Parent',b, ...
	'Callback','helpwin help_misc;', ...
	'Label','Misc');  
