www.gusucode.com > wavelet工具箱matlab源码程序 > wavelet/wavelet/dw1dtool.m
function varargout = dw1dtool(option,varargin) %DW1DTOOL Discrete Wavelet 1-D tool. % VARARGOUT = DW1DTOOL(OPTION,VARARGIN) % M. Misiti, Y. Misiti, G. Oppenheim, J.M. Poggi 12-Mar-96. % Last Revision: 22-Sep-2014. % Copyright 1995-2014 The MathWorks, Inc. % $Revision: 1.19.4.16 $ $Date: 2013/07/05 04:29:59 $ % Test inputs. %------------- if nargin==0 , option = 'create'; end [option,winAttrb] = utguidiv('ini',option,varargin{:}); % Default values. %---------------- max_lev_anal = 12; default_nbcolors = 128; % MemBloc0 of stored values. %--------------------------- n_InfoInit = 'DW1D_InfoInit'; % ind_filename = 1; % ind_pathname = 2; nb0_stored = 2; % MemBloc1 of stored values. %--------------------------- n_param_anal = 'DWAn1d_Par_Anal'; % ind_sig_name = 1; % ind_sig_size = 2; % ind_wav_name = 3; % ind_lev_anal = 4; % ind_axe_ref = 5; % ind_act_option = 6; % ind_ssig_type = 7; % ind_thr_val = 8; nb1_stored = 8; % MemBloc2 of stored values. %--------------------------- n_coefs_longs = 'Coefs_and_Longs'; % ind_coefs = 1; % ind_longs = 2; nb2_stored = 2; % MemBloc3 of stored values. %--------------------------- n_synt_sig = 'Synt_Sig'; % ind_ssig = 1; nb3_stored = 1; % MemBloc4 of stored values. %--------------------------- n_miscella = 'DWAn1d_Miscella'; ind_graph_area = 1; % ind_view_mode = 2; % ind_savepath = 3; nb4_stored = 3; % Tag property of objects. %------------------------- tag_m_exp_wrks = 'm_exp_wrks'; tag_pus_anal = 'Pus_Anal'; tag_pus_deno = 'Pus_Deno'; tag_pus_comp = 'Pus_Comp'; tag_pus_hist = 'Pus_Hist'; tag_pus_stat = 'Pus_Stat'; tag_pop_viewm = 'View_Mode'; tag_pus_dispopt = 'Pus_Options'; tag_valapp_scr = 'ValApp_Scr'; tag_txtapp_scr = 'TxtApp_Scr'; tag_valdet_scr = 'ValDet_Scr'; tag_txtdet_scr = 'TxtDet_Scr'; tag_declev = 'Pop_DecLev'; tag_txtdeclev = 'Txt_DecLev'; switch option case 'create' % Get Globals. %-------------- [Def_Btn_Height,Def_Btn_Width,Pop_Min_Width, ... Def_Txt_Height,X_Spacing,Y_Spacing,Def_FraBkColor ] = ... mextglob('get',... 'Def_Btn_Height','Def_Btn_Width','Pop_Min_Width', ... 'Def_Txt_Height','X_Spacing','Y_Spacing','Def_FraBkColor' ... ); % Wavelet 1-D window initialization. %----------------------------------- win_title = getWavMSG('Wavelet:dw1dRF:NamWinDW1D'); [win_dw1dtool,pos_win,win_units,str_numwin,... pos_frame0,Pos_Graphic_Area] = ... wfigmngr('create',win_title,winAttrb,'ExtFig_Tool',mfilename,1,1,0); if nargout>0 , varargout{1} = win_dw1dtool; end % Add Help for Tool. %------------------ wfighelp('addHelpTool',win_dw1dtool,getWavMSG('Wavelet:dw1dRF:HLP_OneDim'),'DW1D_GUI'); % Add Help Item. %---------------- wfighelp('addHelpItem',win_dw1dtool,getWavMSG('Wavelet:dw1dRF:HLP_WavInAct'),'DW1D_INACTION'); wfighelp('addHelpItem',win_dw1dtool,getWavMSG('Wavelet:dw1dRF:HLP_General'),'DW1D_GENERAL'); wfighelp('addHelpItem',win_dw1dtool,getWavMSG('Wavelet:dw1dRF:HLP_WavDec'),'DW1D_DECOMPOS'); wfighelp('addHelpItem',win_dw1dtool,getWavMSG('Wavelet:dw1dRF:HLP_LoadSave'),'DW1D_LOADSAVE'); % Menu construction for current figure. %-------------------------------------- [m_files,m_load,m_save,m_view] = ... wfigmngr('getmenus',win_dw1dtool,'file','load','save','view'); set(m_save,'Enable','Off'); m_demo = uimenu(m_files,... 'Label',getWavMSG('Wavelet:commongui:Lab_Example'),'Position',3,'Separator','Off'); m_imp_wrks = uimenu(m_files,... 'Label',getWavMSG('Wavelet:commongui:Lab_Import'), ... 'Position',4,'Separator','On' ... ); m_exp_wrks = uimenu(m_files,... 'Label',getWavMSG('Wavelet:commongui:Lab_Export'), ... 'Position',5,'Enable','Off','Separator','Off', ... 'Tag',tag_m_exp_wrks ... ); uimenu(m_load,... 'Label',getWavMSG('Wavelet:dw1dRF:Lab_Signal'), ... 'Position',1,'Tag','Load_Sig', ... 'Callback',['dw1dmngr(''load_sig'',' str_numwin ');'] ... ); uimenu(m_load,... 'Label',getWavMSG('Wavelet:dw1dRF:Lab_Coefficients'), ... 'Position',2, ... 'Callback',['dw1dmngr(''load_cfs'',' str_numwin ');'] ... ); uimenu(m_load,... 'Label',getWavMSG('Wavelet:dw1dRF:Lab_Decomposition'), ... 'Position',3, ... 'Callback',['dw1dmngr(''load_dec'',' str_numwin ');'] ... ); uimenu(m_save,... 'Label',getWavMSG('Wavelet:dw1dRF:Lab_Signal'),... 'Position',1, ... 'Callback',['dw1dmngr(''save_synt'',' str_numwin ');'] ... ); uimenu(m_save,... 'Label',getWavMSG('Wavelet:dw1dRF:Lab_Coefficients'), ... 'Position',2, ... 'Callback',['dw1dmngr(''save_cfs'',' str_numwin ');'] ... ); uimenu(m_save,... 'Label',getWavMSG('Wavelet:dw1dRF:Lab_Decomposition'), ... 'Position',3, ... 'Callback',['dw1dmngr(''save_dec'',' str_numwin ');'] ... ); Men_Save_APP = uimenu(m_save,... 'Label',getWavMSG('Wavelet:dw1dRF:Lab_App'), ... 'Position',4, ... 'Separator','On',... 'Tag','Men_Save_APP' ... ); uimenu(Men_Save_APP,... 'Label',getWavMSG('Wavelet:dw1dRF:Lab_AppAtLev',1), ... 'Position',1, ... 'Callback',['dw1dmngr(''save_app'',' str_numwin ');'] ... ); Men_Save_APP_CFS = uimenu(m_save,... 'Label',getWavMSG('Wavelet:dw1dRF:Lab_AppCfs'), ... 'Position',5, ... 'Separator','On',... 'Tag','Men_Save_APP_CFS' ... ); uimenu(Men_Save_APP_CFS,... 'Label',getWavMSG('Wavelet:dw1dRF:Lab_AppCfsOf',1), ... 'Position',1, ... 'Callback',['dw1dmngr(''save_app_cfs'',' str_numwin ');'] ... ); m_demo_1 = uimenu(m_demo, ... 'Label',getWavMSG('Wavelet:dw1dRF:Lab_Demo_1'), ... 'Tag','Basic_Sig'); m_demo_2 = uimenu(m_demo,'Label',getWavMSG('Wavelet:dw1dRF:Lab_Demo_2')); m_demo_3 = uimenu(m_demo,'Label',getWavMSG('Wavelet:dw1dRF:Lab_Demo_3')); % Submenu of test signals. %------------------------- names = { ... getWavMSG('Wavelet:moreMSGRF:EX1D_Name_sumsin'); getWavMSG('Wavelet:moreMSGRF:EX1D_Name_freqbrk'); getWavMSG('Wavelet:moreMSGRF:EX1D_Name_whitnois'); getWavMSG('Wavelet:moreMSGRF:EX1D_Name_warma'); getWavMSG('Wavelet:moreMSGRF:EX1D_Name_noispol'); getWavMSG('Wavelet:moreMSGRF:EX1D_Name_noispol'); getWavMSG('Wavelet:moreMSGRF:EX1D_Name_wstep'); getWavMSG('Wavelet:moreMSGRF:EX1D_Name_nearbrk'); getWavMSG('Wavelet:moreMSGRF:EX1D_Name_nearbrk'); getWavMSG('Wavelet:moreMSGRF:EX1D_Name_scddvbrk'); getWavMSG('Wavelet:moreMSGRF:EX1D_Name_scddvbrk'); getWavMSG('Wavelet:moreMSGRF:EX1D_Name_wnoislop'); getWavMSG('Wavelet:moreMSGRF:EX1D_Name_cnoislop'); getWavMSG('Wavelet:moreMSGRF:EX1D_Name_noissin'); getWavMSG('Wavelet:moreMSGRF:EX1D_Name_trsin'); getWavMSG('Wavelet:moreMSGRF:EX1D_Name_wntrsin'); getWavMSG('Wavelet:moreMSGRF:EX1D_Name_leleccum'); getWavMSG('Wavelet:moreMSGRF:EX1D_Name_wcantor'); getWavMSG('Wavelet:moreMSGRF:EX1D_Name_vonkoch') }; files = [ 'sumsin ' ; 'freqbrk ' ; 'whitnois' ; 'warma ' ; ... 'noispol ' ; 'noispol ' ; 'wstep ' ; 'nearbrk ' ; ... 'nearbrk ' ; 'scddvbrk' ; 'scddvbrk' ; 'wnoislop' ; ... 'cnoislop' ; 'noissin ' ; 'trsin ' ; 'wntrsin ' ; ... 'leleccum' ; 'wcantor ' ; 'vonkoch ' ]; waves = ['db3' ; 'db5' ; 'db3' ; 'db3' ; 'db2' ; 'db3' ; 'db2' ; ... 'db2' ; 'db7' ; 'db1' ; 'db4' ; 'db3' ; 'db3' ; 'db5' ; ... 'db5' ; 'db5' ; 'db3' ; 'db1' ; 'db1' ]; levels = ['5';'5';'5';'5';'4';'4';'5';'5';'5';'2';'2';'6';'6';'5';... '6';'7';'5';'5';'5']; beg_call_str = ['dw1dmngr(''demo'',' str_numwin ',''']; for i=1:size(files,1) libel = getWavMSG('Wavelet:dw1dRF:Example_DW1D', ... waves(i,:),levels(i,:),names{i}); action = [beg_call_str files(i,:) ''',''' ... waves(i,:) ''',' levels(i,:) ');']; uimenu(m_demo_1,'Label',libel,'Callback',action); end names = {... getWavMSG('Wavelet:moreMSGRF:EX1D_Name_NBlocks'); getWavMSG('Wavelet:moreMSGRF:EX1D_Name_NBumps'); getWavMSG('Wavelet:moreMSGRF:EX1D_Name_NHeavySin'); getWavMSG('Wavelet:moreMSGRF:EX1D_Name_NDoppler'); getWavMSG('Wavelet:moreMSGRF:EX1D_Name_NQdchirp'); getWavMSG('Wavelet:moreMSGRF:EX1D_Name_Nmishmash') }; files = [ 'noisbloc' ; 'noisbump' ; 'heavysin' ; ... 'noisdopp' ; 'noischir' ; 'noismima' ]; waves = ['sym8';'sym4';'sym8';'sym4';'db1 ';'db3 ']; levels = ['5';'5';'5';'5';'5';'5']; beg_call_str = ['dw1dmngr(''demo'',' str_numwin ',''']; for i=1:size(files,1) libel = getWavMSG('Wavelet:dw1dRF:Example_DW1D', ... waves(i,:),levels(i,:),names{i}); action = [beg_call_str files(i,:) ''',''' ... waves(i,:) ''',' levels(i,:) ');']; uimenu(m_demo_2,'Label',libel,'Callback',action); end demoSET = {... getWavMSG('Wavelet:moreMSGRF:EX1D_Name_NBlocks_I'), ... 'nblocr1' , 'sym4', 5 , 3 ; ... getWavMSG('Wavelet:moreMSGRF:EX1D_Name_NBlocks_II'), ... 'nblocr2' , 'sym4', 5 , 3 ; ... getWavMSG('Wavelet:moreMSGRF:EX1D_Name_NDoppler_I'), ... 'ndoppr1' , 'sym4', 5 , 3 ; ... getWavMSG('Wavelet:moreMSGRF:EX1D_Name_NBumps_I'), ... 'nbumpr1' , 'sym4', 5 , 3 ; ... getWavMSG('Wavelet:moreMSGRF:EX1D_Name_NBumps_II'), ... 'nbumpr2' , 'sym4', 5 , 2 ; ... getWavMSG('Wavelet:moreMSGRF:EX1D_Name_NBumps_III'), ... 'nbumpr3' , 'sym4', 5 , 4 ; ... getWavMSG('Wavelet:moreMSGRF:EX1D_Name_NElec'), ... 'nelec' , 'sym4', 5 , 3 ... }; for k=1:length(demoSET) nam = demoSET{k,1}; fil = demoSET{k,2}; wav = demoSET{k,3}; lev = int2str(demoSET{k,4}); libel = getWavMSG('Wavelet:dw1dRF:Example_DW1D',wav,lev,nam); action = [beg_call_str fil ''',''' wav ''',' lev ');']; uimenu(m_demo_3,'Label',libel,'Callback',action); end uimenu(m_imp_wrks,... 'Label',getWavMSG('Wavelet:dw1dRF:Lab_ImportSig'), ... 'Tag','Import_Sig', ... 'Callback',['dw1dmngr(''import_sig'',' str_numwin ');'] ... ); uimenu(m_imp_wrks,... 'Label',getWavMSG('Wavelet:dw1dRF:Lab_ImportCfs'), ... 'Tag','Import_Cfs', ... 'Callback',['dw1dmngr(''import_cfs'',' str_numwin ');'] ... ); uimenu(m_imp_wrks,... 'Label',getWavMSG('Wavelet:dw1dRF:Lab_ImportDec'),... 'Tag','Import_Dec', ... 'Callback',['dw1dmngr(''import_dec'',' str_numwin ');'] ... ); cb_beg = ['dw1dmngr(''exp_wrks'',' str_numwin]; uimenu(m_exp_wrks,... 'Label',getWavMSG('Wavelet:dw1dRF:Lab_ExportSig'), ... 'Tag','Export_Sig','Callback',[cb_beg ',''sig'');'] ... ); uimenu(m_exp_wrks,... 'Label',getWavMSG('Wavelet:dw1dRF:Lab_ExportCfs'), ... 'Tag','Export_Cfs','Callback',[cb_beg ',''cfs'');'] ... ); uimenu(m_exp_wrks,... 'Label',getWavMSG('Wavelet:dw1dRF:Lab_ExportDec'), ... 'Tag','Export_Dec','Callback',[cb_beg ',''dec'');'] ... ); uimenu(m_exp_wrks,... 'Label',getWavMSG('Wavelet:dw1dRF:Lab_ExportAll_APP'),... 'Separator','on','Callback',[cb_beg ',''app'');'] ... ); uimenu(m_exp_wrks,... 'Label',getWavMSG('Wavelet:dw1dRF:Lab_ExportAll_DET'),... 'Callback',[cb_beg ',''det'');'] ... ); % Adding option for choosing Default Display Mode. %------------------------------------------------- viewmode_Names = {... getWavMSG('Wavelet:dw1dRF:DW1D_SCRM'); ... getWavMSG('Wavelet:dw1dRF:DW1D_DECM'); ... getWavMSG('Wavelet:dw1dRF:DW1D_SEPM'); ... getWavMSG('Wavelet:dw1dRF:DW1D_SUPM'); ... getWavMSG('Wavelet:dw1dRF:DW1D_TREM'); ... getWavMSG('Wavelet:dw1dRF:DW1D_CFSM') ... }; DW1D_Display_Mode = 2; m_disp = uimenu(m_view, ... 'Label',getWavMSG('Wavelet:dw1dRF:Lab_DefDispMode'), ... 'Separator','On' ... ); nbm = length(viewmode_Names); dm = zeros(1,nbm); for k=1:nbm dm(k) = uimenu(m_disp, ... 'Label',viewmode_Names{k}, ... 'Checked','Off' ... ); end dmstr = num2mstr(dm); for k = 1:nbm set(dm(k), ... 'UserData',k, ... 'CallBack', ... ['dw1dvdrv(''default'',' str_numwin ... ',' dmstr ',' sprintf('%.0f',k) ');']); end dw1dvdrv('default',win_dw1dtool,dm,DW1D_Display_Mode); % Begin waiting. %--------------- wwaiting('msg',win_dw1dtool,getWavMSG('Wavelet:commongui:WaitInit')); % Borders and double borders. %---------------------------- dx = X_Spacing; dx2 = 2*dx; dy = Y_Spacing; dy2 = 1.5*dy; %2*dy d_txt = (Def_Btn_Height-Def_Txt_Height); % Position property of objects. %------------------------------ x_frame0 = pos_frame0(1); cmd_width = pos_frame0(3); xlocINI = pos_frame0([1 3]); ybottomINI = pos_win(4)-4*Def_Btn_Height-dy2; %-3.5 High DPI y_low = ybottomINI-2.5*Def_Btn_Height-dy2; w_uic = 1.5*Def_Btn_Width; h_uic = 1.5*Def_Btn_Height; bdx = (cmd_width-w_uic)/2; x_left = x_frame0+bdx; pos_anal = [x_left, y_low, w_uic, h_uic]; x_left = x_frame0+dx2; y_low = pos_anal(2)-h_uic-2*dy2; push_width = (cmd_width-3*dx2)/2; pos_stat = [x_left, y_low, push_width, h_uic]; pos_comp = pos_stat; pos_comp(1) = pos_stat(1)+pos_stat(3)+dx2; y_low = y_low-h_uic-dy; pos_hist = [x_left, y_low, push_width, h_uic]; pos_deno = pos_hist; pos_deno(1) = pos_hist(1)+pos_hist(3)+dx2; y_low = pos_hist(2)-h_uic-1.5*dy2; pos_viewm_txt = [x_left, y_low, 2*Def_Btn_Width, Def_Btn_Height]; pop_width = cmd_width-3*dx2; x_left = x_frame0+(cmd_width-pop_width)/2; y_low = pos_viewm_txt(2)-Def_Btn_Height; pos_pop_viewm = [x_left, y_low, pop_width, Def_Btn_Height]; pop_width = cmd_width-4*dx2; x_left = x_frame0+(cmd_width-pop_width)/2; [dyLow,mul_H] = wtbutils('dw1d_DISP_PREFS'); y_low = y_low - dyLow; pos_pus_dispopt = [x_left, y_low, pop_width, mul_H*Def_Btn_Height]; %---------------------------------------- WIDTH_BTN = 5*Pop_Min_Width + 6*dx; %High DPI 5.2 and 6.2 WIDTH_FRA = pos_frame0(3); while WIDTH_BTN>WIDTH_FRA && dx>1 dx = dx-1; dx2 = 2*dx; WIDTH_BTN = 5*Pop_Min_Width + 6*dx; end while WIDTH_BTN>WIDTH_FRA Pop_Min_Width = Pop_Min_Width-1; WIDTH_BTN = 5.2*Pop_Min_Width + 6.2*dx; end %---------------------------------------- y_low = pos_pop_viewm(2)-Def_Btn_Height-dy2; x_left = pos_frame0(1)+dx2; w_txt = Pop_Min_Width+dx/3; %High DPI dx/2 pos_txtapp_scr = [pos_frame0(1)+dx/2 , y_low-d_txt/2, ... 1.5*w_txt , Def_Btn_Height]; %high DPI dx/2 2 -> 1.5 xl = pos_txtapp_scr(1)+pos_txtapp_scr(3)+dx/2; pos_valapp_scr = [xl, y_low, Pop_Min_Width, Def_Btn_Height]; xl = pos_valapp_scr(1)+pos_valapp_scr(3)+dx; pos_txtdet_scr = [xl , y_low-d_txt/2 , 1.2*w_txt , Def_Btn_Height]; xl = pos_txtdet_scr(1)+pos_txtdet_scr(3)+dx/2; pos_valdet_scr = [xl, y_low, Pop_Min_Width, Def_Btn_Height]; y_low = pos_pop_viewm(2)-Def_Btn_Height-dy2; pos_txtlev_dec = [x_left+3, y_low+d_txt/2, Def_Btn_Width, Def_Txt_Height]; %+3 xl = pos_txtlev_dec(1)+Def_Btn_Width+dx2; pos_declev = [xl, y_low, 1.5*Pop_Min_Width, Def_Btn_Height]; % String property of objects. %---------------------------- str_levels = int2str((1:max_lev_anal)'); str_anal = getWavMSG('Wavelet:commongui:Str_Anal'); str_stat = getWavMSG('Wavelet:commongui:Str_STAT'); str_comp = getWavMSG('Wavelet:commongui:Str_COMP'); str_hist = getWavMSG('Wavelet:commongui:Str_HIST'); str_deno = getWavMSG('Wavelet:commongui:Str_DENO'); str_viewm_txt = getWavMSG('Wavelet:dw1dRF:Str_VIEWM_txt'); str_pop_viewm = viewmode_Names; str_pus_dispopt = getWavMSG('Wavelet:dw1dRF:Str_DISPOPT'); str_txtapp_scr = getWavMSG('Wavelet:commongui:Str_Approximation'); str_valapp_scr = str_levels; str_txtdet_scr = getWavMSG('Wavelet:commongui:Str_Detail'); str_valdet_scr = str_levels; str_txtlev_dec = getWavMSG('Wavelet:dw1dRF:Str_At_LEVELS'); str_declev = str_levels; % Callback property of objects. %------------------------------ cba_anal = ['dw1dmngr(''anal'',' str_numwin ');']; cba_stat = ['dw1dmngr(''stat'',' str_numwin ');']; cba_comp = ['dw1dmngr(''comp'',' str_numwin ');']; cba_hist = ['dw1dmngr(''hist'',' str_numwin ');']; cba_deno = ['dw1dmngr(''deno'',' str_numwin ');']; cba_viewm = ['dw1dvmod(''ch_vm'',' str_numwin ');']; cba_mdisp = ['dw1ddisp(''create'',' str_numwin ');']; cba_app_scr = ['dw1dtool(''app'',' str_numwin ');']; cba_det_scr = ['dw1dtool(''det'',' str_numwin ');']; cba_declev = ['dw1dtool(''dec'',' str_numwin ');']; % Command part of the window. %============================ % Data, Wavelet and Level parameters. %------------------------------------ utanapar('create',win_dw1dtool, ... 'xloc',xlocINI,'bottom',ybottomINI,... 'Enable','off', ... 'wtype','dwt' ... ); commonProp = {... 'Parent',win_dw1dtool, ... 'Style','pushbutton', ... 'Units',win_units, ... 'Enable','off' ... }; pus_anal = uicontrol(commonProp{:},... 'Position',pos_anal, ... 'String',str_anal, ... 'Tag',tag_pus_anal, ... 'Callback',cba_anal, ... 'Interruptible','On' ... ); uicontrol(commonProp{:},... 'Position',pos_stat, ... 'String',str_stat, ... 'Tag',tag_pus_stat, ... 'Callback',cba_stat ... ); uicontrol(commonProp{:},... 'Position',pos_comp, ... 'String',str_comp, ... 'Tag',tag_pus_comp, ... 'Callback',cba_comp ... ); uicontrol(commonProp{:},... 'Position',pos_hist, ... 'String',str_hist, ... 'Tag',tag_pus_hist, ... 'Callback',cba_hist ... ); uicontrol(commonProp{:},... 'Position',pos_deno, ... 'String',str_deno, ... 'Tag',tag_pus_deno, ... 'Callback',cba_deno ... ); txt_viewm = uicontrol(... 'Parent',win_dw1dtool, ... 'Style','text', ... 'Units',win_units, ... 'HorizontalAlignment','left', ... 'Position',pos_viewm_txt, ... 'String',str_viewm_txt, ... 'BackgroundColor',Def_FraBkColor... ); view_mode = 1; pop_viewm = uicontrol(... 'Parent',win_dw1dtool, ... 'Style','Popup', ... 'Units',win_units, ... 'Position',pos_pop_viewm, ... 'String',str_pop_viewm, ... 'Value',view_mode, ... 'UserData',view_mode, ... 'Enable','off', ... 'Callback',cba_viewm, ... 'Tag',tag_pop_viewm ... ); pus_dispopt = uicontrol(... 'Parent',win_dw1dtool, ... 'Style','pushbutton', ... 'Units',win_units, ... 'Position',pos_pus_dispopt, ... 'String',str_pus_dispopt, ... 'Visible','off', ... 'Enable','off', ... 'Tag',tag_pus_dispopt, ... 'Interruptible','On', ... 'Callback',cba_mdisp ... ); txt_txtapp_scr = uicontrol(... 'Parent',win_dw1dtool, ... 'Style','Text', ... 'Units',win_units, ... 'Position',pos_txtapp_scr, ... 'Visible','Off', ... 'String',str_txtapp_scr, ... 'BackgroundColor',Def_FraBkColor,... 'Tag',tag_txtapp_scr ... ); pop_valapp_scr = uicontrol(... 'Parent',win_dw1dtool, ... 'Style','Popup', ... 'Units',win_units, ... 'Position',pos_valapp_scr, ... 'Visible','Off', ... 'String',str_valapp_scr, ... 'Enable','off', ... 'Tag',tag_valapp_scr, ... 'Callback',cba_app_scr ... ); txt_txtdet_scr = uicontrol(... 'Parent',win_dw1dtool, ... 'Style','Text', ... 'Units',win_units, ... 'Position',pos_txtdet_scr, ... 'Visible','Off', ... 'String',str_txtdet_scr, ... 'BackgroundColor',Def_FraBkColor,... 'Tag',tag_txtdet_scr ... ); pop_valdet_scr = uicontrol(... 'Parent',win_dw1dtool, ... 'Style','Popup', ... 'Units',win_units, ... 'Position',pos_valdet_scr, ... 'Visible','Off', ... 'String',str_valdet_scr, ... 'Enable','off', ... 'Tag',tag_valdet_scr, ... 'Callback',cba_det_scr ... ); uicontrol(... 'Parent',win_dw1dtool, ... 'Style','Text', ... 'Units',win_units, ... 'Position',pos_txtlev_dec, ... 'Visible','Off', ... 'String',str_txtlev_dec, ... 'BackgroundColor',Def_FraBkColor,... 'Tag',tag_txtdeclev ... ); uicontrol(... 'Parent',win_dw1dtool, ... 'Style','Popup', ... 'Units',win_units, ... 'Position',pos_declev, ... 'Visible','Off', ... 'String',str_declev, ... 'Enable','off', ... 'Tag',tag_declev, ... 'Callback',cba_declev ... ); % Adding colormap GUI. %--------------------- utcolmap('create',win_dw1dtool, ... 'xloc',xlocINI, ... 'Enable','off', ... 'briflag',0, ... 'bkcolor',Def_FraBkColor); % Initial Mode. %-------------- pos_txt1 = get(txt_txtapp_scr,'Position'); pos_opt = get(pus_dispopt,'Position'); pos_opt(2) = pos_txt1(2)-Def_Btn_Height-2*dy2; set(pus_dispopt,'Position',pos_opt); set([txt_txtapp_scr, txt_txtdet_scr,... pop_valapp_scr, pop_valdet_scr, pus_dispopt],'Visible','on'); drawnow % Add Context Sensitive Help (CSHelp). %------------------------------------- hdl_DW1D_DISPMODE = [txt_viewm,pop_viewm]; hdl_DW1D_MOREDISP = pus_dispopt; wfighelp('add_ContextMenu',win_dw1dtool,hdl_DW1D_DISPMODE,'DW1D_DISPMODE'); wfighelp('add_ContextMenu',win_dw1dtool,hdl_DW1D_MOREDISP,'DW1D_MOREDISP'); %------------------------------------- % Normalisation. %---------------- Pos_Graphic_Area = wfigmngr('normalize',win_dw1dtool, ... Pos_Graphic_Area,'On'); % Callbacks update. %------------------ utanapar('set_cba_num',win_dw1dtool,[m_files;pus_anal]); % Memory for stored values. %-------------------------- wmemtool('ini',win_dw1dtool,n_InfoInit,nb0_stored); wmemtool('ini',win_dw1dtool,n_param_anal,nb1_stored); wmemtool('ini',win_dw1dtool,n_coefs_longs,nb2_stored); wmemtool('ini',win_dw1dtool,n_synt_sig,nb3_stored); wmemtool('ini',win_dw1dtool,n_miscella,nb4_stored); wmemtool('wmb',win_dw1dtool,n_miscella,... ind_graph_area,Pos_Graphic_Area); % Setting Initial Colormap. %-------------------------- cbcolmap('set',win_dw1dtool,'pal',{'pink',default_nbcolors}); % Initialize View Mode Parameters. %--------------------------------- dw1dvmod('ini_vm',win_dw1dtool); % End waiting. %--------------- wwaiting('off',win_dw1dtool); case {'app','det'} fig = varargin{1}; pop_viewm = findobj(get(fig,'Children'),'flat','Tag',tag_pop_viewm); view_mode = get(pop_viewm,'Value'); switch view_mode case 1 , dw1dscrm(option,fig); case 6 , dw1dcfsm(option,fig); end case 'dec' fig = varargin{1}; dw1ddecm('dec',fig); case 'close' % in2 = win_dw1dtool %-------------------- fig = varargin{1}; called_win = wfindobj('figure','UserData',fig); delete(called_win); if ishandle(fig) , set(fig,'Visible','Off'); end drawnow feval('dw1dfile','del',fig); otherwise errargt(mfilename,getWavMSG('Wavelet:moreMSGRF:Unknown_Opt'),'msg'); error(message('Wavelet:FunctionArgVal:Invalid_Input')); end