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

波变换

开发平台:

Matlab

  1. function varargout = wfbmtool(varargin)
  2. %WFBMTOOL Fractional Brownian motion generation tool.
  3. %   VARARGOUT = WFBMTOOL(VARARGIN)
  4. % WFBMTOOL M-file for wfbmtool.fig
  5. %      WFBMTOOL, by itself, creates a new WFBMTOOL or raises the existing
  6. %      singleton*.
  7. %
  8. %      H = WFBMTOOL returns the handle to a new WFBMTOOL or the handle to
  9. %      the existing singleton*.
  10. %
  11. %      WFBMTOOL('Property','Value',...) creates a new WFBMTOOL using the
  12. %      given property value pairs. Unrecognized properties are passed via
  13. %      varargin to wfbmtool_OpeningFcn.  This calling syntax produces a
  14. %      warning when there is an existing singleton*.
  15. %
  16. %      WFBMTOOL('CALLBACK') and WFBMTOOL('CALLBACK',hObject,...) call the
  17. %      local function named CALLBACK in WFBMTOOL.M with the given input
  18. %      arguments.
  19. %
  20. %      *See GUI Options on GUIDE's Tools menu.  Choose "GUI allows only one
  21. %      instance to run (singleton)".
  22. %
  23. % See also: GUIDE, GUIDATA, GUIHANDLES
  24. % Last Modified by GUIDE v2.5 15-Dec-2003 15:21:36
  25. %
  26. %   M. Misiti, Y. Misiti, G. Oppenheim, J.M. Poggi 01-Feb-2003.
  27. %   Last Revision: 13-Sep-2003.
  28. %   Copyright 1995-2004 The MathWorks, Inc.
  29. %   $Revision: 1.1.6.2 $  $Date: 2004/03/15 22:42:46 $ 
  30. %*************************************************************************%
  31. %                BEGIN initialization code - DO NOT EDIT                  %
  32. %                ----------------------------------------                 %
  33. %*************************************************************************%
  34. gui_Singleton = 0;
  35. gui_State = struct('gui_Name',       mfilename, ...
  36.                    'gui_Singleton',  gui_Singleton, ...
  37.                    'gui_OpeningFcn', @wfbmtool_OpeningFcn, ...
  38.                    'gui_OutputFcn',  @wfbmtool_OutputFcn, ...
  39.                    'gui_LayoutFcn',  [], ...
  40.                    'gui_Callback',   []);
  41. if nargin & isstr(varargin{1})
  42.     gui_State.gui_Callback = str2func(varargin{1});
  43. end
  44. if nargout
  45.     [varargout{1:nargout}] = gui_mainfcn(gui_State, varargin{:});
  46. else
  47.     gui_mainfcn(gui_State, varargin{:});
  48. end
  49. %*************************************************************************%
  50. %                END initialization code - DO NOT EDIT                    %
  51. %*************************************************************************%
  52. %*************************************************************************%
  53. %                BEGIN Opening Function                                   %
  54. %                ----------------------                                   %
  55. % --- Executes just before wfbmtool is made visible.                      %
  56. %*************************************************************************%
  57. function wfbmtool_OpeningFcn(hObject, eventdata, handles, varargin)
  58. % This function has no output args, see OutputFcn.
  59. % hObject    handle to figure
  60. % eventdata  reserved - to be defined in a future version of MATLAB
  61. % handles    structure with handles and user data (see GUIDATA)
  62. % varargin   unrecognized PropertyName/PropertyValue pairs from the
  63. %            command line (see VARARGIN)
  64. % Choose default command line output for wfbmtool
  65. handles.output = hObject;
  66. % Update handles structure
  67. guidata(hObject, handles);
  68. % UIWAIT makes wfbmtool wait for user response (see UIRESUME)
  69. % uiwait(handles.wfbmtool_Win);
  70. %%!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!%
  71. % TOOL INITIALISATION Intoduced manualy in the automatic generated code   %
  72. %%!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!%
  73. Init_Tool(hObject,eventdata,handles);
  74. %*************************************************************************%
  75. %                END Opening Function                                     %
  76. %*************************************************************************%
  77. %*************************************************************************%
  78. %                BEGIN Output Function                                    %
  79. %                ---------------------                                    %
  80. % --- Outputs from this function are returned to the command line.        %
  81. %*************************************************************************%
  82. function varargout = wfbmtool_OutputFcn(hObject, eventdata, handles)
  83. % varargout  cell array for returning output args (see VARARGOUT);
  84. % hObject    handle to figure
  85. % eventdata  reserved - to be defined in a future version of MATLAB
  86. % handles    structure with handles and user data (see GUIDATA)
  87. % Get default command line output from handles structure
  88. varargout{1} = handles.output;
  89. %*************************************************************************%
  90. %                END Output Function                                      %
  91. %*************************************************************************%
  92. %=========================================================================%
  93. %                BEGIN Create Functions                                   %
  94. %                ----------------------                                   %
  95. % --- Executes during object creation, after setting all properties.      %
  96. %=========================================================================%
  97. function EdiPop_CreateFcn(hObject,eventdata,handles)
  98. % hObject    handle to Edi_Object or Pop_Object (see GCBO)
  99. % eventdata  reserved - to be defined in a future version of MATLAB
  100. % handles    empty - handles not created until after all CreateFcns called
  101. % Hint: edit controls usually have a white background on Windows.
  102. % Hint: popupmenu controls usually have a white background on Windows.
  103. % See ISPC and COMPUTER.
  104. if ispc
  105.     % set(hObject,'BackgroundColor','white');
  106.     set(hObject,'BackgroundColor',get(0,'defaultUicontrolBackgroundColor'));
  107. else
  108.     set(hObject,'BackgroundColor',get(0,'defaultUicontrolBackgroundColor'));
  109. end
  110. %--------------------------------------------------------------------------
  111. function Sli_CreateFcn(hObject, eventdata, handles)
  112. % hObject    handle to Sli_Object (see GCBO)
  113. % eventdata  reserved - to be defined in a future version of MATLAB
  114. % handles    empty - handles not created until after all CreateFcns called
  115. % Hint: slider controls usually have a light gray background, change
  116. %       'usewhitebg' to 0 to use default.  See ISPC and COMPUTER.
  117. usewhitebg = 1;
  118. if usewhitebg
  119.     set(hObject,'BackgroundColor',[.9 .9 .9]);
  120. else
  121.     set(hObject,'BackgroundColor',get(0,'defaultUicontrolBackgroundColor'));
  122. end
  123. %--------------------------------------------------------------------------
  124. %=========================================================================%
  125. %                END Create Functions                                     %
  126. %=========================================================================%
  127. %=========================================================================%
  128. %                BEGIN Callback Functions                                 %
  129. %                ------------------------                                 %
  130. %=========================================================================%
  131. % --- Executes on selection change in Pop_Wav_Fam.
  132. function Pop_Wav_Fam_Callback(hObject, eventdata, handles)
  133. % hObject    handle to Pop_Wav_Fam (see GCBO)
  134. % eventdata  reserved - to be defined in a future version of MATLAB
  135. % handles    structure with handles and user data (see GUIDATA)
  136. cbanapar('cba_fam',gcbf,[],guidata(gcbo));
  137. %--------------------------------------------------------------------------
  138. % --- Executes on selection change in Pop_Wav_Num.
  139. function Pop_Wav_Num_Callback(hObject, eventdata, handles)
  140. % hObject    handle to Pop_Wav_Num (see GCBO)
  141. % eventdata  reserved - to be defined in a future version of MATLAB
  142. % handles    structure with handles and user data (see GUIDATA)
  143. cbanapar('cba_num',gcbf,[],guidata(gcbo));
  144. %--------------------------------------------------------------------------
  145. % --- Executes on selection change in Pop_Refinement.
  146. function Pop_Refinement_Callback(hObject, eventdata, handles)
  147. % hObject    handle to Pop_Refinement (see GCBO)
  148. % eventdata  reserved - to be defined in a future version of MATLAB
  149. % handles    structure with handles and user data (see GUIDATA)
  150. %--------------------------------------------------------------------------
  151. % --- Executes on button press in Edi_Length.
  152. function Edi_Length_Callback(hObject, eventdata, handles)
  153. % hObject    handle to Edi_Length (see GCBO)
  154. % eventdata  reserved - to be defined in a future version of MATLAB
  155. % handles    structure with handles and user data (see GUIDATA)
  156. FieldDefault ='1000';
  157. Val_Length = str2double(get(hObject,'String'));
  158. if ~isequal(Val_Length,fix(Val_Length)) || ...
  159.     Val_Length < 100 || isnan(Val_Length)
  160.     set(hObject,'String',FieldDefault);
  161. end
  162. %--------------------------------------------------------------------------
  163. % --- Executes on slider movement.
  164. function Sli_Fractal_Index_Callback(hObject, eventdata, handles)
  165. % hObject    handle to Sli_Fractal_Index (see GCBO)
  166. % eventdata  reserved - to be defined in a future version of MATLAB
  167. % handles    structure with handles and user data (see GUIDATA)
  168. Val_Index = get(hObject,'Value');
  169. set(handles.Edi_Fractal_Index,'string',Val_Index);
  170. %--------------------------------------------------------------------------
  171. % --- Executes on button press in Edi_Fractal_Index.
  172. function Edi_Fractal_Index_Callback(hObject, eventdata, handles)
  173. % hObject    handle to Edi_Fractal_Index (see GCBO)
  174. % eventdata  reserved - to be defined in a future version of MATLAB
  175. % handles    structure with handles and user data (see GUIDATA)
  176. FieldDefault ='0.6';
  177. Val_Index = str2double(get(hObject,'String'));
  178. if Val_Index < 0 || Val_Index > 1 || isnan(Val_Index)
  179.     set(hObject,'String',FieldDefault);
  180.     set(handles.Sli_Fractal_Index,'Value',str2double(FieldDefault));
  181. else
  182.     set(handles.Sli_Fractal_Index,'Value',Val_Index);
  183. end
  184. %--------------------------------------------------------------------------
  185. % --- Executes on button press in Rad_Random.
  186. function Rad_Random_Callback(hObject, eventdata, handles)
  187. % hObject    handle to Rad_Random (see GCBO)
  188. % eventdata  reserved - to be defined in a future version of MATLAB
  189. % handles    structure with handles and user data (see GUIDATA)
  190. set(hObject,'Value',1);
  191. set(handles.Rad_Value,'Value',0);
  192. set(handles.Edi_Value,'enable','off');
  193. %--------------------------------------------------------------------------
  194. % --- Executes on button press in Rad_Value.
  195. function Rad_Value_Callback(hObject, eventdata, handles)
  196. % hObject    handle to Rad_Value (see GCBO)
  197. % eventdata  reserved - to be defined in a future version of MATLAB
  198. % handles    structure with handles and user data (see GUIDATA)
  199. set(hObject,'Value',1);
  200. set(handles.Rad_Random,'Value',0);
  201. set(handles.Edi_Value,'enable','on');
  202. %--------------------------------------------------------------------------
  203. % --- Executes on button press in Edi_Value.
  204. function Edi_Value_Callback(hObject, eventdata, handles)
  205. % hObject    handle to Edi_Value (see GCBO)
  206. % eventdata  reserved - to be defined in a future version of MATLAB
  207. % handles    structure with handles and user data (see GUIDATA)
  208. FieldDefault ='1';
  209. Val_Value = str2double(get(hObject,'String'));
  210. if ~isequal(Val_Value,fix(Val_Value)) || Val_Value < 0 || isnan(Val_Value)
  211.     set(hObject,'String',FieldDefault);
  212. end
  213. %--------------------------------------------------------------------------
  214. % --- Executes on button press in Pus_Generate.
  215. function Pus_Generate_Callback(hObject, eventdata, handles)
  216. % hObject    handle to Pus_Generate (see GCBO)
  217. % eventdata  reserved - to be defined in a future version of MATLAB
  218. % handles    structure with handles and user data (see GUIDATA)
  219. % Get figure handle.
  220. %-------------------
  221. hFig = handles.output;
  222. % Cleaning.
  223. %----------
  224. wwaiting('msg',hFig,'Wait ... cleaning');
  225. cleanTOOL(handles);
  226. % Computing.
  227. %-----------
  228. wwaiting('msg',hFig,'Wait ... computing');
  229. % Get all the parameter settings.
  230. %--------------------------------
  231. % Wavelet used
  232. Wav = cbanapar('get',hFig,'wav');                           
  233. % Signal length (string)
  234. Val_Length_Str = get(handles.Edi_Length,'String');                     
  235. % Signal length (numeric)
  236. Val_Length_Num = str2double(Val_Length_Str);                           
  237. % Fractal index (string)
  238. H = get(handles.Edi_Fractal_Index,'String');              
  239. % Fractal index (numeric)
  240. Val_Index = str2double(H);                                        
  241. % Matrix of Refinement values
  242. Val_Refinement = str2double(get(handles.Pop_Refinement,'String'));     
  243. % Current Refinement value
  244. Val_Refinement = Val_Refinement(get(handles.Pop_Refinement,'Value'));  
  245. % Check if a value is used for seed
  246. if get(handles.Rad_Value,'Value')                                       
  247.     % Set seed generator with this value
  248.     randn('state',str2double(get(handles.Edi_Value,'String')));         
  249. end
  250. % Compute Fractional Brownian Motion signal.
  251. %-------------------------------------------
  252. FBM_PARAMS.SEED = randn('state');
  253. FBM = wfbm(Val_Index,Val_Length_Num,Val_Refinement,Wav);
  254. % Synthesized Fractional Brownian Motion axes display.
  255. %-----------------------------------------------------
  256. axes(handles.Axe_FBM);
  257. TFBM = 0:length(FBM)-1;
  258. ext  = abs(max(FBM) - min(FBM)) / 100;
  259. Ylim = [min(FBM)-ext max(FBM)+ext];
  260. Xlim = [TFBM(1) TFBM(end)];
  261. line(TFBM,FBM,'color','r');
  262. set(handles.Axe_FBM,'Xlim',Xlim,'Ylim',Ylim);
  263. FBM_title = ['Synthesized Fractional Brownian Motion ', ...
  264.              'of parameter H = ',H,' using ',Wav];
  265. setAxesTitle(handles.Axe_FBM,FBM_title);
  266. % First order increments axes display.
  267. %-------------------------------------
  268. FBM1Dif = diff(FBM);
  269. axes(handles.Axe_1Dif);
  270. line(0:length(FBM1Dif)-1,FBM1Dif,'color','g');
  271. ext = abs(max(FBM1Dif) - min(FBM1Dif)) / 100;
  272. Ylim = [min(FBM1Dif)-ext max(FBM1Dif)+ext];
  273. set(handles.Axe_1Dif,'Xlim',Xlim,'Ylim',Ylim);
  274. % Set the axes visible.
  275. %----------------------
  276. set(handles.Axe_FBM,'Visible','on');
  277. set(handles.Axe_1Dif,'Visible','on');
  278. % Enable the Statistics Push_Button.
  279. %-----------------------------------
  280. set(handles.Pus_Statistics,'enable','on');
  281. % get Menu Handles.
  282. %------------------
  283. hdl_Menus = wtbxappdata('get',hFig,'hdl_Menus');
  284. % Enable the Save Synthetisized signal Menu item.
  285. %------------------------------------------------
  286. set(hdl_Menus.m_save,'enable','on');
  287. % Update Generated FBM Parameters.
  288. %---------------------------------
  289. FBM_PARAMS.FBM          = FBM;
  290. FBM_PARAMS.Wav          = Wav;
  291. FBM_PARAMS.Length       = Val_Length_Num;
  292. FBM_PARAMS.H            = Val_Index;
  293. FBM_PARAMS.Refinement   = Val_Refinement;
  294. wtbxappdata('set',hFig,'FBM_PARAMS',FBM_PARAMS);
  295. % Init DynVTool.
  296. %---------------
  297. axe_IND = [];
  298. axe_CMD = [...
  299.         handles.Axe_FBM , ...
  300.         handles.Axe_1Dif ...
  301.     ];
  302. axe_ACT = [];
  303. dynvtool('init',hFig,axe_IND,axe_CMD,axe_ACT,[1 0],'','','');
  304. % End waiting.
  305. %-------------
  306. wwaiting('off',hFig);
  307. %--------------------------------------------------------------------------
  308. % --- Executes on button press in Pus_Statistics.
  309. function Pus_Statistics_Callback(hObject, eventdata, handles)
  310. % hObject    handle to Pus_Statistics (see GCBO)
  311. % eventdata  reserved - to be defined in a future version of MATLAB
  312. % handles    structure with handles and user data (see GUIDATA)
  313. % Get figure handle.
  314. %-------------------
  315. hFig = handles.output;
  316. % get Tool Parameters.
  317. %---------------------
  318. FBM_PARAMS = wtbxappdata('get',hFig,'FBM_PARAMS');
  319. % Call the wfbmstat figure and pass the FBM_PARAMS structure.
  320. %------------------------------------------------------------
  321. wfbmstat('WfbmtoolCall_Callback',hFig,[],handles,FBM_PARAMS);
  322. %--------------------------------------------------------------------------
  323. % --- Executes on button press in Pus_CloseWin.
  324. function Pus_CloseWin_Callback(hObject, eventdata, handles)
  325. % hObject    handle to Pus_CloseWin (see GCBO)
  326. % eventdata  reserved - to be defined in a future version of MATLAB
  327. % handles    structure with handles and user data (see GUIDATA)
  328. hdl_Menus = wtbxappdata('get',hObject,'hdl_Menus');
  329. m_save = hdl_Menus.m_save;
  330. ena_Save = get(m_save,'Enable');
  331. if isequal(lower(ena_Save),'on')
  332.     hFig = get(hObject,'Parent');
  333.     status = wwaitans({hFig,'Fractional Brownian Motion'},...
  334.         'Save the synthesized signal ?',2,'Cancel');
  335.     switch status
  336.         case -1 , return;
  337.         case  1
  338.             Men_SavSynthSig_Callback(m_save, eventdata, handles)
  339.         otherwise
  340.     end
  341. end
  342. close(gcbf)
  343. %--------------------------------------------------------------------------
  344. %=========================================================================%
  345. %                END Callback Functions                                   %
  346. %=========================================================================%
  347. %=========================================================================%
  348. %                BEGIN Callback Menus                                     %
  349. %                --------------------                                     %
  350. %=========================================================================%
  351. % --- Executes on menu item press in File ---> Save Synthesized Signal.
  352. function Men_SavSynthSig_Callback(hObject, eventdata, handles)
  353. % hObject    handle to Men_SavSynthSig (see GCBO)
  354. % eventdata  reserved - to be defined in a future version of MATLAB
  355. % handles    structure with handles and user data (see GUIDATA)
  356. % Get figure handle.
  357. %-------------------
  358. hFig = handles.output;
  359. % Begin waiting.
  360. %---------------
  361. wwaiting('msg',hFig,'Wait ... saving');
  362. % Update Tool Parameters.
  363. %------------------------
  364. FBM_PARAMS = wtbxappdata('get',hFig,'FBM_PARAMS');
  365. % Testing file.
  366. %--------------
  367. [filename,pathname,ok] = utguidiv('test_save',hFig, ...
  368.     '*.mat','Save Synthesized Signal');
  369. if ~ok,
  370.     wwaiting('off',hFig);   % End waiting.
  371.     return; 
  372. end
  373. % Saving file.
  374. %-------------
  375. [name,ext] = strtok(filename,'.');
  376. if isempty(ext) | isequal(ext,'.')
  377.     ext = '.mat'; filename = [name ext];
  378. end
  379. try
  380.     eval([name ' = FBM_PARAMS.FBM;']);
  381.     FBM_PARAMS = rmfield(FBM_PARAMS,'FBM');
  382.     save([pathname filename],name,'FBM_PARAMS','-mat');
  383. catch          
  384.     errargt(mfilename,'Save FAILED !','msg');
  385. end
  386. % End waiting.
  387. %-------------
  388. wwaiting('off',hFig);
  389. %--------------------------------------------------------------------------
  390. function close_FUN(hObject,eventdata,handles)
  391. Pus_CloseWin = handles.Pus_CloseWin;
  392. Pus_CloseWin_Callback(Pus_CloseWin,eventdata,handles);
  393. %--------------------------------------------------------------------------
  394. %=========================================================================%
  395. %                END Callback Menus                                       %
  396. %=========================================================================%
  397. %=========================================================================%
  398. %                BEGIN Tool Initialization                                %
  399. %                -------------------------                                %
  400. %=========================================================================%
  401. function Init_Tool(hObject, eventdata, handles)
  402. % WTBX -- Install DynVTool.
  403. %--------------------------
  404. dynvtool('Install_V3',hObject,handles);
  405. % WTBX -- Install MENUS.
  406. %-----------------------
  407. wfigmngr('extfig',hObject,'ExtFig_GUIDE');
  408. wfigmngr('attach_close',hObject);
  409. set(hObject,'HandleVisibility','On');
  410. hdl_Menus = Install_MENUS(hObject);
  411. wtbxappdata('set',hObject,'hdl_Menus',hdl_Menus);
  412. % WTBX -- Install ANAPAR FRAME.
  413. %------------------------------
  414. wnameDEF  = 'db10';  
  415. utanapar('Install_V3_CB',hObject,'wtype','owt');
  416. set(hObject,'Visible','On'); pause(0.01) %%% MiMi : BUG MATLAB %%%
  417. cbanapar('set',hObject,'wav',wnameDEF);
  418. % Set Title in the FBM axes (first time).
  419. %----------------------------------------
  420. title = 'Synthesized Fractional Brownian Motion';
  421. setAxesTitle(handles.Axe_FBM,title);
  422. % Set Title in the 1Dif axes (first time).
  423. %-----------------------------------------
  424. title = 'First order increments';
  425. setAxesTitle(handles.Axe_1Dif,title);
  426. % End Of initialization.
  427. %-----------------------
  428. redimfig('On',hObject);
  429. set(hObject,'HandleVisibility','Callback');
  430. %=========================================================================%
  431. %                END Tool Initialization                                  %
  432. %=========================================================================%
  433. %=========================================================================%
  434. %                BEGIN CleanTOOL function                                 %
  435. %                ------------------------                                 %
  436. %=========================================================================%
  437. function cleanTOOL(handles)
  438. hAXES = [handles.Axe_FBM, handles.Axe_1Dif];
  439. hLINES = findobj(hAXES,'type','line');
  440. set(hAXES,'Visible','off');
  441. delete(hLINES);
  442. set(handles.Pus_Statistics,'enable','off');
  443. %--------------------------------------------------------------------------
  444. %=========================================================================%
  445. %                END CleanTOOL function                                   %
  446. %=========================================================================%
  447. %=========================================================================%
  448. %                BEGIN Internal Functions                                 %
  449. %                ------------------------                                 %
  450. %=========================================================================%
  451. function hdl_Menus = Install_MENUS(hFig)
  452. % Add UIMENUS.
  453. %-------------
  454. m_files  = wfigmngr('getmenus',hFig,'file');
  455. m_close  = wfigmngr('getmenus',hFig,'close');
  456. % cb_close = [mfilename '(''close_FUN'',gcbo,[],guidata(gcbo));'];
  457. cb_close = [mfilename '(''Pus_CloseWin_Callback'',gcbo,[],guidata(gcbo));'];
  458. set(m_close,'Callback',cb_close);
  459. m_save   = uimenu(m_files,                  ...
  460.     'Label','&Save Synthesized Signal',     ...
  461.     'Position',1,                           ...
  462.     'Enable','Off',                         ...
  463.     'Callback',                             ...
  464.     [mfilename '(''Men_SavSynthSig_Callback'',gcbo,[],guidata(gcbo));']  ...
  465.     );
  466. % Add Help for Tool.
  467. %------------------
  468. wfighelp('addHelpTool',hFig,'&Fractional Brownian Motion Synthesis','WFBM_GUI');
  469. % Add Help Item.
  470. %----------------
  471. % wfighelp('addHelpItem',hFig,'Continuous Transform','CW_TRANSFORM');
  472. % Menu handles.
  473. %----------------
  474. hdl_Menus = struct('m_files',m_files,'m_save',m_save,'m_close',m_close);
  475. %-------------------------------------------------------------------------
  476. %=========================================================================%
  477. %                END Internal Functions                                   %
  478. %=========================================================================%
  479. %=========================================================================%
  480. %                BEGIN General Utilities                                  %
  481. %                -----------------------                                  %
  482. %=========================================================================%
  483. function setAxesTitle(axe,label)
  484. axes(axe); 
  485. title(label,'Color','k','FontWeight','demi','Units','normalized','Fontsize',9);
  486. %--------------------------------------------------------------------------
  487. function setAxesXlabel(axe,label)
  488. axes(axe); 
  489. xlabel(label,'Color','k','FontWeight','demi','normalized','Fontsize',9);
  490. %--------------------------------------------------------------------------
  491. function setAxesYlabel(axe,label)
  492. axes(axe); 
  493. ylabel(label,'Color','k','FontWeight','demi','normalized','Fontsize',9);
  494. %--------------------------------------------------------------------------
  495. %=========================================================================%
  496. %                END Tool General Utilities                               %
  497. %=========================================================================%
  498. %=========================================================================%
  499. %                      BEGIN Demo Utilities                               %
  500. %                      ---------------------                              %
  501. %=========================================================================%
  502. function closeDEMO(hFig,eventdata,handles,varargin)
  503. close(hFig);
  504. %----------------------------------------------------------
  505. function demoPROC(hFig,eventdata,handles,varargin)
  506. % Initialization for next plot
  507. tool_PARAMS = wtbxappdata('get',hFig,'tool_PARAMS');
  508. tool_PARAMS.demoMODE = 'on';
  509. wtbxappdata('set',hFig,'tool_PARAMS',tool_PARAMS );
  510. set(hFig,'HandleVisibility','On')
  511. handles  = guidata(hFig);
  512. paramDEM = varargin{1};
  513. hFbmVal = paramDEM{1,1};
  514. typeDEM = paramDEM{1,2};
  515. hdl_WinFbmStat = wtbxappdata('get',hFig,'hdl_WinFbmStat');
  516. if ishandle(hdl_WinFbmStat) , delete(hdl_WinFbmStat); end
  517. switch typeDEM
  518.     case 'generate'
  519.         Pus_Generate = handles.Pus_Generate;
  520.         Edi_Fractal_Index = handles.Edi_Fractal_Index;
  521.         Sli_Fractal_Index = handles.Sli_Fractal_Index;
  522.         set(Sli_Fractal_Index,'Value',hFbmVal);
  523.         set(Edi_Fractal_Index,'String',num2str(hFbmVal));
  524.         Pus_Generate_Callback(Pus_Generate,eventdata,handles);
  525.     case 'statistics'
  526.         Pus_Statistics = handles.Pus_Statistics;
  527.         OldFig = allchild(0);
  528.         Pus_Statistics_Callback(Pus_Statistics,eventdata,handles);
  529.         NewFig = allchild(0);
  530.         hdl_WinFbmStat = setdiff(NewFig,OldFig);
  531.         wfigmngr('modify_FigChild',hFig,hdl_WinFbmStat);
  532.         wtbxappdata('set',hFig,'hdl_WinFbmStat',hdl_WinFbmStat);
  533. end
  534. set(hFig,'HandleVisibility','Callback')
  535. %=========================================================================%
  536. %                   END Tool Demo Utilities                               %
  537. %=========================================================================%