wolffd@0: function som_gui(varargin) wolffd@0: wolffd@0: %SOM_GUI A GUI for initialization and training of SOM. wolffd@0: % wolffd@0: % som_gui([sD]) wolffd@0: % wolffd@0: % som_gui wolffd@0: % som_gui(sD) wolffd@0: % wolffd@0: % Input and output arguments ([]'s are optional) wolffd@0: % [sD] (struct) SOM data struct wolffd@0: % (matrix) a data matrix, size dlen x dim wolffd@0: % wolffd@0: % Actually, there are more arguments the function takes, but wolffd@0: % they are for internal action of the function only. DO NOT use wolffd@0: % them. wolffd@0: % wolffd@0: % For a more throughout description, see the online documentation. wolffd@0: % See also PREPROCESS. wolffd@0: wolffd@0: %%%%%%%%%%%% DETAILED DESCRIPTION %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% wolffd@0: % wolffd@0: % IN FILES: som_gui.html,browsewin.jpg,wspace.jpg,loadgui.jpg,initgui.jpg,questdlg.jpg,paragui.jpg,mwindow.jpg,visgui.gif,reload.gif,savemap.gif,browse.gif wolffd@0: % wolffd@0: wolffd@0: % Contributed to SOM Toolbox vs2, February 2nd, 2000 by Mika Pollari wolffd@0: % Copyright (c) by Mika Pollari and SOM Toolbox Team wolffd@0: % http://www.cis.hut.fi/projects/somtoolbox/ wolffd@0: wolffd@0: % Mika Pollari 31.1.2000 vs 1.1 wolffd@0: wolffd@0: global NEWMAP NEWST MAPSAVED MAP DATA LOAD_NAME LOAD_DATA; wolffd@0: global SAVEMAP ALGORITHM HANDLE2 STOPOLINIT INIT_TYPE; wolffd@0: global STRAIN1 STRAIN2 SOTHERS; wolffd@0: wolffd@0: if nargin == 0 wolffd@0: main_gui; wolffd@0: action = 'dummy'; wolffd@0: elseif nargin == 1 wolffd@0: temp = varargin{1}; wolffd@0: if isstruct(temp), wolffd@0: DATA = temp; wolffd@0: main_gui; wolffd@0: action = 'input_data'; wolffd@0: elseif isnumeric(temp), wolffd@0: DATA = som_data_struct(temp); wolffd@0: main_gui; wolffd@0: action = 'input_data'; wolffd@0: else wolffd@0: action = temp; wolffd@0: end wolffd@0: end wolffd@0: wolffd@0: wolffd@0: switch(action) wolffd@0: wolffd@0: %%%%%%%%%%%%%%%%%%%%%%%%%%%%%% LOAD %%%%%%%%%%%%%%%%%%%%%%%%%% wolffd@0: case 'load_data' wolffd@0: loadgui3; %%% Activates load GUI wolffd@0: case 'workspace' wolffd@0: workspace; %%% Workspace selected wolffd@0: case 'file' wolffd@0: file; %%% File Selected wolffd@0: case 'file_select' wolffd@0: file_select; wolffd@0: case 'missing' wolffd@0: Handle = findobj(gcf,'Tag','Checkbox1'); wolffd@0: set(Handle,'Value',1); wolffd@0: case 'load_ok' %%% pushed wolffd@0: load_ok; wolffd@0: case 'input_data' %%% GUI activated with data as arg1 wolffd@0: input_data; %%% eg. som_gui(data) wolffd@0: wolffd@0: case 'browse' %%% Activates Browse GUI wolffd@0: browse; %%% Browse files or workspace variables wolffd@0: wolffd@0: case 'works_ok' %%% pushed in (workspace) browse GUI wolffd@0: works_ok; wolffd@0: wolffd@0: %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% wolffd@0: wolffd@0: wolffd@0: %%%%%%%%%%%%%%%%%%%%%%%% Initialization %%%%%%%%%%%%%%%%%%%%%%%%%%%% wolffd@0: wolffd@0: case 'def_initialization' %%% Finds default initialization ... wolffd@0: def_initialization; %%% parameters wolffd@0: wolffd@0: case 'change_initialization' %%% Activates change (init) parameters GUI wolffd@0: change_initialization; wolffd@0: wolffd@0: case 'change_initialization_ok'%%% Set new init. parameters wolffd@0: change_initialization_ok; wolffd@0: wolffd@0: case 'change_initialization_cancel' wolffd@0: close(gcf); wolffd@0: return; wolffd@0: wolffd@0: case 'map_size' %%% Checks that 'map_size' is given in correct form wolffd@0: map_size; wolffd@0: wolffd@0: case 'munits' %%% Checks that 'munits' is given in correct form wolffd@0: munits; wolffd@0: wolffd@0: case 'init' %%% Initialize Map wolffd@0: init; wolffd@0: wolffd@0: %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% wolffd@0: wolffd@0: %%%%%%%%%%%%%%%%%%%%%%%%% Train %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% wolffd@0: wolffd@0: wolffd@0: case 'def_values_others' wolffd@0: def_values_others; wolffd@0: wolffd@0: case 'def_values_train' wolffd@0: STRAIN1 = som_train_struct('algorithm',ALGORITHM,'phase','rough','data',DATA); wolffd@0: STRAIN2 = som_train_struct('previous',STRAIN1); wolffd@0: wolffd@0: case 'fill_fields' %%% Fill text fields in GUI wolffd@0: fill_fields; wolffd@0: wolffd@0: case 'def_train' %%% Train Map wolffd@0: def_train; wolffd@0: wolffd@0: case 'change_def' %%% Change default training parameters wolffd@0: change_def; %%% Activate GUI wolffd@0: wolffd@0: case 'fill_new_defaults' wolffd@0: fill_new_defaults; wolffd@0: wolffd@0: case 'set_batch_mask' wolffd@0: set_batch_mask; wolffd@0: wolffd@0: case 'set_new_parameters' wolffd@0: set_new_parameters; wolffd@0: wolffd@0: case 'only_finetune' %%% Train only once with finetune parameters wolffd@0: only_finetune; wolffd@0: wolffd@0: %%%%%%% Next function check correctnes of new training parameters. wolffd@0: wolffd@0: case 'check_rough_radini' wolffd@0: check_rough_radini; wolffd@0: case 'check_fine_radini' wolffd@0: check_fine_radini; wolffd@0: case 'check_rough_radfin' wolffd@0: check_rough_radfin; wolffd@0: case 'check_fine_radfin' wolffd@0: check_fine_radfin; wolffd@0: case 'check_rough_alphaini' wolffd@0: check_rough_alphaini; wolffd@0: case 'check_fine_alphaini' wolffd@0: check_fine_alphaini; wolffd@0: case 'check_rough_trainlen' wolffd@0: check_rough_trainlen; wolffd@0: case 'check_fine_trainlen' wolffd@0: check_fine_trainlen; wolffd@0: wolffd@0: wolffd@0: wolffd@0: %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% wolffd@0: wolffd@0: %%%%%%%%%%%%%%%%%%%%%%%%% Save Map %%%%%%%%%%%%%%%%%%%%%% wolffd@0: wolffd@0: case 'savemap' %%% Save as <.cod> file wolffd@0: savemap; wolffd@0: case 'save_workspace' %%% Save in workspace wolffd@0: save_workspace; wolffd@0: wolffd@0: %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% wolffd@0: wolffd@0: wolffd@0: %%%%%%%%%%%%%%%%%%%%%%% Help & Info %%%%%%%%%%%%%%%%%%%%%%% wolffd@0: case 'help' wolffd@0: web file:///share/somtoolbox/vs2/html/som_GUI.html; wolffd@0: case 'helpwin' wolffd@0: helpwin1; wolffd@0: case 'helpwin2' wolffd@0: helpwin som_gui; wolffd@0: case 'data_info' wolffd@0: data_info; %%% Info about data wolffd@0: case 'map_info' %%% Info about map wolffd@0: map_info; wolffd@0: %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% wolffd@0: wolffd@0: %%%%%%%%%%%%%%%%%%% Other Functions %%%%%%%%%%%%%%%%%%%%%%% wolffd@0: wolffd@0: case 'preprocess' wolffd@0: preprocess_gui; %%%%% Call preprocess GUI wolffd@0: case 'visualize' wolffd@0: visualize; %%%%% Call visualization GUI wolffd@0: wolffd@0: case 'clear_all' %%%%% Clear all filds wolffd@0: clear_all; wolffd@0: wolffd@0: case 'close' wolffd@0: close_fig; %%%%% Close active GUI wolffd@0: wolffd@0: end wolffd@0: wolffd@0: %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% wolffd@0: %%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%% wolffd@0: %%%%%%%%%%%% END OF SWITCH-STATEMENT %%%%%%%%%%%%%%%%%%%%% wolffd@0: %%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%% wolffd@0: %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% wolffd@0: wolffd@0: wolffd@0: wolffd@0: wolffd@0: wolffd@0: wolffd@0: wolffd@0: wolffd@0: wolffd@0: wolffd@0: wolffd@0: wolffd@0: wolffd@0: wolffd@0: wolffd@0: %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% wolffd@0: %%%%%%%%% (SUB) FUNCTIONS wolffd@0: wolffd@0: wolffd@0: wolffd@0: wolffd@0: %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% wolffd@0: %%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%% wolffd@0: %%%%%%%%%%%%%%%%% LOAD SECTION STARTS %%%%%%%%%%%%%%%%%%% wolffd@0: %%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%% wolffd@0: %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% wolffd@0: wolffd@0: function [] = workspace() wolffd@0: Handle = findobj(gcbf,'Tag','Radiobutton2'); wolffd@0: Value = get(Handle,'Value'); wolffd@0: HandleTemp = findobj(gcbf,'Tag','Radiobutton1'); wolffd@0: if Value == 1 wolffd@0: set(HandleTemp,'Value',0); wolffd@0: HandleBar = findobj(gcbf,'Tag','PopupMenu1'); wolffd@0: set(HandleBar,'Enable','off'); wolffd@0: set(HandleBar,'Visible','off'); wolffd@0: Handle3 = findobj(gcbf,'Tag','StaticText3'); wolffd@0: set(Handle3,'Visible','off'); wolffd@0: Handle3 = findobj(gcbf,'Tag','Checkbox1'); wolffd@0: set(Handle3,'Visible','off'); wolffd@0: Handle3 = findobj(gcbf,'Tag','EditText3'); wolffd@0: set(Handle3,'Visible','off'); wolffd@0: Handle = findobj(gcbf,'Tag','EditText2'); wolffd@0: set(Handle,'String',''); wolffd@0: end wolffd@0: wolffd@0: wolffd@0: wolffd@0: function [] = file() wolffd@0: Handle = findobj(gcbf,'Tag','Radiobutton1'); wolffd@0: Value = get(Handle,'Value'); wolffd@0: HandleTemp = findobj(gcbf,'Tag','Radiobutton2'); wolffd@0: if Value == 1 wolffd@0: set(HandleTemp,'Value',0); wolffd@0: HandleBar = findobj(gcbf,'Tag','PopupMenu1'); wolffd@0: set(HandleBar,'Enable','on'); wolffd@0: set(HandleBar,'Visible','on'); wolffd@0: Handle3 = findobj(gcbf,'Tag','StaticText3'); wolffd@0: set(Handle3,'Visible','on'); wolffd@0: Handle3 = findobj(gcbf,'Tag','Checkbox1'); wolffd@0: set(Handle3,'Visible','on'); wolffd@0: Handle3 = findobj(gcbf,'Tag','EditText3'); wolffd@0: set(Handle3,'Visible','on'); wolffd@0: Handle = findobj(gcbf,'Tag','EditText1'); wolffd@0: set(Handle,'String',''); wolffd@0: end wolffd@0: wolffd@0: function [] = file_select() wolffd@0: Handle = findobj(gcbf,'Tag','PopupMenu1'); wolffd@0: temp = get(Handle,'String'); wolffd@0: val = get(Handle,'Value'); wolffd@0: Handle1 = findobj(gcbf,'Tag','Checkbox1'); wolffd@0: Handle2 = findobj(gcbf,'Tag','EditText3'); wolffd@0: if strcmp(temp{val},'dat file') wolffd@0: set(Handle2,'String','x'); wolffd@0: set(Handle1,'Enable','on'); wolffd@0: set(Handle2,'Enable','on'); wolffd@0: set(Handle1,'Visible','on'); wolffd@0: set(Handle2,'Visible','on'); wolffd@0: else wolffd@0: set(Handle1,'Value',0); wolffd@0: set(Handle1,'Enable','off'); wolffd@0: set(Handle2,'Enable','off'); wolffd@0: set(Handle1,'Visible','off'); wolffd@0: set(Handle2,'Visible','off'); wolffd@0: end wolffd@0: wolffd@0: function [] = load_ok() wolffd@0: global MAP DATA LOAD_DATA LOAD_NAME; wolffd@0: Handle1 = findobj(gcbf,'Tag','EditText1'); wolffd@0: Handle2 = findobj(gcbf,'Tag','EditText2'); wolffd@0: Name1 = get(Handle1,'String'); wolffd@0: Name2 = get(Handle2,'String'); wolffd@0: if isempty(Name1) & not(isempty(Name2)) wolffd@0: Handle = findobj(gcbf,'Tag','PopupMenu1') wolffd@0: type = get(Handle,'String'); wolffd@0: val = get(Handle,'Value'); wolffd@0: type = type{val}; wolffd@0: if strcmp(type,'mat file') wolffd@0: ltemp = 'load:::'; wolffd@0: ltemp = strcat(ltemp,Name2); wolffd@0: ltemp = strrep(ltemp,':::',' '); wolffd@0: evalin('base',ltemp); wolffd@0: DATA = evalin('base','sD'); wolffd@0: LOAD_DATA = evalin('base','sD.data'); wolffd@0: LOAD_NAME = evalin('base','sD.name'); wolffd@0: LOAD_NAME = strrep(LOAD_NAME,'.','_'); wolffd@0: load_labels = evalin('base','sD.labels'); wolffd@0: load_comp_names = evalin('base','sD.comp_names'); wolffd@0: DATA = som_data_struct(LOAD_DATA); wolffd@0: DATA.name = LOAD_NAME; wolffd@0: DATA.comp_names = load_comp_names; wolffd@0: DATA.labels = load_labels; wolffd@0: else wolffd@0: Handle = findobj(gcbf,'Tag','Checkbox1'); wolffd@0: value = get(Handle,'Value'); wolffd@0: if value == 0 wolffd@0: temp = 'som_read_data('''; wolffd@0: temp = strcat(temp,Name2,''');'); wolffd@0: else wolffd@0: Handle = findobj(gcbf,'Tag','EditText3'); wolffd@0: missing = get(Handle,'String'); wolffd@0: if not(isempty(missing)) wolffd@0: temp = 'som_read_data('''; wolffd@0: temp = strcat(temp,Name2,'''',',','''',missing,''');'); wolffd@0: else wolffd@0: temp = 'som_read_data('''; wolffd@0: temp = strcat(temp,Name2,''');'); wolffd@0: end wolffd@0: end wolffd@0: evalin('base',temp); wolffd@0: DATA = evalin('base','ans'); wolffd@0: name = DATA.name; wolffd@0: temp = findstr('/',name); wolffd@0: if not(isempty(temp)) wolffd@0: name = name(temp(end)+1:end); wolffd@0: end wolffd@0: name = strrep(name,'.','_'); wolffd@0: LOAD_NAME = name; wolffd@0: DATA.name = name; wolffd@0: end wolffd@0: elseif isempty(Name2) & not(isempty(Name1)) wolffd@0: LOAD_DATA = evalin('base',Name1); wolffd@0: if not(isstruct(LOAD_DATA)) wolffd@0: DATA = som_data_struct(LOAD_DATA); wolffd@0: LOAD_NAME = Name1; wolffd@0: DATA.name = Name1; wolffd@0: else wolffd@0: DATA = LOAD_DATA; wolffd@0: name = DATA.name; wolffd@0: temp = findstr('/',name); wolffd@0: if not(isempty(temp)) wolffd@0: name = name(temp(end)+1:end); wolffd@0: end wolffd@0: name = strrep(name,'.','_'); wolffd@0: LOAD_NAME = name; wolffd@0: DATA.name = name; wolffd@0: end wolffd@0: else wolffd@0: errmsg = {'Give name of data before loading'}; wolffd@0: errordlg(errmsg,'Empty data name!'); wolffd@0: return; wolffd@0: end wolffd@0: close(gcbf); wolffd@0: if not(isempty(MAP)) wolffd@0: clear MAP; wolffd@0: global MAP; wolffd@0: str1 = 'Map: '; wolffd@0: str2 = 'Train'; wolffd@0: Handle = findobj(gcf,'Tag','StaticText3'); wolffd@0: set(Handle,'String',str1); wolffd@0: Handle = findobj(gcf,'Tag','StaticText8'); wolffd@0: set(Handle,'String',str2); wolffd@0: end wolffd@0: temp = 'Data:'; wolffd@0: temp = strcat(temp,' <',LOAD_NAME,'>'); wolffd@0: Handle = findobj(gcf,'Tag','StaticText4'); wolffd@0: set(Handle,'String',temp); wolffd@0: som_gui('def_initialization'); wolffd@0: Handle = findobj(gcf,'Tag','Pushbutton2'); wolffd@0: set(Handle,'Enable','off'); wolffd@0: Handle = findobj(gcf,'Tag','Pushbutton4'); wolffd@0: set(Handle,'Enable','on'); wolffd@0: Handle = findobj(gcf,'Tag','Pushbutton9'); wolffd@0: set(Handle,'Enable','on'); wolffd@0: Handle = findobj(gcf,'Tag','Subuimenu2'); wolffd@0: set(Handle,'Enable','on'); wolffd@0: Handle = findobj(gcf,'Tag','&Help/InfoHelp windowuimenu1'); wolffd@0: set(Handle,'Enable','on'); wolffd@0: Handle = findobj(gcf,'Tag','&Init&Trainuimenu1'); wolffd@0: set(Handle,'Enable','on'); wolffd@0: Handle = findobj(gcf,'Tag','&Init&TrainInitialize1'); wolffd@0: set(Handle,'Enable','on'); wolffd@0: Handle = findobj(gcf,'Tag','Subuimenu1'); wolffd@0: set(Handle,'Enable','off'); %%%%%%???????? wolffd@0: Handle = findobj(gcf,'Tag','StaticText10'); wolffd@0: set(Handle,'String','Status '); wolffd@0: wolffd@0: wolffd@0: wolffd@0: function [] = input_data() wolffd@0: global DATA; wolffd@0: name = DATA.name; wolffd@0: newname = strrep(name,'.','_'); wolffd@0: DATA.name = newname; wolffd@0: temp = strcat('Data: <',newname,'>'); wolffd@0: Handle = findobj(gcf,'Tag','StaticText4'); wolffd@0: set(Handle,'String',temp); wolffd@0: som_gui('def_initialization'); wolffd@0: Handle = findobj(gcf,'Tag','Pushbutton2'); wolffd@0: set(Handle,'Enable','off'); wolffd@0: Handle = findobj(gcf,'Tag','Pushbutton4'); wolffd@0: set(Handle,'Enable','on'); wolffd@0: Handle = findobj(gcf,'Tag','Pushbutton9'); wolffd@0: set(Handle,'Enable','on'); wolffd@0: Handle = findobj(gcf,'Tag','Subuimenu2'); wolffd@0: set(Handle,'Enable','on'); wolffd@0: Handle = findobj(gcf,'Tag','&Help/InfoHelp windowuimenu1'); wolffd@0: set(Handle,'Enable','on'); wolffd@0: Handle = findobj(gcf,'Tag','&Init&Trainuimenu1'); wolffd@0: set(Handle,'Enable','on'); wolffd@0: Handle = findobj(gcf,'Tag','&Init&TrainInitialize1'); wolffd@0: set(Handle,'Enable','on'); wolffd@0: Handle = findobj(gcf,'Tag','Subuimenu1'); wolffd@0: set(Handle,'Enable','off'); %%%%%%???????? wolffd@0: Handle = findobj(gcf,'Tag','StaticText10'); wolffd@0: set(Handle,'String','Status '); wolffd@0: wolffd@0: wolffd@0: function [] = browse() wolffd@0: global HANDLE2; wolffd@0: HandleWorkspace = findobj(gcbf,'Tag','Radiobutton2'); wolffd@0: HandleFile = findobj(gcbf,'Tag','Radiobutton1'); wolffd@0: WorkspaceVal = get(HandleWorkspace,'Value'); wolffd@0: FileVal = get(HandleFile,'Value'); wolffd@0: if FileVal == 1 wolffd@0: Handle = findobj(gcbf,'Tag','PopupMenu1'); wolffd@0: str = get(Handle,'String'); wolffd@0: value = get(Handle,'Value'); wolffd@0: str = str{value}; wolffd@0: if strcmp(str,'mat file') wolffd@0: filtter = '*.mat'; wolffd@0: else wolffd@0: filtter = '*.dat*'; wolffd@0: end wolffd@0: [filename pathname] = uigetfile(filtter,'Load file.'); wolffd@0: temp = strcat(pathname,filename); wolffd@0: Handle = findobj(gcbf,'Tag','EditText2'); wolffd@0: set(Handle,'String',temp); wolffd@0: elseif WorkspaceVal == 1 wolffd@0: HANDLE2 = gcf; wolffd@0: works; wolffd@0: temp = evalin('base','who'); wolffd@0: index2 = 1; wolffd@0: names = ''; wolffd@0: for index = 1:length(temp) wolffd@0: if isnumeric(evalin('base',temp{index})) wolffd@0: test = size(evalin('base',temp{index})); wolffd@0: if test(1) ~= 1 & test(2) ~= 1 wolffd@0: names{index2} = temp{index}; wolffd@0: index2 = index2 + 1; wolffd@0: end wolffd@0: end wolffd@0: end wolffd@0: for index = 1:length(temp) wolffd@0: variable = evalin('base',temp{index}); wolffd@0: if isstruct(variable) wolffd@0: fnames = fieldnames(variable); wolffd@0: if size(fnames,1) == 6 & strcmp(fnames(1),'type') & strcmp(variable.type,'som_data') wolffd@0: names{index2} = temp{index}; wolffd@0: index2 = index2 + 1; wolffd@0: end wolffd@0: end wolffd@0: end wolffd@0: Handle = findobj(gcf,'Tag','Listbox1'); wolffd@0: %%%%%% if is empty string#%%% wolffd@0: set(Handle,'String',names); wolffd@0: else wolffd@0: errmsg = 'Select browse type: Workspace or file.'; wolffd@0: errordlg(errmsg,'Browse error!'); wolffd@0: return; wolffd@0: end wolffd@0: wolffd@0: wolffd@0: function [] = works_ok() wolffd@0: global HANDLE2; wolffd@0: Handle = findobj(gcbf,'Tag','Listbox1'); wolffd@0: temp = get(Handle,'String'); wolffd@0: val = get(Handle,'Value'); wolffd@0: data = temp{val}; wolffd@0: Handle = findobj(HANDLE2,'Tag','EditText1'); wolffd@0: set(Handle,'String',data); wolffd@0: close; wolffd@0: wolffd@0: wolffd@0: %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% wolffd@0: %%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%% wolffd@0: %%%%%%%%%%%%%%%%% END OF LOAD SECTION %%%%%%%%%%%%%%%%%%% wolffd@0: %%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%% wolffd@0: %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% wolffd@0: wolffd@0: wolffd@0: %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% wolffd@0: %%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%% wolffd@0: %%%%%%%%%%%%%%%%% START OF INITIALIZATION %%%%%%%%%%%%%%%%%%% wolffd@0: %%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%% wolffd@0: %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% wolffd@0: wolffd@0: function [] = def_initialization() wolffd@0: global DATA STOPOLINIT INIT_TYPE; wolffd@0: sTopol = som_topol_struct('data',DATA); wolffd@0: Handle = findobj(gcf,'Tag','StaticText5'); wolffd@0: temp = num2str(sTopol.msize); wolffd@0: temp = strcat('map size:',' [',temp,']'); wolffd@0: set(Handle,'String',temp); wolffd@0: Handle = findobj(gcf,'Tag','StaticText6'); wolffd@0: set(Handle,'String','type: linear'); wolffd@0: Handle = findobj(gcf,'Tag','StaticText20'); wolffd@0: temp = strcat('lattice:',sTopol.lattice); wolffd@0: set(Handle,'String',temp); wolffd@0: Handle = findobj(gcf,'Tag','StaticText21'); wolffd@0: temp = strcat('shape:',sTopol.shape); wolffd@0: set(Handle,'String',temp); wolffd@0: STOPOLINIT = sTopol; wolffd@0: INIT_TYPE = 'linear'; wolffd@0: wolffd@0: function [] = change_initialization() wolffd@0: global INIT_TYPE STOPOLINIT; wolffd@0: initialization2; wolffd@0: Handle = findobj(gcf,'Tag','PopupMenu1'); wolffd@0: temp = get(Handle,'String'); wolffd@0: val = loop(temp,INIT_TYPE); wolffd@0: set(Handle,'Value',val); wolffd@0: Handle = findobj(gcf,'Tag','PopupMenu2'); wolffd@0: temp = get(Handle,'String'); wolffd@0: val = loop(temp,STOPOLINIT.lattice); wolffd@0: set(Handle,'Value',val); wolffd@0: Handle = findobj(gcf,'Tag','PopupMenu3'); wolffd@0: temp = get(Handle,'String'); wolffd@0: val = loop(temp,STOPOLINIT.shape); wolffd@0: set(Handle,'Value',val); wolffd@0: Handle = findobj(gcf,'Tag','EditText1'); wolffd@0: temp = num2str(STOPOLINIT.msize); wolffd@0: msize = strcat('[',temp,']'); wolffd@0: set(Handle,'String',msize); wolffd@0: wolffd@0: function [] = change_initialization_ok() wolffd@0: Handle = findobj(gcbf,'Tag','PopupMenu1'); wolffd@0: temp = get(Handle,'String'); wolffd@0: val = get(Handle,'Value'); wolffd@0: INIT_TYPE = temp{val}; wolffd@0: Handle = findobj(gcbf,'Tag','PopupMenu2'); wolffd@0: temp = get(Handle,'String'); wolffd@0: val = get(Handle,'Value'); wolffd@0: lattice = temp{val}; wolffd@0: Handle = findobj(gcbf,'Tag','PopupMenu3'); wolffd@0: temp = get(Handle,'String'); wolffd@0: val = get(Handle,'Value'); wolffd@0: shape = temp{val}; wolffd@0: Handle = findobj(gcbf,'Tag','EditText1'); wolffd@0: temp = get(Handle,'String'); wolffd@0: msize = str2num(temp); wolffd@0: STOPOLINIT = som_set('som_topol','msize',msize,'lattice',lattice,'shape',shape); wolffd@0: close(gcf); wolffd@0: Handle = findobj(gcf,'Tag','StaticText5'); wolffd@0: temp = num2str(STOPOLINIT.msize); wolffd@0: temp = strcat('map size:',' [',temp,']'); wolffd@0: set(Handle,'String',temp); wolffd@0: Handle = findobj(gcf,'Tag','StaticText6'); wolffd@0: temp = strcat('type:',INIT_TYPE); wolffd@0: set(Handle,'String',temp); wolffd@0: Handle = findobj(gcf,'Tag','StaticText20'); wolffd@0: temp = strcat('lattice:',STOPOLINIT.lattice); wolffd@0: set(Handle,'String',temp); wolffd@0: Handle = findobj(gcf,'Tag','StaticText21'); wolffd@0: temp = strcat('shape:',STOPOLINIT.shape); wolffd@0: set(Handle,'String',temp); wolffd@0: wolffd@0: wolffd@0: function [] = def_values_others() wolffd@0: global SOTHERS; wolffd@0: Handle = findobj(gcf,'Tag','StaticText19'); wolffd@0: temp = strcat('tracking:',SOTHERS.tracking); wolffd@0: set(Handle,'String',temp); wolffd@0: Handle = findobj(gcf,'Tag','StaticText12'); wolffd@0: temp = strcat('order:',SOTHERS.oder); wolffd@0: set(Handle,'String',temp); wolffd@0: Handle = findobj(gcf,'Tag','StaticText14'); wolffd@0: temp = strcat('length_type:',SOTHERS.length_type); wolffd@0: set(Handle,'String',temp); wolffd@0: wolffd@0: wolffd@0: wolffd@0: function [] = fill_fields() wolffd@0: global STRAIN1 STRAIN2 ALGORITHM wolffd@0: wolffd@0: neigh = STRAIN1.neigh; wolffd@0: mask = STRAIN1.mask; wolffd@0: rad_ini1 = STRAIN1.radius_ini; wolffd@0: rad_ini2 = STRAIN2.radius_ini; wolffd@0: rad_fin1 = STRAIN1.radius_fin; wolffd@0: rad_fin2 = STRAIN2.radius_fin; wolffd@0: trainlen1 = num2str(STRAIN1.trainlen); wolffd@0: trainlen2 = num2str(STRAIN2.trainlen); wolffd@0: alpha_ini1 = num2str(STRAIN1.alpha_ini); wolffd@0: alpha_ini2 = num2str(STRAIN2.alpha_ini); wolffd@0: if strcmp(ALGORITHM,'seq') wolffd@0: alpha_type = STRAIN1.alpha_type; %%% only in sequential wolffd@0: Handle = findobj(gcf,'Tag','StaticText28'); wolffd@0: temp = strcat('alpha type:',alpha_type); wolffd@0: set(Handle,'String',temp); wolffd@0: end wolffd@0: Handle = findobj(gcf,'Tag','StaticText11'); wolffd@0: temp = strcat('neigh: ',neigh); wolffd@0: set(Handle,'String',temp); wolffd@0: Handle = findobj(gcf,'Tag','StaticText22'); wolffd@0: temp = num2str(rad_fin1); wolffd@0: temp = strcat('radius final:',temp); wolffd@0: set(Handle,'String',temp); wolffd@0: Handle = findobj(gcf,'Tag','StaticText25'); wolffd@0: temp = num2str(rad_fin2); wolffd@0: temp = strcat('radius final:',temp); wolffd@0: set(Handle,'String',temp); wolffd@0: Handle = findobj(gcf,'Tag','StaticText11'); wolffd@0: temp = strcat('neigh: ',neigh); wolffd@0: set(Handle,'String',temp); wolffd@0: Handle = findobj(gcf,'Tag','StaticText17'); wolffd@0: temp = num2str(rad_ini1); wolffd@0: temp = strcat('radius initial:',temp); wolffd@0: set(Handle,'String',temp); wolffd@0: Handle = findobj(gcf,'Tag','StaticText24'); wolffd@0: temp = num2str(rad_ini2); wolffd@0: temp = strcat('radius initial:',temp); wolffd@0: set(Handle,'String',temp); wolffd@0: Handle = findobj(gcf,'Tag','StaticText16'); wolffd@0: temp = num2str(trainlen1); wolffd@0: temp = strcat('training length:',temp); wolffd@0: set(Handle,'String',temp); wolffd@0: Handle = findobj(gcf,'Tag','StaticText23'); wolffd@0: temp = num2str(trainlen2); wolffd@0: temp = strcat('training length:',temp); wolffd@0: set(Handle,'String',temp); wolffd@0: Handle = findobj(gcf,'Tag','StaticText26'); wolffd@0: temp = strcat('alpha initial:',alpha_ini1); wolffd@0: set(Handle,'String',temp); wolffd@0: Handle = findobj(gcf,'Tag','StaticText27'); wolffd@0: temp = strcat('alpha initial:',alpha_ini2); wolffd@0: set(Handle,'String',temp); wolffd@0: wolffd@0: wolffd@0: function [] = init(); wolffd@0: global INIT_TYPE MAP NEWMAP ALGORITHM SOTHERS DATA STOPOLINIT; wolffd@0: if strcmp(INIT_TYPE,'random') wolffd@0: MAP = som_randinit(DATA,STOPOLINIT); wolffd@0: else wolffd@0: MAP = som_lininit(DATA,STOPOLINIT); wolffd@0: end wolffd@0: NEWMAP = MAP; wolffd@0: temp = 'Map:'; wolffd@0: temp = strcat(temp,' <',MAP.name,'>'); wolffd@0: Handle = findobj(gcbf,'Tag','StaticText3'); wolffd@0: set(Handle,'String',temp); wolffd@0: Handle = findobj(gcbf,'Tag','StaticText10'); wolffd@0: set(Handle,'String','Status '); wolffd@0: ALGORITHM = 'batch'; wolffd@0: Handle = findobj(gcbf,'Tag','Pushbutton4'); wolffd@0: set(Handle,'Enable','off'); wolffd@0: Handle = findobj(gcbf,'Tag','Pushbutton6'); wolffd@0: set(Handle,'Enable','on'); wolffd@0: Handle = findobj(gcbf,'Tag','Pushbutton5'); wolffd@0: set(Handle,'Enable','on'); wolffd@0: SOTHERS.tracking = '1'; wolffd@0: SOTHERS.length_type = 'epochs'; wolffd@0: SOTHERS.oder = 'random'; wolffd@0: som_gui('def_values_topol'); wolffd@0: som_gui('def_values_train'); wolffd@0: som_gui('def_values_others'); wolffd@0: som_gui('fill_fields'); wolffd@0: Handle = findobj(gcbf,'Tag','Pushbutton4'); wolffd@0: set(Handle,'Enable','off'); wolffd@0: Handle = findobj(gcbf,'Tag','Pushbutton9'); wolffd@0: set(Handle,'Enable','off'); wolffd@0: Handle = findobj(gcbf,'Tag','Radiobutton1'); wolffd@0: set(Handle,'Enable','on'); wolffd@0: Handle = findobj(gcbf,'Tag','&Init&TrainChange initialization valuesuimenu1'); wolffd@0: set(Handle,'Enable','on'); wolffd@0: Handle = findobj(gcbf,'Tag','&Init&TrainTrain1'); wolffd@0: set(Handle,'Enable','on'); wolffd@0: Handle = findobj(gcbf,'Tag','&Help/InfoData infouimenu1'); wolffd@0: set(Handle,'Enable','on'); wolffd@0: Handle = findobj(gcbf,'Tag','Subuimenu2'); wolffd@0: set(Handle,'Enable','off'); wolffd@0: Handle = findobj(gcbf,'Tag','&Init&Trainuimenu1'); wolffd@0: set(Handle,'Enable','off'); wolffd@0: Handle = findobj(gcbf,'Tag','&Init&TrainInitialize1'); wolffd@0: set(Handle,'Enable','off'); %%%%%%%%%%%?????????? wolffd@0: Handle = findobj(gcbf,'Tag','StaticText9'); wolffd@0: set(Handle,'String','training type: batch'); wolffd@0: wolffd@0: wolffd@0: wolffd@0: function [] = set_batch_mask() wolffd@0: Handle = findobj(gcbf,'Tag','Listbox2'); wolffd@0: temp = get(Handle,'String'); wolffd@0: mask = str2num(temp); wolffd@0: Handle = findobj(gcbf,'Tag','Listbox1'); wolffd@0: replace = get(Handle,'Value'); wolffd@0: Handle = findobj(gcbf,'Tag','EditText2'); wolffd@0: temp = get(Handle,'String'); wolffd@0: value = str2num(temp); wolffd@0: if not(isempty(value)) wolffd@0: mask(replace) = value; wolffd@0: Handle = findobj(gcbf,'Tag','Listbox2'); wolffd@0: temp = num2str(mask); wolffd@0: set(Handle,'String',temp); wolffd@0: end wolffd@0: wolffd@0: function [] = munits() wolffd@0: global DATA STOPOLINIT; wolffd@0: msgs = {'Correct map units is number';'Correct map units is number'}; wolffd@0: [msgs_nro, value] = check_ok('EditText2'); wolffd@0: if msgs_nro > 0 wolffd@0: errordlg({msgs{msgs_nro}},'Incorrect map units!') wolffd@0: return; wolffd@0: end wolffd@0: STOPOLINIT = som_topol_struct('munits',value,'data',DATA); wolffd@0: Handle = findobj(gcbf,'Tag','EditText1'); wolffd@0: temp = num2str(STOPOLINIT.msize); wolffd@0: msize = strcat('[',temp,']'); wolffd@0: set(Handle,'String',msize); wolffd@0: wolffd@0: function [] = map_size() wolffd@0: global STOPOLINIT; wolffd@0: msgs = {'Map size must be in form [x y]';... wolffd@0: 'Map size must be in form [x y]'}; wolffd@0: [msgs_nro, value, Handle] = msize_ok('EditText1'); wolffd@0: if msgs_nro > 0 wolffd@0: errordlg({msgs{msgs_nro}},'Incorrect map size!'); wolffd@0: temp = num2str(STOPOLINIT.msize); wolffd@0: temp = strcat('[',temp,']'); wolffd@0: set(Handle,'String',temp); wolffd@0: return; wolffd@0: end wolffd@0: STOPOLINIT.msize = value; wolffd@0: Handle = findobj(gcbf,'Tag','EditText2'); wolffd@0: set(Handle,'String',''); wolffd@0: wolffd@0: wolffd@0: %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% wolffd@0: %%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%% wolffd@0: %%%%%%%%%%%%%%%%% END OF INITIALIZATION %%%%%%%%%%%%%%%%%%% wolffd@0: %%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%% wolffd@0: %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% wolffd@0: wolffd@0: wolffd@0: %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% wolffd@0: %%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%% wolffd@0: %%%%%%%%%%%%%%%%% START OF TRAINING %%%%%%%%%%%%%%%%%%% wolffd@0: %%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%% wolffd@0: %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% wolffd@0: wolffd@0: wolffd@0: function [] = def_train() wolffd@0: global SOTHERS ALGORITHM MAP NEWST DATA STRAIN1 STRAIN2 MAPSAVED; wolffd@0: tlen_type = SOTHERS.length_type; wolffd@0: sample_order = SOTHERS.oder; wolffd@0: tracking = SOTHERS.tracking; wolffd@0: test = str2num(tracking); wolffd@0: Handle = findobj(gcbf,'Tag','Radiobutton1'); wolffd@0: tempval = get(Handle,'Value'); wolffd@0: if strcmp(ALGORITHM,'seq') wolffd@0: if tempval ~= 1 wolffd@0: [MAP NEWST] = som_seqtrain(MAP,DATA,'train',STRAIN1,tlen_type,sample_order); wolffd@0: end wolffd@0: if test > 1 wolffd@0: figure; wolffd@0: set(gcf,'Name',MAP.name); wolffd@0: set(gcf,'NumberTitle','off'); wolffd@0: end wolffd@0: [NEWMAP NEWST] = som_seqtrain(MAP,DATA,'train',STRAIN2,'tracking',test,tlen_type,sample_order); wolffd@0: else wolffd@0: if tempval ~= 1 wolffd@0: [MAP NEWST] = som_batchtrain(MAP,DATA,'train',STRAIN1); wolffd@0: end wolffd@0: if test > 1 wolffd@0: figure; wolffd@0: set(gcf,'Name',MAP.name); wolffd@0: set(gcf,'NumberTitle','off'); wolffd@0: end wolffd@0: [NEWMAP NEWST] = som_batchtrain(MAP,DATA,'train',STRAIN2,'tracking',test); wolffd@0: end wolffd@0: MAP = NEWMAP; wolffd@0: clear MAPSAVED; wolffd@0: Handle = findobj(gcbf,'Tag','StaticText10'); wolffd@0: set(Handle,'String','Status '); wolffd@0: Handle = findobj(gcbf,'Tag','Load/SaveSubuimenu1'); wolffd@0: set(Handle,'Enable','on'); wolffd@0: Handle = findobj(gcbf,'Tag','Load/SaveSave mapuimenu1'); wolffd@0: set(Handle,'Enable','on'); wolffd@0: Handle = findobj(gcbf,'Tag','&Load/SaveSave mapSave in workspaceuimenu1'); wolffd@0: set(Handle,'Enable','on'); wolffd@0: Handle = findobj(gcbf,'Tag','&ToolsSubuimenu1'); wolffd@0: set(Handle,'Enable','on'); wolffd@0: Handle = findobj(gcbf,'Tag','&Init&TrainChange initialization valuesuimenu1'); wolffd@0: set(Handle,'Enable','off'); wolffd@0: Handle = findobj(gcbf,'Tag','&Init&TrainTrain1'); wolffd@0: set(Handle,'Enable','off'); wolffd@0: wolffd@0: wolffd@0: function [] = change_def() wolffd@0: global ALGORITHM STRAIN1 DATA; wolffd@0: wolffd@0: ButtonName = questdlg('Select training type!',... wolffd@0: 'Change values.',... wolffd@0: 'Batch','Sequential','Cancel',... wolffd@0: 'Batch'); wolffd@0: if strcmp(ButtonName,'Sequential') wolffd@0: Handle = findobj(gcbf,'Visible','off'); wolffd@0: set(Handle,'Visible','on'); wolffd@0: ALGORITHM = 'seq'; wolffd@0: Handle = findobj(gcf,'Tag','StaticText9'); wolffd@0: set(Handle,'String','training type: sequential'); wolffd@0: new_para2_2; wolffd@0: Handle = findobj(gcf,'Tag','StaticText1'); wolffd@0: set(Handle,'String','Change parameters for sequential training'); wolffd@0: Handle = findobj(gcf,'Enable','off'); wolffd@0: set(Handle,'Enable','on'); wolffd@0: Handle = findobj(gcf,'Visible','off'); wolffd@0: set(Handle,'Visible','on'); wolffd@0: elseif strcmp(ButtonName,'Batch') wolffd@0: ALGORITHM = 'batch'; wolffd@0: Handle = findobj(gcbf,'Tag','StaticText26'); wolffd@0: set(Handle,'Visible','off'); wolffd@0: Handle = findobj(gcbf,'Tag','StaticText27'); wolffd@0: set(Handle,'Visible','off'); wolffd@0: Handle = findobj(gcf,'Tag','StaticText9'); wolffd@0: set(Handle,'String','training type: batch'); wolffd@0: Handle = findobj(gcf,'Tag','StaticText12'); wolffd@0: set(Handle,'Visible','off'); wolffd@0: Handle = findobj(gcf,'Tag','StaticText28'); wolffd@0: set(Handle,'Visible','off'); wolffd@0: Handle = findobj(gcf,'Tag','StaticText14'); wolffd@0: set(Handle,'Visible','off'); wolffd@0: new_para2_2; wolffd@0: Handle = findobj(gcf,'Tag','StaticText1'); wolffd@0: set(Handle,'String','Change parameters for batch training'); wolffd@0: Handle = findobj(gcf,'Tag','PopupMenu3'); wolffd@0: set(Handle,'Enable','off'); wolffd@0: set(Handle,'Visible','off'); wolffd@0: Handle = findobj(gcf,'Tag','PopupMenu4'); wolffd@0: set(Handle,'Enable','off'); wolffd@0: set(Handle,'Visible','off'); wolffd@0: Handle = findobj(gcf,'Tag','PopupMenu5'); wolffd@0: set(Handle,'Enable','off'); wolffd@0: set(Handle,'Visible','off'); wolffd@0: Handle = findobj(gcf,'Tag','StaticText17'); wolffd@0: set(Handle,'Visible','off'); wolffd@0: Handle = findobj(gcf,'Tag','StaticText18'); wolffd@0: set(Handle,'Visible','off'); wolffd@0: Handle = findobj(gcf,'Tag','StaticText19'); wolffd@0: set(Handle,'Visible','off'); wolffd@0: Handle = findobj(gcf,'Tag','StaticText13'); wolffd@0: set(Handle,'Visible','off'); wolffd@0: Handle = findobj(gcf,'Tag','StaticText14'); wolffd@0: set(Handle,'Visible','off'); wolffd@0: Handle = findobj(gcf,'Tag','EditText6'); wolffd@0: set(Handle,'Visible','off'); wolffd@0: set(Handle,'Enable','off'); wolffd@0: Handle = findobj(gcf,'Tag','EditText10'); wolffd@0: set(Handle,'Visible','off'); wolffd@0: set(Handle,'Enable','off'); wolffd@0: else wolffd@0: return; wolffd@0: end wolffd@0: som_gui('def_values_train'); wolffd@0: mask = STRAIN1.mask; wolffd@0: Handle = findobj(gcf,'Tag','Listbox1'); wolffd@0: set(Handle,'String',DATA.comp_names); wolffd@0: som_gui('fill_new_defaults'); wolffd@0: wolffd@0: wolffd@0: function [] = fill_new_defaults() wolffd@0: global STRAIN1 STRAIN2 SOTHERS ALGORITHM; wolffd@0: wolffd@0: Handle = findobj(gcf,'Tag','EditText4'); wolffd@0: temp = num2str(STRAIN1.radius_ini); wolffd@0: set(Handle,'String',temp); wolffd@0: Handle = findobj(gcf,'Tag','EditText8'); wolffd@0: temp = num2str(STRAIN2.radius_ini); wolffd@0: set(Handle,'String',temp); wolffd@0: Handle = findobj(gcf,'Tag','EditText5'); wolffd@0: temp = num2str(STRAIN1.radius_fin); wolffd@0: set(Handle,'String',temp); wolffd@0: Handle = findobj(gcf,'Tag','EditText9'); wolffd@0: temp = num2str(STRAIN2.radius_fin); wolffd@0: set(Handle,'String',temp); wolffd@0: Handle = findobj(gcf,'Tag','EditText6'); wolffd@0: temp = num2str(STRAIN1.alpha_ini); wolffd@0: set(Handle,'String',temp); wolffd@0: Handle = findobj(gcf,'Tag','EditText10'); wolffd@0: temp = num2str(STRAIN2.alpha_ini); wolffd@0: set(Handle,'String',temp); wolffd@0: Handle = findobj(gcf,'Tag','EditText7'); wolffd@0: temp = num2str(STRAIN1.trainlen); wolffd@0: set(Handle,'String',temp); wolffd@0: Handle = findobj(gcf,'Tag','EditText11'); wolffd@0: temp = num2str(STRAIN2.trainlen); wolffd@0: set(Handle,'String',temp); wolffd@0: Handle = findobj(gcf,'Tag','Listbox2'); wolffd@0: temp = num2str(STRAIN1.mask'); wolffd@0: set(Handle,'String',temp); wolffd@0: Handle = findobj(gcf,'Tag','PopupMenu2'); wolffd@0: string = get(Handle,'String'); wolffd@0: val = loop(string,SOTHERS.tracking); wolffd@0: set(Handle,'Value',val); wolffd@0: Handle = findobj(gcf,'Tag','PopupMenu1'); wolffd@0: string = get(Handle,'String'); wolffd@0: val = loop(string,STRAIN1.neigh); wolffd@0: set(Handle,'Value',val); wolffd@0: if strcmp(ALGORITHM,'seq') wolffd@0: Handle = findobj(gcf,'Tag','PopupMenu3'); wolffd@0: string = get(Handle,'String'); wolffd@0: val = loop(string,SOTHERS.length_type); wolffd@0: set(Handle,'Value',val); wolffd@0: Handle = findobj(gcf,'Tag','PopupMenu4'); wolffd@0: string = get(Handle,'String'); wolffd@0: val = loop(string,SOTHERS.oder); wolffd@0: set(Handle,'Value',val); wolffd@0: Handle = findobj(gcf,'Tag','PopupMenu5'); wolffd@0: string = get(Handle,'String'); wolffd@0: val = loop(string,STRAIN1.alpha_type); wolffd@0: set(Handle,'Value',val); wolffd@0: end wolffd@0: wolffd@0: wolffd@0: wolffd@0: function [] = set_new_parameters() wolffd@0: global STRAIN1 STRAIN2 ALGORITHM SOTHERS; wolffd@0: wolffd@0: Handle = findobj(gcbf,'Tag','Listbox2'); wolffd@0: temp = get(Handle,'String'); wolffd@0: mask = str2num(temp); %%%%%%%%%%%%% Do somthing wolffd@0: mask = mask'; wolffd@0: Handle = findobj(gcbf,'Tag','PopupMenu1'); wolffd@0: temp = get(Handle,'String'); wolffd@0: val = get(Handle,'Value'); wolffd@0: neigh = temp{val}; wolffd@0: Handle = findobj(gcbf,'Tag','PopupMenu2'); wolffd@0: temp = get(Handle,'String'); wolffd@0: val = get(Handle,'Value'); wolffd@0: SOTHERS.tracking = temp{val}; %%%%% finetune phase! wolffd@0: Handle = findobj(gcbf,'Tag','EditText4'); wolffd@0: temp = get(Handle,'String'); wolffd@0: rad_ini1 = str2num(temp); wolffd@0: Handle = findobj(gcbf,'Tag','EditText8'); wolffd@0: temp = get(Handle,'String'); wolffd@0: rad_ini2 = str2num(temp); wolffd@0: Handle = findobj(gcbf,'Tag','EditText5'); wolffd@0: temp = get(Handle,'String'); wolffd@0: rad_fin1 = str2num(temp); wolffd@0: Handle = findobj(gcbf,'Tag','EditText9'); wolffd@0: temp = get(Handle,'String'); wolffd@0: rad_fin2 = str2num(temp); wolffd@0: Handle = findobj(gcbf,'Tag','EditText6'); wolffd@0: temp = get(Handle,'String'); wolffd@0: alpha_ini1 = str2num(temp); wolffd@0: Handle = findobj(gcbf,'Tag','EditText10'); wolffd@0: temp = get(Handle,'String'); wolffd@0: alpha_ini2 = str2num(temp); wolffd@0: Handle = findobj(gcbf,'Tag','EditText7'); wolffd@0: temp = get(Handle,'String'); wolffd@0: train_length1 = str2num(temp); wolffd@0: Handle = findobj(gcbf,'Tag','EditText11'); wolffd@0: temp = get(Handle,'String'); wolffd@0: train_length2 = str2num(temp); wolffd@0: if strcmp(ALGORITHM,'seq') wolffd@0: Handle = findobj(gcbf,'Tag','PopupMenu3'); wolffd@0: temp = get(Handle,'String'); wolffd@0: val = get(Handle,'Value'); wolffd@0: SOTHERS.length_type = temp{val}; wolffd@0: Handle = findobj(gcbf,'Tag','PopupMenu4'); wolffd@0: temp = get(Handle,'String'); wolffd@0: val = get(Handle,'Value'); wolffd@0: SOTHERS.oder= temp{val}; wolffd@0: Handle = findobj(gcbf,'Tag','PopupMenu5'); wolffd@0: temp = get(Handle,'String'); wolffd@0: val = get(Handle,'Value'); wolffd@0: alpha_type = temp{val}; wolffd@0: else wolffd@0: alpha_type = 'inv'; wolffd@0: end wolffd@0: STRAIN1.neigh = neigh; wolffd@0: STRAIN2.neigh = neigh; wolffd@0: STRAIN1.mask = mask; wolffd@0: STRAIN2.mask = mask; wolffd@0: STRAIN1.radius_ini = rad_ini1; wolffd@0: STRAIN2.radius_ini = rad_ini2; wolffd@0: STRAIN1.radius_fin = rad_fin1; wolffd@0: STRAIN2.radius_fin = rad_fin2; wolffd@0: STRAIN1.alpha_ini = alpha_ini1; wolffd@0: STRAIN2.alpha_ini = alpha_ini2; wolffd@0: STRAIN1.alpha_type = alpha_type; wolffd@0: STRAIN2.alpha_type = alpha_type; wolffd@0: STRAIN1.trainlen = train_length1; wolffd@0: STRAIN2.trainlen = train_length2; wolffd@0: close(gcbf); wolffd@0: som_gui('fill_fields'); wolffd@0: som_gui('def_values_others'); wolffd@0: wolffd@0: function [] = only_finetune() wolffd@0: wolffd@0: Handle = findobj(gcbf,'Tag','Radiobutton1'); wolffd@0: test = get(Handle,'Value'); wolffd@0: if test == 1 wolffd@0: Handle = findobj(gcbf,'Tag','StaticText16'); wolffd@0: set(Handle,'Enable','off'); wolffd@0: Handle = findobj(gcbf,'Tag','StaticText17'); wolffd@0: set(Handle,'Enable','off'); wolffd@0: Handle = findobj(gcbf,'Tag','StaticText22'); wolffd@0: set(Handle,'Enable','off'); wolffd@0: Handle = findobj(gcbf,'Tag','StaticText26'); wolffd@0: set(Handle,'Enable','off'); wolffd@0: else wolffd@0: Handle = findobj(gcbf,'Tag','StaticText16'); wolffd@0: set(Handle,'Enable','on'); wolffd@0: Handle = findobj(gcbf,'Tag','StaticText17'); wolffd@0: set(Handle,'Enable','on'); wolffd@0: Handle = findobj(gcbf,'Tag','StaticText22'); wolffd@0: set(Handle,'Enable','on'); wolffd@0: Handle = findobj(gcbf,'Tag','StaticText26'); wolffd@0: set(Handle,'Enable','on'); wolffd@0: end wolffd@0: wolffd@0: wolffd@0: function [] = check_rough_radini() wolffd@0: global STRAIN1; wolffd@0: msgs = {'Initial radius must be number!';... wolffd@0: 'Initial radius must be single valued number!'}; wolffd@0: [msgs_nro, value, Handle] = check_ok('EditText4'); wolffd@0: if msgs_nro > 0 wolffd@0: errordlg({msgs{msgs_nro}},'Incorrect initial radius!') wolffd@0: temp = num2str(STRAIN1.radius_ini); wolffd@0: set(Handle,'String',temp); wolffd@0: return; wolffd@0: end wolffd@0: wolffd@0: wolffd@0: function [] = check_fine_radini() wolffd@0: global STRAIN2; wolffd@0: msgs = {'Initial radius must be number!';... wolffd@0: 'Initial radius must be single valued number!'}; wolffd@0: [msgs_nro, value, Handle] = check_ok('EditText8'); wolffd@0: if msgs_nro > 0 wolffd@0: errordlg({msgs{msgs_nro}},'Incorrect initial radius!') wolffd@0: temp = num2str(STRAIN2.radius_ini); wolffd@0: set(Handle,'String',temp); wolffd@0: return; wolffd@0: end wolffd@0: wolffd@0: function [] = check_rough_radfin() wolffd@0: global STRAIN1; wolffd@0: msgs = {'Final radius must be number!';... wolffd@0: 'Final radius must be single valued number!'}; wolffd@0: [msgs_nro, value, Handle] = check_ok('EditText5'); wolffd@0: if msgs_nro > 0 wolffd@0: errordlg({msgs{msgs_nro}},'Incorrect final radius!') wolffd@0: temp = num2str(STRAIN1.radius_fin); wolffd@0: set(Handle,'String',temp); wolffd@0: return; wolffd@0: end wolffd@0: wolffd@0: function [] = check_fine_radfin() wolffd@0: global STRAIN2; wolffd@0: msgs = {'Final radius must be number!';... wolffd@0: 'Final radius must be single valued number!'}; wolffd@0: [msgs_nro, value, Handle] = check_ok('EditText9'); wolffd@0: if msgs_nro > 0 wolffd@0: errordlg({msgs{msgs_nro}},'Incorrect final radius!') wolffd@0: temp = num2str(STRAIN2.radius_fin); wolffd@0: set(Handle,'String',temp); wolffd@0: return; wolffd@0: end wolffd@0: wolffd@0: function [] = check_rough_alphaini() wolffd@0: global STRAIN1; wolffd@0: msgs = {'Alpha initial must be number!';... wolffd@0: 'Alpha initial must be single valued number!'}; wolffd@0: [msgs_nro, value, Handle] = check_ok('EditText6'); wolffd@0: if msgs_nro > 0 wolffd@0: errordlg({msgs{msgs_nro}},'Incorrect initial alpha!') wolffd@0: temp = num2str(STRAIN1.alpha_ini); wolffd@0: set(Handle,'String',temp); wolffd@0: return; wolffd@0: end wolffd@0: wolffd@0: function [] = check_fine_alphaini() wolffd@0: global STRAIN2; wolffd@0: msgs = {'Alpha initial must be number!';... wolffd@0: 'Alpha initial must be single valued number!'}; wolffd@0: [msgs_nro, value, Handle] = check_ok('EditText10'); wolffd@0: if msgs_nro > 0 wolffd@0: errordlg({msgs{msgs_nro}},'Incorrect initial alpha!') wolffd@0: temp = num2str(STRAIN2.alpha_ini); wolffd@0: set(Handle,'String',temp); wolffd@0: return; wolffd@0: end wolffd@0: wolffd@0: function [] = check_rough_trainlen() wolffd@0: global STRAIN1; wolffd@0: msgs = {'Training length must be number!';... wolffd@0: 'Training length must be single valued number!'}; wolffd@0: [msgs_nro, value, Handle] = check_ok('EditText7'); wolffd@0: if msgs_nro > 0 wolffd@0: errordlg({msgs{msgs_nro}},'Incorrect training length!') wolffd@0: temp = num2str(STRAIN1.trainlen); wolffd@0: set(Handle,'String',temp); wolffd@0: return; wolffd@0: end wolffd@0: wolffd@0: function [] = check_fine_trainlen() wolffd@0: global STRAIN2; wolffd@0: wolffd@0: msgs = {'Training length must be number!';... wolffd@0: 'Training length must be single valued number!'}; wolffd@0: [msgs_nro, value, Handle] = check_ok('EditText11'); wolffd@0: if msgs_nro > 0 wolffd@0: errordlg({msgs{msgs_nro}},'Incorrect training length!') wolffd@0: temp = num2str(STRAIN2.trainlen); wolffd@0: set(Handle,'String',temp); wolffd@0: return; wolffd@0: end wolffd@0: wolffd@0: %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% wolffd@0: %%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%% wolffd@0: %%%%%%%%%%%%%%%%% END OF TRAINING %%%%%%%%%%%%%%%%%%% wolffd@0: %%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%% wolffd@0: %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% wolffd@0: wolffd@0: wolffd@0: %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% wolffd@0: %%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%% wolffd@0: %%%%%%%%%%%%%%%%% START OF SAVING %%%%%%%%%%%%%%%%%%% wolffd@0: %%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%% wolffd@0: %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% wolffd@0: wolffd@0: wolffd@0: function [] = savemap() wolffd@0: global MAP MAPSAVED; wolffd@0: if isempty(MAP) wolffd@0: str = {'There is no map to be saved! Train map before saving.'}; wolffd@0: helpdlg(str,'Empty map!'); wolffd@0: return; wolffd@0: end wolffd@0: [FileName Path] = uiputfile('*.cod','Save file!'); wolffd@0: if FileName ~= 0 wolffd@0: temp = strcat(Path,FileName); wolffd@0: som_write_cod(MAP,temp); wolffd@0: MAPSAVED = 'SAVED'; wolffd@0: end wolffd@0: Handle = findobj(gcf,'Tag','StaticText10'); wolffd@0: set(Handle,'String','Status '); wolffd@0: wolffd@0: function [] = save_workspace() wolffd@0: global MAP MAPSAVED; wolffd@0: if isempty(MAP) wolffd@0: str = {'There is no map to be saved! Train map before saving.'}; wolffd@0: helpdlg(str,'Empty map!'); wolffd@0: return; wolffd@0: else wolffd@0: prompt = {'Save map as?'}; wolffd@0: title = 'Save map!'; wolffd@0: lineNo = 1; wolffd@0: answer = inputdlg(prompt,title,lineNo); wolffd@0: if isempty(answer) wolffd@0: return; wolffd@0: end wolffd@0: if not(isempty(answer{1})) wolffd@0: ws_variable = evalin('base','who'); wolffd@0: max_length = 0; wolffd@0: for index = 1:size(ws_variable,1) wolffd@0: if max_length < size(ws_variable{index},2) wolffd@0: max_length = size(ws_variable{index},2); wolffd@0: end wolffd@0: end wolffd@0: length = max_length + 1; wolffd@0: tempfoo(1:1:length) = 'A'; wolffd@0: assignin('base',tempfoo,answer{1}); wolffd@0: str = ['exist(' tempfoo ')']; wolffd@0: temp = evalin('base',str); %%%%%%%%%%@@@@@@@@@ wolffd@0: evalin('base',['clear ' tempfoo ]) wolffd@0: if temp == 0 wolffd@0: assignin('base',answer{1},MAP); wolffd@0: MAPSAVED = 'SAVED'; wolffd@0: elseif temp ~= 0 wolffd@0: Questmsg = strcat('Variable',' ''',answer{1},'''',... wolffd@0: ' exist. Overwrite?'); wolffd@0: ButtonName = questdlg(Questmsg); wolffd@0: switch(ButtonName) wolffd@0: case 'Yes' wolffd@0: assignin('base',answer{1},MAP); wolffd@0: MAPSAVED = 'SAVED'; wolffd@0: case 'No' wolffd@0: som_gui('save_workspace'); wolffd@0: end wolffd@0: end wolffd@0: else wolffd@0: helpmsg = {'There cannot be any empty field in ''save'''}; wolffd@0: helpdlg(helpmsg,'Help Save!'); wolffd@0: som_gui('save'); wolffd@0: end wolffd@0: end wolffd@0: Handle = findobj(gcf,'Tag','StaticText10'); wolffd@0: set(Handle,'String','Status '); wolffd@0: wolffd@0: %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% wolffd@0: %%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%% wolffd@0: %%%%%%%%%%%%%%%%% END OF SAVING %%%%%%%%%%%%%%%%%%% wolffd@0: %%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%% wolffd@0: %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% wolffd@0: wolffd@0: %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% wolffd@0: %%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%% wolffd@0: %%%%%%%%%%%%%%%%% START OF HELP & INFO %%%%%%%%%%%%%%%%%%% wolffd@0: %%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%% wolffd@0: %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% wolffd@0: wolffd@0: %HEREXX wolffd@0: wolffd@0: function [] = data_info() wolffd@0: global DATA; wolffd@0: if isempty(DATA) wolffd@0: helpmsg = 'Load data first!'; wolffd@0: helpdlg(helpmsg,'Empty data!'); wolffd@0: return; wolffd@0: end wolffd@0: file_name = tempname; wolffd@0: file_name = strcat(file_name,'.m'); wolffd@0: fid = fopen(file_name,'w'); wolffd@0: fprintf(fid,'%% %+35s\n','DATA INFO'); wolffd@0: fprintf(fid,'%%\n'); wolffd@0: print_info(DATA,2,fid); wolffd@0: directory = tempdir; wolffd@0: addpath (directory); wolffd@0: helpwin (file_name); wolffd@0: fclose(fid); wolffd@0: delete(file_name); wolffd@0: rmpath (directory); wolffd@0: wolffd@0: wolffd@0: function [] = map_info() wolffd@0: global MAP; wolffd@0: if isempty(MAP) wolffd@0: helpmsg = 'There is no map!'; wolffd@0: helpdlg(helpmsg,'Empty map!'); wolffd@0: return; wolffd@0: end wolffd@0: file_name = tempname; wolffd@0: file_name = strcat(file_name,'.m'); wolffd@0: fid = fopen(file_name,'w'); wolffd@0: fprintf(fid,'%% %+35s\n','MAP INFO'); wolffd@0: fprintf(fid,'%%\n'); wolffd@0: print_info(MAP,2,fid); wolffd@0: directory = tempdir; wolffd@0: addpath (directory); wolffd@0: helpwin (file_name); wolffd@0: fclose(fid); wolffd@0: delete(file_name); wolffd@0: rmpath (directory); wolffd@0: wolffd@0: wolffd@0: function [] = helpwin1() wolffd@0: file1 = tempname; wolffd@0: file1 = strcat(file1,'.m'); wolffd@0: directory = tempdir; wolffd@0: html2tex('file:///share/somtoolbox/vs2/html/som_GUI.html',file1); wolffd@0: addpath (directory); wolffd@0: helpwin (file1); wolffd@0: rmpath (directory); wolffd@0: delete (file1); wolffd@0: wolffd@0: wolffd@0: wolffd@0: wolffd@0: %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% wolffd@0: %%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%% wolffd@0: %%%%%%%%%%%%%%%%% END OF HELP & INFO %%%%%%%%%%%%%%%%%%% wolffd@0: %%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%% wolffd@0: %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% wolffd@0: wolffd@0: wolffd@0: wolffd@0: %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% wolffd@0: %%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%% wolffd@0: %%%%%%%%%%%%%%%%% START OF OTHER FUNC %%%%%%%%%%%%%%%%%%% wolffd@0: %%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%% wolffd@0: %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% wolffd@0: wolffd@0: wolffd@0: wolffd@0: function [msgs_nro, value, Handle] = check_ok(Tag) wolffd@0: Handle = findobj(gcbf,'Tag',Tag); wolffd@0: temp = get(Handle,'String'); wolffd@0: value = str2num(temp); wolffd@0: if isempty(value) wolffd@0: msgs_nro = 1; wolffd@0: return; wolffd@0: end wolffd@0: [test1 test2] = size(value); wolffd@0: if test1 ~= 1 | test2 ~= 1 wolffd@0: msgs_nro = 2; wolffd@0: return; wolffd@0: end wolffd@0: msgs_nro = 0; wolffd@0: wolffd@0: wolffd@0: function [msgs_nro, value, Handle] = msize_ok(Tag) wolffd@0: Handle = findobj(gcbf,'Tag',Tag); wolffd@0: temp = get(Handle,'String'); wolffd@0: value = str2num(temp); wolffd@0: if isempty(value) wolffd@0: msgs_nro = 1; wolffd@0: return; wolffd@0: end wolffd@0: [test1 test2] = size(value); wolffd@0: if test1 ~= 1 | test2 ~= 2 wolffd@0: msgs_nro = 2; wolffd@0: return; wolffd@0: end wolffd@0: msgs_nro = 0; wolffd@0: wolffd@0: wolffd@0: %%% Changed 1.2.2000 wolffd@0: wolffd@0: function [] = visualize() wolffd@0: global MAP; wolffd@0: if isempty(MAP) wolffd@0: helpmsg = {'Train map before tryinig to visualize it!'}; wolffd@0: helpdlg(helpmsg,'Empty Map!'); wolffd@0: return; wolffd@0: end wolffd@0: wolffd@0: dim = size(MAP.codebook,2); wolffd@0: odim = 2; wolffd@0: [P,V] = pcaproj(MAP.codebook,odim); wolffd@0: ccode = som_colorcode(MAP, 'rgb1'); wolffd@0: wolffd@0: figure; wolffd@0: som_show(MAP,'umat','all','comp',1:dim,'norm','d'); wolffd@0: figure; wolffd@0: subplot(1,2,1) wolffd@0: som_grid(MAP,'Coord',P,'MarkerColor',ccode,'Markersize',5, ... wolffd@0: 'Linewidth',1,'Linecolor','k'); wolffd@0: xlabel('PC1'), ylabel('PC2') wolffd@0: title('PCA-projection (on the left), color coding (on the right)') wolffd@0: axis tight, axis equal wolffd@0: subplot(1,2,2) wolffd@0: som_cplane(MAP.topol.lattice,MAP.topol.msize,ccode); wolffd@0: wolffd@0: %msgbox('Save map in workspace. Load it from there.'); wolffd@0: %som_gui('save_workspace'); wolffd@0: %som_comp_vis; wolffd@0: wolffd@0: %%%%%%%%%%%%%%%% wolffd@0: wolffd@0: wolffd@0: function [] = clear_all() wolffd@0: wolffd@0: Handle = findobj(gcbf,'Enable','off'); wolffd@0: set(Handle,'Enable','on'); wolffd@0: Handle = findobj(gcbf,'Tag','Radiobutton1'); wolffd@0: set(Handle,'Value',0); wolffd@0: Handle = findobj(gcbf,'Tag','StaticText10'); wolffd@0: set(Handle,'String','Status '); wolffd@0: Handle = findobj(gcbf,'Tag','StaticText3'); wolffd@0: set(Handle,'String','Map: '); wolffd@0: Handle = findobj(gcbf,'Tag','StaticText4'); wolffd@0: set(Handle,'String','Data: '); wolffd@0: Handle = findobj(gcbf,'Tag','StaticText20'); wolffd@0: set(Handle,'String','lattice:'); wolffd@0: Handle = findobj(gcbf,'Tag','StaticText11'); wolffd@0: set(Handle,'String','neigh:'); wolffd@0: Handle = findobj(gcbf,'Tag','StaticText16'); wolffd@0: set(Handle,'String','training length:'); wolffd@0: Handle = findobj(gcbf,'Tag','StaticText23'); wolffd@0: set(Handle,'String','training length:'); wolffd@0: Handle = findobj(gcbf,'Tag','StaticText17'); wolffd@0: set(Handle,'String','radius initial:'); wolffd@0: Handle = findobj(gcbf,'Tag','StaticText24'); wolffd@0: set(Handle,'String','radius initial:'); wolffd@0: Handle = findobj(gcbf,'Tag','StaticText5'); wolffd@0: set(Handle,'String','map size:'); wolffd@0: Handle = findobj(gcbf,'Tag','StaticText21'); wolffd@0: set(Handle,'String','shape:'); wolffd@0: Handle = findobj(gcbf,'Tag','StaticText12'); wolffd@0: set(Handle,'String','order:'); wolffd@0: set(Handle,'Visible','off'); wolffd@0: Handle = findobj(gcbf,'Tag','StaticText14'); wolffd@0: set(Handle,'String','length type:'); wolffd@0: set(Handle,'Visible','off'); wolffd@0: Handle = findobj(gcbf,'Tag','StaticText22'); wolffd@0: set(Handle,'String','radius final:'); wolffd@0: Handle = findobj(gcbf,'Tag','StaticText25'); wolffd@0: set(Handle,'String','radius final:'); wolffd@0: Handle = findobj(gcbf,'Tag','StaticText19'); wolffd@0: set(Handle,'String','tracking:'); wolffd@0: Handle = findobj(gcbf,'Tag','StaticText7'); wolffd@0: set(Handle,'String','Initialization'); wolffd@0: Handle = findobj(gcbf,'Tag','StaticText28'); wolffd@0: set(Handle,'String','alpha type:'); wolffd@0: set(Handle,'Visible','off'); wolffd@0: Handle = findobj(gcbf,'Tag','StaticText26'); wolffd@0: set(Handle,'String','alpha initial:'); wolffd@0: Handle = findobj(gcbf,'Tag','StaticText27'); wolffd@0: set(Handle,'String','alpha initial:'); wolffd@0: Handle = findobj(gcbf,'Tag','StaticText6'); wolffd@0: set(Handle,'String','type:'); wolffd@0: Handle = findobj(gcbf,'Tag','StaticText9'); wolffd@0: set(Handle,'String','training type:'); wolffd@0: Handle = findobj(gcbf,'Tag','Pushbutton9'); wolffd@0: set(Handle,'Enable','off'); wolffd@0: Handle = findobj(gcbf,'Tag','Pushbutton6'); wolffd@0: set(Handle,'Enable','off'); wolffd@0: Handle = findobj(gcbf,'Tag','Pushbutton4'); wolffd@0: set(Handle,'Enable','off'); wolffd@0: Handle = findobj(gcbf,'Tag','Pushbutton5'); wolffd@0: set(Handle,'Enable','off'); wolffd@0: Handle = findobj(gcbf,'Tag','Pushbutton2'); wolffd@0: set(Handle,'Enable','on'); wolffd@0: Handle = findobj(gcbf,'Tag','Radiobutton1'); wolffd@0: set(Handle,'Enable','off'); wolffd@0: Handle = findobj(gcbf,'Tag','Load/SaveSave mapuimenu1'); wolffd@0: set(Handle,'Enable','off'); wolffd@0: Handle = findobj(gcbf,'Tag','&Load/SaveSave mapSave in workspaceuimenu1'); wolffd@0: set(Handle,'Enable','off'); wolffd@0: Handle = findobj(gcbf,'Tag','Subuimenu2'); wolffd@0: set(Handle,'Enable','off'); wolffd@0: Handle = findobj(gcbf,'Tag','&ToolsSubuimenu1'); wolffd@0: set(Handle,'Enable','off'); wolffd@0: Handle = findobj(gcbf,'Tag','&Help/InfoHelp windowuimenu1'); wolffd@0: set(Handle,'Enable','off'); wolffd@0: Handle = findobj(gcbf,'Tag','&Help/InfoData infouimenu1'); wolffd@0: set(Handle,'Enable','off'); wolffd@0: Handle = findobj(gcbf,'Tag','&Init&Trainuimenu1'); wolffd@0: set(Handle,'Enable','off'); wolffd@0: Handle = findobj(gcbf,'Tag','&Init&TrainInitialize1'); wolffd@0: set(Handle,'Enable','off'); wolffd@0: Handle = findobj(gcbf,'Tag','&Init&TrainChange initialization valuesuimenu1'); wolffd@0: set(Handle,'Enable','off'); wolffd@0: Handle = findobj(gcbf,'Tag','&Init&TrainTrain1'); wolffd@0: set(Handle,'Enable','off'); wolffd@0: Handle = findobj(gcbf,'Tag','Load/SaveSubuimenu1'); wolffd@0: set(Handle,'Enable','off'); wolffd@0: Handle = findobj(gcbf,'String','alpha initial:'); wolffd@0: set(Handle,'Visible','off'); wolffd@0: clear; wolffd@0: clear global; wolffd@0: wolffd@0: wolffd@0: function [] = close_fig() wolffd@0: global MAPSAVED NEWMAP; wolffd@0: if isempty(MAPSAVED) wolffd@0: if not(isempty(NEWMAP)) wolffd@0: quest = 'Save map before closing?'; wolffd@0: ButtonName = questdlg(quest); wolffd@0: switch ButtonName wolffd@0: case 'Yes' wolffd@0: som_gui('savemap'); wolffd@0: som_gui('clear'); wolffd@0: clear global; wolffd@0: close(gcbf); wolffd@0: case 'No' wolffd@0: som_gui('clear'); wolffd@0: clear global; wolffd@0: close(gcbf); wolffd@0: case 'Cancel' wolffd@0: end wolffd@0: else wolffd@0: som_gui('clear'); wolffd@0: clear global; wolffd@0: close(gcbf); wolffd@0: end wolffd@0: else wolffd@0: som_gui('clear'); wolffd@0: clear global; wolffd@0: close(gcbf); wolffd@0: end wolffd@0: wolffd@0: wolffd@0: function [] = preprocess_gui() wolffd@0: global DATA; wolffd@0: if isempty(DATA) wolffd@0: helpmsg = {'Load data before tryinig to preprocess!'}; wolffd@0: helpdlg(helpmsg,'Empty Data!'); wolffd@0: return; wolffd@0: end wolffd@0: preprocess(DATA); wolffd@0: waitfor(gcf); wolffd@0: prompt = {'Name of preprocessed data in workspace?'}; wolffd@0: tittle = 'Reload preprocessed data!'; wolffd@0: lineNo = 1; wolffd@0: def = {DATA.name}; wolffd@0: answer = inputdlg(prompt,tittle,lineNo,def); wolffd@0: if isempty(answer) wolffd@0: return; wolffd@0: end wolffd@0: data = answer{1}; wolffd@0: new_name = retname; wolffd@0: assignin('base',new_name,data); wolffd@0: str = ['exist(' new_name ')']; wolffd@0: temp = evalin('base',str); wolffd@0: if temp ~= 1 wolffd@0: temp = strcat('Variable ''',data,''' doesn''t exist in workspace.',... wolffd@0: 'Old Data which is not preprocessed will be used.'); wolffd@0: errordlg(temp,'Unknown variable!'); wolffd@0: return; wolffd@0: end wolffd@0: evalin('base',['clear ' new_name ]) wolffd@0: Handle = findobj(gcf,'Tag','StaticText4'); wolffd@0: temp = strcat('Data: <',data,'>'); wolffd@0: set(Handle,'String',temp); wolffd@0: Handle = findobj(gcf,'Tag','StaticText10'); wolffd@0: set(Handle,'String','Status '); wolffd@0: temp = evalin('base',data); wolffd@0: DATA.data = temp; wolffd@0: som_gui('def_initialization'); wolffd@0: wolffd@0: wolffd@0: function [val] = loop(cell_data, search_data) wolffd@0: for val = 1: length(cell_data) wolffd@0: if strcmp(cell_data{val},search_data) wolffd@0: break; wolffd@0: end wolffd@0: end wolffd@0: if not(strcmp(cell_data{val},search_data)) wolffd@0: val = -1; wolffd@0: end wolffd@0: wolffd@0: wolffd@0: function [] = comp_names(names,fid) wolffd@0: last = size(names); wolffd@0: for index=1:last wolffd@0: fprintf(fid,'%% %s\n',names{index}) wolffd@0: end wolffd@0: wolffd@0: function [] = fill_field(names,mask,fid) wolffd@0: last = size(mask); wolffd@0: for index=1:last wolffd@0: num = num2str(mask(index)) wolffd@0: fprintf(fid,'%% %-15s %-2s\n',names{index},num) wolffd@0: end wolffd@0: wolffd@0: wolffd@0: %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% wolffd@0: %%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%% wolffd@0: %%%%%%%%%%%%%%%%% END OF OTHER FUNC %%%%%%%%%%%%%%%%%%% wolffd@0: %%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%% wolffd@0: %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% wolffd@0: wolffd@0: wolffd@0: wolffd@0: wolffd@0: function fig = main_gui() wolffd@0: wolffd@0: v = version; wolffd@0: ver_53_or_newer = (str2num(v(1:3)) >= 5.3); wolffd@0: wolffd@0: h0 = figure('Units','normalized', ... wolffd@0: 'Color',[0.85 0.85 0.85], ... wolffd@0: 'Name','SOM Toolbox -- Initialization & Training', ... wolffd@0: 'NumberTitle','off', ... wolffd@0: 'PaperPosition',[18 180 576 432], ... wolffd@0: 'PaperUnits','points', ... wolffd@0: 'Position',[0.3296875 0.28125 0.3828125 0.576171875], ... wolffd@0: 'Tag','Fig1'); wolffd@0: if ver_53_or_newer, set(h0,'ToolBar','none'); end wolffd@0: wolffd@0: h1 = uimenu('Parent',h0, ... wolffd@0: 'Label','&Load/Save', ... wolffd@0: 'Tag','uimenu1'); wolffd@0: h2 = uimenu('Parent',h1, ... wolffd@0: 'Callback','som_gui(''load_data'');',... wolffd@0: 'Label','Load Data', ... wolffd@0: 'Tag','Subuimenu1'); wolffd@0: h2 = uimenu('Parent',h1, ... wolffd@0: 'Label','Save map', ... wolffd@0: 'Enable','off',... wolffd@0: 'Tag','Load/SaveSubuimenu1'); wolffd@0: h3 = uimenu('Parent',h2, ... wolffd@0: 'Callback','som_gui(''save_workspace'');', ... wolffd@0: 'Enable','off', ... wolffd@0: 'Label','Save in workspace', ... wolffd@0: 'Tag','Load/SaveSave mapuimenu1'); wolffd@0: h3 = uimenu('Parent',h2, ... wolffd@0: 'Callback','som_gui(''savemap'');', ... wolffd@0: 'Enable','off', ... wolffd@0: 'Label','Write cod-file', ... wolffd@0: 'Tag','&Load/SaveSave mapSave in workspaceuimenu1'); wolffd@0: h1 = uimenu('Parent',h0, ... wolffd@0: 'Label','&Utilities', ... wolffd@0: 'Tag','uimenu2'); wolffd@0: h2 = uimenu('Parent',h1, ... wolffd@0: 'Callback','som_gui(''preprocess'');', ... wolffd@0: 'Enable','off', ... wolffd@0: 'Label','Preprocess Data', ... wolffd@0: 'Tag','Subuimenu2'); wolffd@0: h2 = uimenu('Parent',h1, ... wolffd@0: 'Callback','som_gui(''visualize'');', ... wolffd@0: 'Enable','off', ... wolffd@0: 'Label','Visualize Map', ... wolffd@0: 'Tag','&ToolsSubuimenu1'); wolffd@0: h2 = uimenu('Parent',h1, ... wolffd@0: 'Callback','som_gui(''clear_all'');', ... wolffd@0: 'Label','Clear all', ... wolffd@0: 'Tag','&ToolsSubuimenu2'); wolffd@0: h2 = uimenu('Parent',h1, ... wolffd@0: 'Callback','som_gui(''close'');', ... wolffd@0: 'Label','Close Figure', ... wolffd@0: 'Tag','&ToolsClear alluimenu1'); wolffd@0: h1 = uimenu('Parent',h0, ... wolffd@0: 'Label','&Info', ... wolffd@0: 'Tag','&ToolsClose Figureuimenu1'); wolffd@0: h2 = uimenu('Parent',h1, ... wolffd@0: 'Callback','som_gui(''help'');', ... wolffd@0: 'Label','WWW Help', ... wolffd@0: 'Tag','Helpuimenu1'); wolffd@0: h2 = uimenu('Parent',h1, ... wolffd@0: 'Callback','som_gui(''helpwin'');', ... wolffd@0: 'Label','Help window', ... wolffd@0: 'Tag','Helpuimenu2'); wolffd@0: h2 = uimenu('Parent',h1, ... wolffd@0: 'Callback','som_gui(''helpwin2'');', ... wolffd@0: 'Label','About GUI', ... wolffd@0: 'Tag','&Help/InfoHelp windowuimenu2'); wolffd@0: h2 = uimenu('Parent',h1, ... wolffd@0: 'Callback','som_gui(''data_info'');', ... wolffd@0: 'Enable','off', ... wolffd@0: 'Label','Data info', ... wolffd@0: 'Tag','&Help/InfoHelp windowuimenu1'); wolffd@0: h2 = uimenu('Parent',h1, ... wolffd@0: 'Callback','som_gui(''map_info'');', ... wolffd@0: 'Enable','off', ... wolffd@0: 'Label','Map info', ... wolffd@0: 'Tag','&Help/InfoData infouimenu1'); wolffd@0: h1 = uimenu('Parent',h0, ... wolffd@0: 'Label','&Init/Train', ... wolffd@0: 'Tag','&Init/Train1'); wolffd@0: h2 = uimenu('Parent',h1, ... wolffd@0: 'Callback','som_gui(''change_initialization'');', ... wolffd@0: 'Enable','off', ... wolffd@0: 'Label','Change initialization values', ... wolffd@0: 'Tag','&Init&Trainuimenu1'); wolffd@0: h2 = uimenu('Parent',h1, ... wolffd@0: 'Callback','som_gui(''init'');', ... wolffd@0: 'Enable','off', ... wolffd@0: 'Label','Initialize', ... wolffd@0: 'Tag','&Init&TrainInitialize1'); wolffd@0: h2 = uimenu('Parent',h1, ... wolffd@0: 'Callback','som_gui(''change_def'');', ... wolffd@0: 'Enable','off', ... wolffd@0: 'Label','Change training values', ... wolffd@0: 'Tag','&Init&TrainChange initialization valuesuimenu1'); wolffd@0: h2 = uimenu('Parent',h1, ... wolffd@0: 'Callback','som_gui(''def_train'');', ... wolffd@0: 'Enable','off', ... wolffd@0: 'Label','Train', ... wolffd@0: 'Tag','&Init&TrainTrain1'); wolffd@0: h1 = uicontrol('Parent',h0, ... wolffd@0: 'Units','normalized', ... wolffd@0: 'ListboxTop',0, ... wolffd@0: 'Position',[0.04081632653061224 0.01129943502824859 0.7619047619047619 0.9717514124293786], ... wolffd@0: 'Style','frame', ... wolffd@0: 'Tag','Frame1'); wolffd@0: h1 = uicontrol('Parent',h0, ... wolffd@0: 'Units','normalized', ... wolffd@0: 'ListboxTop',0, ... wolffd@0: 'Position',[0.06802721088435373 0.7909604519774012 0.7074829931972788 0.1807909604519774], ... wolffd@0: 'Style','frame', ... wolffd@0: 'Tag','Frame2'); wolffd@0: h1 = uicontrol('Parent',h0, ... wolffd@0: 'Units','normalized', ... wolffd@0: 'BackgroundColor',[0.9 0.9 0.9], ... wolffd@0: 'HorizontalAlignment','left', ... wolffd@0: 'ListboxTop',0, ... wolffd@0: 'Position',[0.09523809523809523 0.8527570621468927 0.6530612244897959 0.03389830508474576], ... wolffd@0: 'FontUnits','normalized',... wolffd@0: 'String','Map ', ... wolffd@0: 'Style','text', ... wolffd@0: 'Tag','StaticText3'); wolffd@0: h1 = uicontrol('Parent',h0, ... wolffd@0: 'Units','normalized', ... wolffd@0: 'BackgroundColor',[0.9 0.9 0.9], ... wolffd@0: 'HorizontalAlignment','left', ... wolffd@0: 'ListboxTop',0, ... wolffd@0: 'Position',[0.09523809523809523 0.8075593220338984 0.6530612244897959 0.03389830508474576], ... wolffd@0: 'String','Data ', ... wolffd@0: 'FontUnits','normalized',... wolffd@0: 'Style','text', ... wolffd@0: 'Tag','StaticText4'); wolffd@0: h1 = uicontrol('Parent',h0, ... wolffd@0: 'Units','normalized', ... wolffd@0: 'ListboxTop',0, ... wolffd@0: 'Position',[0.06802721088435373 0.5988700564971752 0.7074829931972788 0.1694915254237288], ... wolffd@0: 'Style','frame', ... wolffd@0: 'Tag','Frame3'); wolffd@0: h1 = uicontrol('Parent',h0, ... wolffd@0: 'Units','normalized', ... wolffd@0: 'ListboxTop',0, ... wolffd@0: 'Position',[0.1041 0.7356 0.6286 0.0271], ... wolffd@0: 'String','Initialization', ... wolffd@0: 'FontUnits','normalized',... wolffd@0: 'Style','text', ... wolffd@0: 'FontWeight','bold', ... wolffd@0: 'Tag','StaticText7'); wolffd@0: h1 = uicontrol('Parent',h0, ... wolffd@0: 'Units','normalized', ... wolffd@0: 'BackgroundColor',[0.9 0.9 0.9], ... wolffd@0: 'HorizontalAlignment','left', ... wolffd@0: 'ListboxTop',0, ... wolffd@0: 'Position',[0.4489795918367346 0.7005649717514124 0.2993197278911565 0.03389830508474576], ... wolffd@0: 'String','map size:', ... wolffd@0: 'FontUnits','normalized',... wolffd@0: 'Style','text', ... wolffd@0: 'Tag','StaticText5'); wolffd@0: h1 = uicontrol('Parent',h0, ... wolffd@0: 'Units','normalized', ... wolffd@0: 'BackgroundColor',[0.9 0.9 0.9], ... wolffd@0: 'HorizontalAlignment','left', ... wolffd@0: 'ListboxTop',0, ... wolffd@0: 'Position',[0.09523809523809523 0.6553672316384182 0.2993197278911565 0.03389830508474576], ... wolffd@0: 'String','lattice:', ... wolffd@0: 'FontUnits','normalized',... wolffd@0: 'Style','text', ... wolffd@0: 'Tag','StaticText20'); wolffd@0: h1 = uicontrol('Parent',h0, ... wolffd@0: 'Units','normalized', ... wolffd@0: 'BackgroundColor',[0.9 0.9 0.9], ... wolffd@0: 'HorizontalAlignment','left', ... wolffd@0: 'ListboxTop',0, ... wolffd@0: 'Position',[0.09523809523809523 0.7000000000000001 0.2993197278911565 0.03389830508474576], ... wolffd@0: 'String','type:', ... wolffd@0: 'FontUnits','normalized',... wolffd@0: 'Style','text', ... wolffd@0: 'Tag','StaticText6'); wolffd@0: h1 = uicontrol('Parent',h0, ... wolffd@0: 'Units','normalized', ... wolffd@0: 'BackgroundColor',[0.9 0.9 0.9], ... wolffd@0: 'HorizontalAlignment','left', ... wolffd@0: 'ListboxTop',0, ... wolffd@0: 'Position',[0.4489795918367346 0.6553672316384182 0.2993197278911565 0.03389830508474576], ... wolffd@0: 'String','shape:', ... wolffd@0: 'FontUnits','normalized',... wolffd@0: 'Style','text', ... wolffd@0: 'Tag','StaticText21'); wolffd@0: h1 = uicontrol('Parent',h0, ... wolffd@0: 'Units','normalized', ... wolffd@0: 'BackgroundColor',[0.752941176470588 0.752941176470588 0.752941176470588], ... wolffd@0: 'ListboxTop',0, ... wolffd@0: 'Position',[0.3129251700680272 0.6101694915254238 0.217687074829932 0.03389830508474576], ... wolffd@0: 'String','Change values', ... wolffd@0: 'FontUnits','normalized',... wolffd@0: 'Callback','som_gui(''change_initialization'');', ... wolffd@0: 'Enable','off', ... wolffd@0: 'Tag','Pushbutton9'); wolffd@0: h1 = uicontrol('Parent',h0, ... wolffd@0: 'Units','normalized', ... wolffd@0: 'ListboxTop',0, ... wolffd@0: 'Position',[0.06802721088435373 0.02259887005649718 0.7074829931972788 0.5536723163841808], ... wolffd@0: 'Style','frame', ... wolffd@0: 'Tag','Frame4'); wolffd@0: h1 = uicontrol('Parent',h0, ... wolffd@0: 'Units','normalized', ... wolffd@0: 'ListboxTop',0, ... wolffd@0: 'Position',[0.1041 0.5316 0.6429 0.0339], ... wolffd@0: 'String','Training', ... wolffd@0: 'FontUnits','normalized',... wolffd@0: 'Style','text', ... wolffd@0: 'FontWeight','bold', ... wolffd@0: 'Tag','StaticText8'); wolffd@0: h1 = uicontrol('Parent',h0, ... wolffd@0: 'Units','normalized', ... wolffd@0: 'BackgroundColor',[0.9 0.9 0.9], ... wolffd@0: 'ListboxTop',0, ... wolffd@0: 'Position',[0.09523809523809523 0.4971751412429379 0.6530612244897959 0.03389830508474576], ... wolffd@0: 'String','training type', ... wolffd@0: 'FontUnits','normalized',... wolffd@0: 'Style','text', ... wolffd@0: 'Tag','StaticText9'); wolffd@0: h1 = uicontrol('Parent',h0, ... wolffd@0: 'Units','normalized', ... wolffd@0: 'BackgroundColor',[0.9 0.9 0.9], ... wolffd@0: 'HorizontalAlignment','left', ... wolffd@0: 'ListboxTop',0, ... wolffd@0: 'Position',[0.4489795918367346 0.4519774011299435 0.2993197278911565 0.03389830508474576], ... wolffd@0: 'String','tracking:', ... wolffd@0: 'FontUnits','normalized',... wolffd@0: 'Style','text', ... wolffd@0: 'Tag','StaticText19'); wolffd@0: h1 = uicontrol('Parent',h0, ... wolffd@0: 'Units','normalized', ... wolffd@0: 'BackgroundColor',[0.9 0.9 0.9], ... wolffd@0: 'HorizontalAlignment','left', ... wolffd@0: 'ListboxTop',0, ... wolffd@0: 'Position',[0.09523809523809523 0.4519774011299435 0.2993197278911565 0.03389830508474576], ... wolffd@0: 'String','neigh:', ... wolffd@0: 'FontUnits','normalized',... wolffd@0: 'Style','text', ... wolffd@0: 'Tag','StaticText11'); wolffd@0: h1 = uicontrol('Parent',h0, ... wolffd@0: 'Units','normalized', ... wolffd@0: 'HorizontalAlignment','left', ... wolffd@0: 'BackgroundColor',[0.9 0.9 0.9], ... wolffd@0: 'ListboxTop',0, ... wolffd@0: 'Position',[0.09523809523809523 0.36519774011299435 0.2993197278911565 0.03389830508474576], ... wolffd@0: 'String','alpha type:', ... wolffd@0: 'FontUnits','normalized',... wolffd@0: 'Style','text', ... wolffd@0: 'Visible','off',... wolffd@0: 'Tag','StaticText28'); wolffd@0: h1 = uicontrol('Parent',h0, ... wolffd@0: 'Units','normalized', ... wolffd@0: 'BackgroundColor',[0.9 0.9 0.9], ... wolffd@0: 'ListboxTop',0, ... wolffd@0: 'HorizontalAlignment','left', ... wolffd@0: 'Position',[0.09523809523809523 0.4067796610169492 0.2993197278911565 0.03389830508474576], ... wolffd@0: 'String','length type:', ... wolffd@0: 'FontUnits','normalized',... wolffd@0: 'Style','text', ... wolffd@0: 'Visible','off',... wolffd@0: 'Tag','StaticText14'); wolffd@0: h1 = uicontrol('Parent',h0, ... wolffd@0: 'Units','normalized', ... wolffd@0: 'BackgroundColor',[0.9 0.9 0.9], ... wolffd@0: 'HorizontalAlignment','left', ... wolffd@0: 'ListboxTop',0, ... wolffd@0: 'Position',[0.4489795918367346 0.4067796610169492 0.2993197278911565 0.03389830508474576], ... wolffd@0: 'String','order:', ... wolffd@0: 'FontUnits','normalized',... wolffd@0: 'Style','text', ... wolffd@0: 'Visible','off',... wolffd@0: 'Tag','StaticText12'); wolffd@0: h1 = uicontrol('Parent',h0, ... wolffd@0: 'Units','normalized', ... wolffd@0: 'ListboxTop',0, ... wolffd@0: 'Position',[0.09523809523809523 0.07909604519774012 0.2993197278911565 0.2711864406779661], ... wolffd@0: 'Style','frame', ... wolffd@0: 'Tag','Frame5'); wolffd@0: h1 = uicontrol('Parent',h0, ... wolffd@0: 'Units','normalized', ... wolffd@0: 'ListboxTop',0, ... wolffd@0: 'Position',[0.4353741496598639 0.07909604519774012 0.2993197278911565 0.2711864406779661], ... wolffd@0: 'Style','frame', ... wolffd@0: 'Tag','Frame6'); wolffd@0: h1 = uicontrol('Parent',h0, ... wolffd@0: 'Units','normalized', ... wolffd@0: 'ListboxTop',0, ... wolffd@0: 'Position',[0.108843537414966 0.3050847457627119 0.2721088435374149 0.03389830508474576], ... wolffd@0: 'String','Rough', ... wolffd@0: 'FontUnits','normalized',... wolffd@0: 'Style','text', ... wolffd@0: 'Tag','StaticText13'); wolffd@0: h1 = uicontrol('Parent',h0, ... wolffd@0: 'Units','normalized', ... wolffd@0: 'ListboxTop',0, ... wolffd@0: 'Position',[0.4489795918367346 0.3050847457627119 0.2721088435374149 0.03389830508474576], ... wolffd@0: 'String','Finetune', ... wolffd@0: 'FontUnits','normalized',... wolffd@0: 'Style','text', ... wolffd@0: 'Tag','StaticText15'); wolffd@0: h1 = uicontrol('Parent',h0, ... wolffd@0: 'Units','normalized', ... wolffd@0: 'BackgroundColor',[0.9 0.9 0.9], ... wolffd@0: 'HorizontalAlignment','left', ... wolffd@0: 'ListboxTop',0, ... wolffd@0: 'Position',[0.108843537414966 0.1807909604519774 0.2721088435374149 0.03389830508474576], ... wolffd@0: 'String','training length:', ... wolffd@0: 'FontUnits','normalized',... wolffd@0: 'Style','text', ... wolffd@0: 'Tag','StaticText16'); wolffd@0: h1 = uicontrol('Parent',h0, ... wolffd@0: 'Units','normalized', ... wolffd@0: 'BackgroundColor',[0.9 0.9 0.9], ... wolffd@0: 'HorizontalAlignment','left', ... wolffd@0: 'ListboxTop',0, ... wolffd@0: 'Position',[0.108843537414966 0.2694915254237288 0.2714285714285714 0.03389830508474576], ... wolffd@0: 'String','radius initial:', ... wolffd@0: 'FontUnits','normalized',... wolffd@0: 'Style','text', ... wolffd@0: 'Tag','StaticText17'); wolffd@0: h1 = uicontrol('Parent',h0, ... wolffd@0: 'Units','normalized', ... wolffd@0: 'BackgroundColor',[0.9 0.9 0.9], ... wolffd@0: 'HorizontalAlignment','left', ... wolffd@0: 'ListboxTop',0, ... wolffd@0: 'Position',[0.1088 0.2260 0.2721 0.0339], ... wolffd@0: 'String','radius final:', ... wolffd@0: 'FontUnits','normalized',... wolffd@0: 'Style','text', ... wolffd@0: 'Tag','StaticText22'); wolffd@0: h1 = uicontrol('Parent',h0, ... wolffd@0: 'Units','normalized', ... wolffd@0: 'BackgroundColor',[0.9 0.9 0.9], ... wolffd@0: 'ListboxTop',0, ... wolffd@0: 'Position',[0.108843537414966 0.13694915254237288 0.2714285714285714 0.03389830508474576], ... wolffd@0: 'String','alpha initial:', ... wolffd@0: 'FontUnits','normalized',... wolffd@0: 'HorizontalAlignment','left', ... wolffd@0: 'Style','text', ... wolffd@0: 'Visible','off',... wolffd@0: 'Tag','StaticText26'); wolffd@0: h1 = uicontrol('Parent',h0, ... wolffd@0: 'Units','normalized', ... wolffd@0: 'BackgroundColor',[0.9 0.9 0.9], ... wolffd@0: 'HorizontalAlignment','left', ... wolffd@0: 'ListboxTop',0, ... wolffd@0: 'Position',[0.4489795918367346 0.1807909604519774 0.2721088435374149 0.03389830508474576], ... wolffd@0: 'String','training length:', ... wolffd@0: 'FontUnits','normalized',... wolffd@0: 'Style','text', ... wolffd@0: 'Tag','StaticText23'); wolffd@0: h1 = uicontrol('Parent',h0, ... wolffd@0: 'Units','normalized', ... wolffd@0: 'BackgroundColor',[0.9 0.9 0.9], ... wolffd@0: 'HorizontalAlignment','left', ... wolffd@0: 'ListboxTop',0, ... wolffd@0: 'Position',[0.4489795918367346 0.2711864406779661 0.2721088435374149 0.03389830508474576], ... wolffd@0: 'String','radius initial:', ... wolffd@0: 'FontUnits','normalized',... wolffd@0: 'Style','text', ... wolffd@0: 'Tag','StaticText24'); wolffd@0: h1 = uicontrol('Parent',h0, ... wolffd@0: 'Units','normalized', ... wolffd@0: 'BackgroundColor',[0.9 0.9 0.9], ... wolffd@0: 'HorizontalAlignment','left', ... wolffd@0: 'ListboxTop',0, ... wolffd@0: 'Position',[0.4490 0.2260 0.2721 0.0339], ... wolffd@0: 'String','radius final:', ... wolffd@0: 'FontUnits','normalized',... wolffd@0: 'Style','text', ... wolffd@0: 'Tag','StaticText25'); wolffd@0: h1 = uicontrol('Parent',h0, ... wolffd@0: 'Units','normalized', ... wolffd@0: 'BackgroundColor',[0.9 0.9 0.9], ... wolffd@0: 'ListboxTop',0, ... wolffd@0: 'Position',[0.4489795918367346 0.13694915254237288 0.2721088435374149 0.03389830508474576], ... wolffd@0: 'String','alpha initial:', ... wolffd@0: 'FontUnits','normalized',... wolffd@0: 'HorizontalAlignment','left', ... wolffd@0: 'Style','text', ... wolffd@0: 'Visible','off',... wolffd@0: 'Tag','StaticText27'); wolffd@0: h1 = uicontrol('Parent',h0, ... wolffd@0: 'Units','normalized', ... wolffd@0: 'BackgroundColor',[0.752941176470588 0.752941176470588 0.752941176470588], ... wolffd@0: 'ListboxTop',0, ... wolffd@0: 'Position',[0.3129251700680272 0.03389830508474576 0.217687074829932 0.03389830508474576], ... wolffd@0: 'String','Change values', ... wolffd@0: 'FontUnits','normalized',... wolffd@0: 'Callback','som_gui(''change_def'');', ... wolffd@0: 'Enable','off', ... wolffd@0: 'Tag','Pushbutton6'); wolffd@0: if ver_53_or_newer, set(h1,'TooltipString','Change default values in training.'); end wolffd@0: wolffd@0: h1 = uicontrol('Parent',h0, ... wolffd@0: 'Units','normalized', ... wolffd@0: 'BackgroundColor',[0.752941176470588 0.752941176470588 0.752941176470588], ... wolffd@0: 'ListboxTop',0, ... wolffd@0: 'Position',[0.8163265306122448 0.8152542372881356 0.163265306122449 0.05593220338983051], ... wolffd@0: 'String','LOAD', ... wolffd@0: 'FontUnits','normalized',... wolffd@0: 'Callback','som_gui(''load_data'');', ... wolffd@0: 'Tag','Pushbutton2'); wolffd@0: if ver_53_or_newer, set(h1,'TooltipString','Load data file.'); end wolffd@0: wolffd@0: h1 = uicontrol('Parent',h0, ... wolffd@0: 'Units','normalized', ... wolffd@0: 'BackgroundColor',[0.752941176470588 0.752941176470588 0.752941176470588], ... wolffd@0: 'ListboxTop',0, ... wolffd@0: 'Position',[0.8163265306122448 0.6457627118644068 0.163265306122449 0.05593220338983051], ... wolffd@0: 'String','INITIALIZE', ... wolffd@0: 'FontUnits','normalized',... wolffd@0: 'Callback','som_gui(''init'');', ... wolffd@0: 'Enable','off', ... wolffd@0: 'Tag','Pushbutton4'); wolffd@0: if ver_53_or_newer, set(h1,'TooltipString','Initialize map.'); end wolffd@0: wolffd@0: h1 = uicontrol('Parent',h0, ... wolffd@0: 'Units','normalized', ... wolffd@0: 'BackgroundColor',[0.752941176470588 0.752941176470588 0.752941176470588], ... wolffd@0: 'ListboxTop',0, ... wolffd@0: 'Position',[0.8163265306122448 0.384180790960452 0.163265306122449 0.05649717514124294], ... wolffd@0: 'String','TRAIN', ... wolffd@0: 'FontUnits','normalized',... wolffd@0: 'Callback','som_gui(''def_train'');', ... wolffd@0: 'Enable','off', ... wolffd@0: 'Tag','Pushbutton5'); wolffd@0: if ver_53_or_newer, set(h1,'TooltipString','Train map whit default values.'); end wolffd@0: wolffd@0: h1 = uicontrol('Parent',h0, ... wolffd@0: 'Units','normalized', ... wolffd@0: 'BackgroundColor',[0.752941176470588 0.752941176470588 0.752941176470588], ... wolffd@0: 'ListboxTop',0, ... wolffd@0: 'Position',[0.8163265306122448 0.06779661016949153 0.163265306122449 0.05649717514124294], ... wolffd@0: 'Callback','som_gui(''close'');', ... wolffd@0: 'String','CLOSE', ... wolffd@0: 'FontUnits','normalized',... wolffd@0: 'Tag','Pushbutton8'); wolffd@0: if ver_53_or_newer, set(h1,'TooltipString','Close figure.'); end wolffd@0: wolffd@0: h1 = uicontrol('Parent',h0, ... wolffd@0: 'Units','normalized', ... wolffd@0: 'BackgroundColor',[0.9 0.9 0.9], ... wolffd@0: 'HorizontalAlignment','left', ... wolffd@0: 'ListboxTop',0, ... wolffd@0: 'Position',[0.09387755102040815 0.897954802259887 0.6530612244897959 0.03389830508474576], ... wolffd@0: 'String','Status ', ... wolffd@0: 'FontUnits','normalized',... wolffd@0: 'Style','text', ... wolffd@0: 'Tag','StaticText10'); wolffd@0: h1 = uicontrol('Parent',h0, ... wolffd@0: 'Units','normalized', ... wolffd@0: 'ListboxTop',0, ... wolffd@0: 'Position',[0.108843537414966 0.0903954802259887 0.2721088435374149 0.03389830508474576], ... wolffd@0: 'String','Only finetune', ... wolffd@0: 'FontUnits','normalized',... wolffd@0: 'Callback','som_gui(''only_finetune'');', ... wolffd@0: 'Enable','off', ... wolffd@0: 'Style','radiobutton', ... wolffd@0: 'Tag','Radiobutton1'); wolffd@0: h1 = uicontrol('Parent',h0, ... wolffd@0: 'Units','normalized', ... wolffd@0: 'ListboxTop',0, ... wolffd@0: 'Position',[0.09523809523809523 0.9418531073446328 0.6530612244897959 0.0259887005649718], ... wolffd@0: 'String','Information', ... wolffd@0: 'FontUnits','normalized',... wolffd@0: 'FontWeight','bold', ... wolffd@0: 'Style','text', ... wolffd@0: 'Tag','StaticText18'); wolffd@0: if nargout > 0, fig = h0; end wolffd@0: wolffd@0: wolffd@0: %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% wolffd@0: wolffd@0: wolffd@0: %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% wolffd@0: wolffd@0: function fig = loadgui3() wolffd@0: wolffd@0: temp = {'dat file';'mat file'}; wolffd@0: wolffd@0: h0 = figure('Units','normalized', ... wolffd@0: 'Color',[0.8 0.8 0.8], ... wolffd@0: 'Name','Load data!', ... wolffd@0: 'NumberTitle','off', ... wolffd@0: 'PaperType','a4letter', ... wolffd@0: 'Position',[0.3828125 0.5 0.3421875 0.189453125], ... wolffd@0: 'Tag','Fig1'); wolffd@0: wolffd@0: h1 = uicontrol('Parent',h0, ... wolffd@0: 'Units','normalized', ... wolffd@0: 'ListboxTop',0, ... wolffd@0: 'Position',[0.02853881278538813 0.06443298969072164 0.7705479452054794 0.8698453608247422], ... wolffd@0: 'Style','frame', ... wolffd@0: 'Tag','Frame1'); wolffd@0: h1 = uicontrol('Parent',h0, ... wolffd@0: 'Units','normalized', ... wolffd@0: 'ListboxTop',0, ... wolffd@0: 'Position',[0.04337899543378995 0.547680412371134 0.7420091324200913 0.354381443298969], ... wolffd@0: 'Style','frame', ... wolffd@0: 'Tag','Frame2'); wolffd@0: h1 = uicontrol('Parent',h0, ... wolffd@0: 'Units','normalized', ... wolffd@0: 'ListboxTop',0, ... wolffd@0: 'Position',[0.04280821917808219 0.09664948453608246 0.7420091324200913 0.4188144329896907], ... wolffd@0: 'Style','frame', ... wolffd@0: 'Tag','Frame3'); wolffd@0: h1 = uicontrol('Parent',h0, ... wolffd@0: 'Units','normalized', ... wolffd@0: 'BackgroundColor',[0.701960784313725 0.701960784313725 0.701960784313725], ... wolffd@0: 'FontWeight','bold', ... wolffd@0: 'HorizontalAlignment','left', ... wolffd@0: 'ListboxTop',0, ... wolffd@0: 'Position',[0.05717762557077625 0.7881958762886597 0.2853881278538812 0.09664948453608246], ... wolffd@0: 'String','From', ... wolffd@0: 'FontUnits','normalized',... wolffd@0: 'Style','text', ... wolffd@0: 'Tag','StaticText1'); wolffd@0: h1 = uicontrol('Parent',h0, ... wolffd@0: 'Units','normalized', ... wolffd@0: 'Callback','som_gui(''workspace'');', ... wolffd@0: 'ListboxTop',0, ... wolffd@0: 'Position',[0.05107762557077625 0.7087628865979381 0.1997716894977169 0.09664948453608246], ... wolffd@0: 'String','Ws', ... wolffd@0: 'FontUnits','normalized',... wolffd@0: 'Style','radiobutton', ... wolffd@0: 'Tag','Radiobutton2'); wolffd@0: h1 = uicontrol('Parent',h0, ... wolffd@0: 'Units','normalized', ... wolffd@0: 'Callback','som_gui(''file'');', ... wolffd@0: 'ListboxTop',0, ... wolffd@0: 'Position',[0.05107762557077625 0.5773195876288659 0.2009132420091324 0.09793814432989689], ... wolffd@0: 'String','File', ... wolffd@0: 'FontUnits','normalized',... wolffd@0: 'Style','radiobutton', ... wolffd@0: 'Tag','Radiobutton1'); wolffd@0: h1 = uicontrol('Parent',h0, ... wolffd@0: 'Units','normalized', ... wolffd@0: 'BackgroundColor',[1 1 1], ... wolffd@0: 'Callback','Handle = findobj(gcbf,''Tag'',''EditText2'');set(Handle,''String'','''');',... wolffd@0: 'FontUnits','normalized',... wolffd@0: 'HorizontalAlignment','left', ... wolffd@0: 'ListboxTop',0, ... wolffd@0: 'Position',[0.2893881278538812 0.7087628865979381 0.3139269406392694 0.09664948453608246], ... wolffd@0: 'Style','edit', ... wolffd@0: 'Tag','EditText1'); wolffd@0: h1 = uicontrol('Parent',h0, ... wolffd@0: 'Units','normalized', ... wolffd@0: 'BackgroundColor',[1 1 1], ... wolffd@0: 'Callback','Handle = findobj(gcbf,''Tag'',''EditText1'');set(Handle,''String'','''');',... wolffd@0: 'FontUnits','normalized',... wolffd@0: 'HorizontalAlignment','left', ... wolffd@0: 'ListboxTop',0, ... wolffd@0: 'Position',[0.2893881278538812 0.5798969072164948 0.3139269406392694 0.09664948453608246], ... wolffd@0: 'Style','edit', ... wolffd@0: 'Tag','EditText2'); wolffd@0: h1 = uicontrol('Parent',h0, ... wolffd@0: 'Units','normalized', ... wolffd@0: 'BackgroundColor',[0.701960784313725 0.701960784313725 0.701960784313725], ... wolffd@0: 'Callback','som_gui(''browse'');', ... wolffd@0: 'ListboxTop',0, ... wolffd@0: 'Position',[0.6279 0.5799 0.1427 0.2255], ... wolffd@0: 'String','Browse', ... wolffd@0: 'FontUnits','normalized',... wolffd@0: 'Tag','Pushbutton1'); wolffd@0: h1 = uicontrol('Parent',h0, ... wolffd@0: 'Units','normalized', ... wolffd@0: 'BackgroundColor',[0.701960784313725 0.701960784313725 0.701960784313725], ... wolffd@0: 'Callback','som_gui(''load_ok'');', ... wolffd@0: 'ListboxTop',0, ... wolffd@0: 'Position',[0.8276 0.5577 0.1427 0.2255], ... wolffd@0: 'String','Load', ... wolffd@0: 'FontUnits','normalized',... wolffd@0: 'Tag','Pushbutton2'); wolffd@0: h1 = uicontrol('Parent',h0, ... wolffd@0: 'Units','normalized', ... wolffd@0: 'BackgroundColor',[0.701960784313725 0.701960784313725 0.701960784313725], ... wolffd@0: 'Callback','close;',... wolffd@0: 'ListboxTop',0, ... wolffd@0: 'Position',[0.8276 0.2577 0.1427 0.2255], ... wolffd@0: 'String','Cancel', ... wolffd@0: 'FontUnits','normalized',... wolffd@0: 'Tag','Pushbutton3'); wolffd@0: h1 = uicontrol('Parent',h0, ... wolffd@0: 'Units','normalized', ... wolffd@0: 'BackgroundColor',[0.701960784313725 0.701960784313725 0.701960784313725], ... wolffd@0: 'Callback','som_gui(''file_select'');', ... wolffd@0: 'ListboxTop',0, ... wolffd@0: 'Max',2, ... wolffd@0: 'Min',1, ... wolffd@0: 'String',temp,... wolffd@0: 'FontUnits','normalized',... wolffd@0: 'Position',[0.3995433789954338 0.2977319587628866 0.1997716894977169 0.08664948453608246], ... wolffd@0: 'Style','popupmenu', ... wolffd@0: 'Tag','PopupMenu1', ... wolffd@0: 'Value',1); wolffd@0: h1 = uicontrol('Parent',h0, ... wolffd@0: 'Units','normalized', ... wolffd@0: 'BackgroundColor',[0.701960784313725 0.701960784313725 0.701960784313725], ... wolffd@0: 'FontWeight','bold', ... wolffd@0: 'HorizontalAlignment','left', ... wolffd@0: 'ListboxTop',0, ... wolffd@0: 'Position',[0.05707762557077625 0.3865979381443299 0.7134703196347032 0.09664948453608246], ... wolffd@0: 'String','Parameters for file', ... wolffd@0: 'FontUnits','normalized',... wolffd@0: 'Style','text', ... wolffd@0: 'Tag','StaticText2'); wolffd@0: h1 = uicontrol('Parent',h0, ... wolffd@0: 'Units','normalized', ... wolffd@0: 'HorizontalAlignment','left', ... wolffd@0: 'ListboxTop',0, ... wolffd@0: 'Position',[0.05707762557077625 0.2777319587628866 0.2568493150684931 0.09664948453608246], ... wolffd@0: 'String','File type ', ... wolffd@0: 'FontUnits','normalized',... wolffd@0: 'Style','text', ... wolffd@0: 'Tag','StaticText3'); wolffd@0: h1 = uicontrol('Parent',h0, ... wolffd@0: 'Units','normalized', ... wolffd@0: 'ListboxTop',0, ... wolffd@0: 'Position',[0.05707762557077625 0.1288659793814433 0.2996575342465753 0.09664948453608246], ... wolffd@0: 'String','Missing value', ... wolffd@0: 'Style','checkbox', ... wolffd@0: 'FontUnits','normalized',... wolffd@0: 'Tag','Checkbox1'); wolffd@0: h1 = uicontrol('Parent',h0, ... wolffd@0: 'Units','normalized', ... wolffd@0: 'BackgroundColor',[1 1 1], ... wolffd@0: 'Callback','som_gui(''missing'');',... wolffd@0: 'ListboxTop',0, ... wolffd@0: 'Position',[0.5136986301369862 0.1258659793814433 0.08561643835616438 0.10664948453608246], ... wolffd@0: 'String','x', ... wolffd@0: 'FontUnits','normalized',... wolffd@0: 'Style','edit', ... wolffd@0: 'Tag','EditText3'); wolffd@0: if nargout > 0, fig = h0; end wolffd@0: wolffd@0: %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% wolffd@0: wolffd@0: wolffd@0: %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% wolffd@0: wolffd@0: wolffd@0: wolffd@0: wolffd@0: function fig = works() wolffd@0: wolffd@0: v = version; wolffd@0: ver_53_or_newer = (str2num(v(1:3)) >= 5.3); wolffd@0: wolffd@0: h0 = figure('Units','normalized', ... wolffd@0: 'Color',[0.8 0.8 0.8], ... wolffd@0: 'Name','Load from workspace!', ... wolffd@0: 'NumberTitle','off', ... wolffd@0: 'PaperPosition',[18 180 576 432], ... wolffd@0: 'PaperType','a4letter', ... wolffd@0: 'PaperUnits','points', ... wolffd@0: 'Position',[0.5390625 0.2490234375 0.203125 0.251953125], ... wolffd@0: 'Tag','Fig1'); wolffd@0: if ver_53_or_newer, set(h0,'ToolBar','none'); end wolffd@0: wolffd@0: h1 = uicontrol('Parent',h0, ... wolffd@0: 'Units','normalized', ... wolffd@0: 'ListboxTop',0, ... wolffd@0: 'Position',[0.05384615384615385 0.1472868217054263 0.9076923076923078 0.8255813953488372], ... wolffd@0: 'Style','frame', ... wolffd@0: 'Tag','Frame1'); wolffd@0: h1 = uicontrol('Parent',h0, ... wolffd@0: 'Units','normalized', ... wolffd@0: 'BackgroundColor',[0.701960784313725 0.701960784313725 0.701960784313725], ... wolffd@0: 'Callback','som_gui(''works_ok'');', ... wolffd@0: 'ListboxTop',0, ... wolffd@0: 'Position',[0.1077 0.0194 0.2885 0.1202], ... wolffd@0: 'String','OK', ... wolffd@0: 'FontUnits','normalized',... wolffd@0: 'Tag','Pushbutton1'); wolffd@0: h1 = uicontrol('Parent',h0, ... wolffd@0: 'Units','normalized', ... wolffd@0: 'BackgroundColor',[0.701960784313725 0.701960784313725 0.701960784313725], ... wolffd@0: 'Callback','close;', ... wolffd@0: 'ListboxTop',0, ... wolffd@0: 'Position',[0.6115 0.0155 0.2885 0.1202], ... wolffd@0: 'String','Cancel', ... wolffd@0: 'FontUnits','normalized',... wolffd@0: 'Tag','Pushbutton2'); wolffd@0: h1 = uicontrol('Parent',h0, ... wolffd@0: 'Units','normalized', ... wolffd@0: 'BackgroundColor',[1 1 1], ... wolffd@0: 'Position',[0.1192 0.1977 0.7692 0.6395], ... wolffd@0: 'String',' ', ... wolffd@0: 'FontUnits','normalized',... wolffd@0: 'Style','listbox', ... wolffd@0: 'Tag','Listbox1', ... wolffd@0: 'Value',1); wolffd@0: h1 = uicontrol('Parent',h0, ... wolffd@0: 'Units','normalized', ... wolffd@0: 'FontWeight','bold', ... wolffd@0: 'ListboxTop',0, ... wolffd@0: 'Position',[0.2115384615384616 0.8720930232558139 0.576923076923077 0.06976744186046512], ... wolffd@0: 'String','Your options', ... wolffd@0: 'FontUnits','normalized',... wolffd@0: 'Style','text', ... wolffd@0: 'Tag','StaticText1'); wolffd@0: if nargout > 0, fig = h0; end wolffd@0: wolffd@0: wolffd@0: wolffd@0: wolffd@0: wolffd@0: wolffd@0: function fig = initialization2() wolffd@0: wolffd@0: wolffd@0: temp1 = {'random';'linear'}; wolffd@0: temp2 = {'hexa';'rect'}; wolffd@0: temp3 = {'sheet';'cyl';'toroid'}; wolffd@0: wolffd@0: wolffd@0: wolffd@0: % position bug in following corrected 1.12.04 KimmoR wolffd@0: h0 = figure('Units','normalized', ... wolffd@0: 'Color',[0.8 0.8 0.8], ... wolffd@0: 'Name','Change initialization parameters!', ... wolffd@0: 'NumberTitle','off', ... wolffd@0: 'PaperType','a4letter', ... wolffd@0: 'Position',[0.48828125 0.4267578125 0.3515625 0.146484375], ... wolffd@0: 'Tag','Fig1'); wolffd@0: h1 = uicontrol('Parent',h0, ... wolffd@0: 'Units','normalized', ... wolffd@0: 'ListboxTop',0, ... wolffd@0: 'Position',[0.02777777777777778 0.08333333333333333 0.8055555555555556 0.8333333333333334], ... wolffd@0: 'Style','frame', ... wolffd@0: 'Tag','Frame1'); wolffd@0: h1 = uicontrol('Parent',h0, ... wolffd@0: 'Units','normalized', ... wolffd@0: 'BackgroundColor',[0.701960784313725 0.701960784313725 0.701960784313725], ... wolffd@0: 'Callback','som_gui(''change_initialization_ok'');', ... wolffd@0: 'ListboxTop',0, ... wolffd@0: 'Position',[0.8472222222222222 0.55 0.125 0.25], ... wolffd@0: 'FontUnits','normalized',... wolffd@0: 'String','OK', ... wolffd@0: 'Tag','Pushbutton1'); wolffd@0: h1 = uicontrol('Parent',h0, ... wolffd@0: 'Units','normalized', ... wolffd@0: 'BackgroundColor',[0.701960784313725 0.701960784313725 0.701960784313725], ... wolffd@0: 'Callback','som_gui(''change_initialization_cancel'');', ... wolffd@0: 'ListboxTop',0, ... wolffd@0: 'Position',[0.8472222222222222 0.25 0.125 0.25], ... wolffd@0: 'FontUnits','normalized',... wolffd@0: 'String','Cancel', ... wolffd@0: 'Tag','Pushbutton2'); wolffd@0: h1 = uicontrol('Parent',h0, ... wolffd@0: 'Units','normalized', ... wolffd@0: 'BackgroundColor',[0.701960784313725 0.701960784313725 0.701960784313725], ... wolffd@0: 'FontWeight','bold', ... wolffd@0: 'HorizontalAlignment','left', ... wolffd@0: 'ListboxTop',0, ... wolffd@0: 'Position',[0.08333333333333334 0.6666666666666666 0.7066666666666667 0.1933333333333333], ... wolffd@0: 'String','Initialization parameters:', ... wolffd@0: 'FontUnits','normalized',... wolffd@0: 'Style','text', ... wolffd@0: 'Tag','StaticText1'); wolffd@0: h1 = uicontrol('Parent',h0, ... wolffd@0: 'Units','normalized', ... wolffd@0: 'HorizontalAlignment','left', ... wolffd@0: 'ListboxTop',0, ... wolffd@0: 'Position',[0.0556 0.200 0.1667 0.1250],... wolffd@0: 'String','type:', ... wolffd@0: 'FontUnits','normalized',... wolffd@0: 'Style','text', ... wolffd@0: 'Tag','StaticText2'); wolffd@0: h1 = uicontrol('Parent',h0, ... wolffd@0: 'Units','normalized', ... wolffd@0: 'BackgroundColor',[0.701960784313725 0.701960784313725 0.701960784313725], ... wolffd@0: 'ListboxTop',0, ... wolffd@0: 'Max',2, ... wolffd@0: 'Min',1, ... wolffd@0: 'Position',[0.2500 0.200 0.1667 0.1250], ... wolffd@0: 'String',temp1, ... wolffd@0: 'FontUnits','normalized',... wolffd@0: 'Style','popupmenu', ... wolffd@0: 'Tag','PopupMenu1', ... wolffd@0: 'Value',1); wolffd@0: h1 = uicontrol('Parent',h0, ... wolffd@0: 'Units','normalized', ... wolffd@0: 'BackgroundColor',[0.701960784313725 0.701960784313725 0.701960784313725], ... wolffd@0: 'HorizontalAlignment','left', ... wolffd@0: 'ListboxTop',0, ... wolffd@0: 'Position',[0.05555555555555556 0.6 0.1666666666666667 0.125], ... wolffd@0: 'String','map size:', ... wolffd@0: 'FontUnits','normalized',... wolffd@0: 'Style','text', ... wolffd@0: 'Tag','StaticText2'); wolffd@0: h1 = uicontrol('Parent',h0, ... wolffd@0: 'Units','normalized', ... wolffd@0: 'BackgroundColor',[1 1 1], ... wolffd@0: 'Callback','som_gui(''map_size'');', ... wolffd@0: 'HorizontalAlignment','left', ... wolffd@0: 'ListboxTop',0, ... wolffd@0: 'Position',[0.25 0.6 0.1666666666666667 0.125], ... wolffd@0: 'FontUnits','normalized',... wolffd@0: 'Style','edit', ... wolffd@0: 'Tag','EditText1'); wolffd@0: h1 = uicontrol('Parent',h0, ... wolffd@0: 'Units','normalized', ... wolffd@0: 'BackgroundColor',[0.701960784313725 0.701960784313725 0.701960784313725], ... wolffd@0: 'HorizontalAlignment','left', ... wolffd@0: 'ListboxTop',0, ... wolffd@0: 'Position',[0.05555555555555556 0.4033333333333333 0.1666666666666667 0.125], ... wolffd@0: 'String','lattice:', ... wolffd@0: 'FontUnits','normalized',... wolffd@0: 'Style','text', ... wolffd@0: 'Tag','StaticText3'); wolffd@0: h1 = uicontrol('Parent',h0, ... wolffd@0: 'Units','normalized', ... wolffd@0: 'ListboxTop',0, ... wolffd@0: 'Max',2, ... wolffd@0: 'Min',1, ... wolffd@0: 'Position',[0.25 0.4333333333333333 0.1666666666666667 0.125], ... wolffd@0: 'String',temp2, ... wolffd@0: 'FontUnits','normalized',... wolffd@0: 'Style','popupmenu', ... wolffd@0: 'Tag','PopupMenu2', ... wolffd@0: 'Value',2); wolffd@0: h1 = uicontrol('Parent',h0, ... wolffd@0: 'Units','normalized', ... wolffd@0: 'BackgroundColor',[0.701960784313725 0.701960784313725 0.701960784313725], ... wolffd@0: 'HorizontalAlignment','left', ... wolffd@0: 'ListboxTop',0, ... wolffd@0: 'Position',[0.4444444444444445 0.4033333333333333 0.1666666666666667 0.125], ... wolffd@0: 'String','shape:', ... wolffd@0: 'FontUnits','normalized',... wolffd@0: 'Style','text', ... wolffd@0: 'Tag','StaticText4'); wolffd@0: h1 = uicontrol('Parent',h0, ... wolffd@0: 'Units','normalized', ... wolffd@0: 'ListboxTop',0, ... wolffd@0: 'Max',3, ... wolffd@0: 'Min',1, ... wolffd@0: 'Position',[0.638888888888889 0.4333333333333333 0.1666666666666667 0.125], ... wolffd@0: 'String',temp3, ... wolffd@0: 'FontUnits','normalized',... wolffd@0: 'Style','popupmenu', ... wolffd@0: 'Tag','PopupMenu3', ... wolffd@0: 'Value',2); wolffd@0: h1 = uicontrol('Parent',h0, ... wolffd@0: 'Units','normalized', ... wolffd@0: 'HorizontalAlignment','left', ... wolffd@0: 'ListboxTop',0, ... wolffd@0: 'Position',[0.4444444444444445 0.6 0.1666666666666667 0.125], ... wolffd@0: 'FontUnits','normalized',... wolffd@0: 'String','munits:', ... wolffd@0: 'Style','text', ... wolffd@0: 'Tag','StaticText5'); wolffd@0: h1 = uicontrol('Parent',h0, ... wolffd@0: 'Units','normalized', ... wolffd@0: 'BackgroundColor',[1 1 1], ... wolffd@0: 'Callback','som_gui(''munits'');', ... wolffd@0: 'ListboxTop',0, ... wolffd@0: 'Position',[0.638888888888889 0.6 0.1666666666666667 0.125], ... wolffd@0: 'Style','edit', ... wolffd@0: 'FontUnits','normalized',... wolffd@0: 'Tag','EditText2'); wolffd@0: if nargout > 0, fig = h0; end wolffd@0: wolffd@0: wolffd@0: wolffd@0: wolffd@0: wolffd@0: wolffd@0: wolffd@0: function fig = new_para2_2() wolffd@0: wolffd@0: temp1 = {'0';'1';'2';'3'}; wolffd@0: temp2 = {'gaussian';'cutgauss';'ep';'bubble'}; wolffd@0: temp3 = {'epochs';'samples'}; wolffd@0: temp4 = {'random';'ordered'}; wolffd@0: temp5 = {'inv';'linear';'power'}; wolffd@0: wolffd@0: v = version; wolffd@0: ver_53_or_newer = (str2num(v(1:3)) >= 5.3); wolffd@0: wolffd@0: h0 = figure('Units','normalized', ... wolffd@0: 'Color',[0.8 0.8 0.8], ... wolffd@0: 'Name','Change training parameters!', ... wolffd@0: 'NumberTitle','off', ... wolffd@0: 'PaperPosition',[18 180 576 432], ... wolffd@0: 'PaperType','a4letter', ... wolffd@0: 'PaperUnits','points', ... wolffd@0: 'Position',[0.59140625 0.4560546875 0.3046875 0.4619140625], ... wolffd@0: 'Tag','Fig3'); wolffd@0: if ver_53_or_newer, set(h0,'ToolBar','none'); end wolffd@0: h1 = uicontrol('Parent',h0, ... wolffd@0: 'Units','normalized', ... wolffd@0: 'ListboxTop',0, ... wolffd@0: 'Position',[0.02051282051282051 0.08456659619450317 0.9641025641025641 0.8921775898520086], ... wolffd@0: 'Style','frame', ... wolffd@0: 'Tag','Frame1'); wolffd@0: h1 = uicontrol('Parent',h0, ... wolffd@0: 'Units','normalized', ... wolffd@0: 'ListboxTop',0, ... wolffd@0: 'Position',[0.5308 0.1374 0.4000 0.3742], ... wolffd@0: 'Style','frame', ... wolffd@0: 'Tag','Frame3'); wolffd@0: h1 = uicontrol('Parent',h0, ... wolffd@0: 'Units','normalized', ... wolffd@0: 'ListboxTop',0, ... wolffd@0: 'Position',[0.08012820512820512 0.1416490486257928 0.4102564102564102 0.3699788583509514], ... wolffd@0: 'Style','frame', ... wolffd@0: 'Tag','Frame2'); wolffd@0: h1 = uicontrol('Parent',h0, ... wolffd@0: 'Units','normalized', ... wolffd@0: 'BackgroundColor',[0.701960784313725 0.701960784313725 0.701960784313725], ... wolffd@0: 'Callback','close(gcbf);', ... wolffd@0: 'ListboxTop',0, ... wolffd@0: 'Position',[0.6410 0.0036 0.2897 0.0740], ... wolffd@0: 'FontUnits','normalized',... wolffd@0: 'String','Cancel', ... wolffd@0: 'Tag','Pushbutton2'); wolffd@0: h1 = uicontrol('Parent',h0, ... wolffd@0: 'Units','normalized', ... wolffd@0: 'BackgroundColor',[0.701960784313725 0.701960784313725 0.701960784313725], ... wolffd@0: 'Callback','som_gui(''set_new_parameters'');', ... wolffd@0: 'ListboxTop',0, ... wolffd@0: 'Position',[0.1026 0.0036 0.2897 0.0740], ... wolffd@0: 'String','Set parameters', ... wolffd@0: 'FontUnits','normalized',... wolffd@0: 'Tag','Pushbutton1'); wolffd@0: h1 = uicontrol('Parent',h0, ... wolffd@0: 'Units','normalized', ... wolffd@0: 'BackgroundColor',[0.701960784313725 0.701960784313725 0.701960784313725], ... wolffd@0: 'ListboxTop',0, ... wolffd@0: 'Max',4, ... wolffd@0: 'Min',1, ... wolffd@0: 'Position',[0.7051282051282051 0.6723044397463003 0.1923076923076923 0.040169133192389], ... wolffd@0: 'String',temp1, ... wolffd@0: 'FontUnits','normalized',... wolffd@0: 'Style','popupmenu', ... wolffd@0: 'Tag','PopupMenu2', ... wolffd@0: 'Value',1); wolffd@0: h1 = uicontrol('Parent',h0, ... wolffd@0: 'Units','normalized', ... wolffd@0: 'BackgroundColor',[0.701960784313725 0.701960784313725 0.701960784313725], ... wolffd@0: 'ListboxTop',0, ... wolffd@0: 'Max',4, ... wolffd@0: 'Min',1, ... wolffd@0: 'Position',[0.2948717948717949 0.6670190274841438 0.1923076923076923 0.03964059196617336], ... wolffd@0: 'String',temp2, ... wolffd@0: 'FontUnits','normalized',... wolffd@0: 'Style','popupmenu', ... wolffd@0: 'Tag','PopupMenu1', ... wolffd@0: 'Value',1); wolffd@0: h1 = uicontrol('Parent',h0, ... wolffd@0: 'Units','normalized', ... wolffd@0: 'Callback','som_gui(''batch_cancel'');', ... wolffd@0: 'HorizontalAlignment','left', ... wolffd@0: 'ListboxTop',0, ... wolffd@0: 'Position',[0.5076923076923077 0.6575052854122622 0.1923076923076923 0.05285412262156448], ... wolffd@0: 'String','tracking', ... wolffd@0: 'FontUnits','normalized',... wolffd@0: 'Style','text', ... wolffd@0: 'Tag','StaticText6'); wolffd@0: h1 = uicontrol('Parent',h0, ... wolffd@0: 'Units','normalized', ... wolffd@0: 'BackgroundColor',[0.701960784313725 0.701960784313725 0.701960784313725], ... wolffd@0: 'Callback','som_gui(''batch_cancel'');', ... wolffd@0: 'HorizontalAlignment','left', ... wolffd@0: 'ListboxTop',0, ... wolffd@0: 'Position',[0.09615384615384615 0.6553911205073996 0.1923076923076923 0.05285412262156448], ... wolffd@0: 'String','neigh.', ... wolffd@0: 'FontUnits','normalized',... wolffd@0: 'Style','text', ... wolffd@0: 'Tag','StaticText5'); wolffd@0: h1 = uicontrol('Parent',h0, ... wolffd@0: 'Units','normalized', ... wolffd@0: 'HorizontalAlignment','left', ... wolffd@0: 'ListboxTop',0, ... wolffd@0: 'Position',[0.09615384615384615 0.7526427061310783 0.09487179487179487 0.04228329809725159], ... wolffd@0: 'String','mask:', ... wolffd@0: 'FontUnits','normalized',... wolffd@0: 'Style','text', ... wolffd@0: 'Tag','StaticText2'); wolffd@0: h1 = uicontrol('Parent',h0, ... wolffd@0: 'Units','normalized', ... wolffd@0: 'BackgroundColor',[1 1 1], ... wolffd@0: 'Position',[0.2948717948717949 0.7399577167019028 0.6025641025641025 0.07399577167019028], ... wolffd@0: 'String',' ', ... wolffd@0: 'FontUnits','normalized',... wolffd@0: 'Style','listbox', ... wolffd@0: 'Tag','Listbox2', ... wolffd@0: 'Value',1); wolffd@0: h1 = uicontrol('Parent',h0, ... wolffd@0: 'Units','normalized', ... wolffd@0: 'BackgroundColor',[0.701960784313725 0.701960784313725 0.701960784313725], ... wolffd@0: 'HorizontalAlignment','left', ... wolffd@0: 'ListboxTop',0, ... wolffd@0: 'Position',[0.0962 0.8060 0.1154 0.0529], ... wolffd@0: 'FontUnits','normalized',... wolffd@0: 'String','Set', ... wolffd@0: 'Style','text', ... wolffd@0: 'Tag','StaticText3'); wolffd@0: h1 = uicontrol('Parent',h0, ... wolffd@0: 'Units','normalized', ... wolffd@0: 'BackgroundColor',[1 1 1], ... wolffd@0: 'Callback','som_gui(''set_batch_mask'');', ... wolffd@0: 'Position',[0.2948717948717949 0.8165961945031712 0.3205128205128205 0.05285412262156448], ... wolffd@0: 'String',' ', ... wolffd@0: 'FontUnits','normalized',... wolffd@0: 'Style','listbox', ... wolffd@0: 'Tag','Listbox1', ... wolffd@0: 'Value',1); wolffd@0: h1 = uicontrol('Parent',h0, ... wolffd@0: 'Units','normalized', ... wolffd@0: 'BackgroundColor',[0.701960784313725 0.701960784313725 0.701960784313725], ... wolffd@0: 'HorizontalAlignment','left', ... wolffd@0: 'ListboxTop',0, ... wolffd@0: 'Position',[0.6250 0.8060 0.1603 0.0529], ... wolffd@0: 'String','to value', ... wolffd@0: 'FontUnits','normalized',... wolffd@0: 'Style','text', ... wolffd@0: 'Tag','StaticText4'); wolffd@0: h1 = uicontrol('Parent',h0, ... wolffd@0: 'Units','normalized', ... wolffd@0: 'BackgroundColor',[1 1 1], ... wolffd@0: 'Callback','som_gui(''set_batch_mask'');', ... wolffd@0: 'ListboxTop',0, ... wolffd@0: 'Position',[0.7923076923076923 0.8181818181818182 0.09487179487179487 0.05285412262156448], ... wolffd@0: 'Style','edit', ... wolffd@0: 'FontUnits','normalized',... wolffd@0: 'Tag','EditText2'); wolffd@0: h1 = uicontrol('Parent',h0, ... wolffd@0: 'Units','normalized', ... wolffd@0: 'BackgroundColor',[1 1 1], ... wolffd@0: 'Callback','som_gui(''check_fine_trainlen'');', ... wolffd@0: 'ListboxTop',0, ... wolffd@0: 'Position',[0.7923 0.2352 0.0974 0.0402], ... wolffd@0: 'FontUnits','normalized',... wolffd@0: 'Style','edit', ... wolffd@0: 'Tag','EditText11'); wolffd@0: h1 = uicontrol('Parent',h0, ... wolffd@0: 'Units','normalized', ... wolffd@0: 'BackgroundColor',[1 1 1], ... wolffd@0: 'Callback','som_gui(''check_fine_alphaini'');', ... wolffd@0: 'Enable','off', ... wolffd@0: 'ListboxTop',0, ... wolffd@0: 'Position',[0.7923076923076923 0.1664904862579281 0.09743589743589742 0.03805496828752643], ... wolffd@0: 'Style','edit', ... wolffd@0: 'FontUnits','normalized',... wolffd@0: 'Tag','EditText10', ... wolffd@0: 'Visible','off'); wolffd@0: h1 = uicontrol('Parent',h0, ... wolffd@0: 'Units','normalized', ... wolffd@0: 'BackgroundColor',[1 1 1], ... wolffd@0: 'Callback','som_gui(''check_fine_radfin'');', ... wolffd@0: 'ListboxTop',0, ... wolffd@0: 'Position',[0.7923076923076923 0.3002114164904862 0.09743589743589742 0.040169133192389], ... wolffd@0: 'Style','edit', ... wolffd@0: 'FontUnits','normalized',... wolffd@0: 'Tag','EditText9'); wolffd@0: h1 = uicontrol('Parent',h0, ... wolffd@0: 'Units','normalized', ... wolffd@0: 'BackgroundColor',[1 1 1], ... wolffd@0: 'Callback','som_gui(''check_fine_radini'');', ... wolffd@0: 'ListboxTop',0, ... wolffd@0: 'Position',[0.7923076923076923 0.3657505285412262 0.09743589743589742 0.040169133192389], ... wolffd@0: 'Style','edit', ... wolffd@0: 'FontUnits','normalized',... wolffd@0: 'Tag','EditText8'); wolffd@0: h1 = uicontrol('Parent',h0, ... wolffd@0: 'Units','normalized', ... wolffd@0: 'BackgroundColor',[0.8 0.8 0.8], ... wolffd@0: 'HorizontalAlignment','left', ... wolffd@0: 'ListboxTop',0, ... wolffd@0: 'Position',[0.5590 0.2326 0.2179 0.0402], ... wolffd@0: 'String','training length', ... wolffd@0: 'FontUnits','normalized',... wolffd@0: 'Style','text', ... wolffd@0: 'Tag','StaticText16'); wolffd@0: h1 = uicontrol('Parent',h0, ... wolffd@0: 'Units','normalized', ... wolffd@0: 'BackgroundColor',[0.8 0.8 0.8], ... wolffd@0: 'HorizontalAlignment','left', ... wolffd@0: 'ListboxTop',0, ... wolffd@0: 'Position',[0.5590 0.1665 0.2179 0.0381], ... wolffd@0: 'String','alpha initial', ... wolffd@0: 'FontUnits','normalized',... wolffd@0: 'Style','text', ... wolffd@0: 'Tag','StaticText14', ... wolffd@0: 'Visible','off'); wolffd@0: h1 = uicontrol('Parent',h0, ... wolffd@0: 'Units','normalized', ... wolffd@0: 'BackgroundColor',[0.8 0.8 0.8], ... wolffd@0: 'HorizontalAlignment','left', ... wolffd@0: 'ListboxTop',0, ... wolffd@0: 'Position',[0.5590 0.2981 0.2179 0.0402], ... wolffd@0: 'String','radius final', ... wolffd@0: 'FontUnits','normalized',... wolffd@0: 'Style','text', ... wolffd@0: 'Tag','StaticText12'); wolffd@0: h1 = uicontrol('Parent',h0, ... wolffd@0: 'Units','normalized', ... wolffd@0: 'BackgroundColor',[0.8 0.8 0.8], ... wolffd@0: 'HorizontalAlignment','left', ... wolffd@0: 'ListboxTop',0, ... wolffd@0: 'Position',[0.5590 0.3636 0.2179 0.0402], ... wolffd@0: 'String','radius initial', ... wolffd@0: 'FontUnits','normalized',... wolffd@0: 'Style','text', ... wolffd@0: 'Tag','StaticText10'); wolffd@0: h1 = uicontrol('Parent',h0, ... wolffd@0: 'Units','normalized', ... wolffd@0: 'BackgroundColor',[1 1 1], ... wolffd@0: 'Callback','som_gui(''check_rough_trainlen'');', ... wolffd@0: 'ListboxTop',0, ... wolffd@0: 'Position',[0.3590 0.2352 0.0949 0.0402], ... wolffd@0: 'Style','edit', ... wolffd@0: 'FontUnits','normalized',... wolffd@0: 'Tag','EditText7'); wolffd@0: h1 = uicontrol('Parent',h0, ... wolffd@0: 'Units','normalized', ... wolffd@0: 'BackgroundColor',[1 1 1], ... wolffd@0: 'Callback','som_gui(''check_rough_alphaini'');', ... wolffd@0: 'Enable','off', ... wolffd@0: 'ListboxTop',0, ... wolffd@0: 'Position',[0.3590 0.1691 0.0949 0.0381], ... wolffd@0: 'Style','edit', ... wolffd@0: 'FontUnits','normalized',... wolffd@0: 'Tag','EditText6', ... wolffd@0: 'Visible','off'); wolffd@0: h1 = uicontrol('Parent',h0, ... wolffd@0: 'Units','normalized', ... wolffd@0: 'BackgroundColor',[1 1 1], ... wolffd@0: 'Callback','som_gui(''check_rough_radfin'');', ... wolffd@0: 'ListboxTop',0, ... wolffd@0: 'Position',[0.358974358974359 0.3044397463002114 0.09487179487179487 0.040169133192389], ... wolffd@0: 'Style','edit', ... wolffd@0: 'FontUnits','normalized',... wolffd@0: 'Tag','EditText5'); wolffd@0: h1 = uicontrol('Parent',h0, ... wolffd@0: 'Units','normalized', ... wolffd@0: 'BackgroundColor',[1 1 1], ... wolffd@0: 'Callback','som_gui(''check_rough_radini'');', ... wolffd@0: 'ListboxTop',0, ... wolffd@0: 'Position',[0.358974358974359 0.3699788583509514 0.09487179487179487 0.040169133192389], ... wolffd@0: 'Style','edit', ... wolffd@0: 'FontUnits','normalized',... wolffd@0: 'Tag','EditText4'); wolffd@0: h1 = uicontrol('Parent',h0, ... wolffd@0: 'Units','normalized', ... wolffd@0: 'BackgroundColor',[0.8 0.8 0.8], ... wolffd@0: 'HorizontalAlignment','left', ... wolffd@0: 'ListboxTop',0, ... wolffd@0: 'Position',[0.0962 0.2326 0.2179 0.0402], ... wolffd@0: 'String','training length', ... wolffd@0: 'FontUnits','normalized',... wolffd@0: 'Style','text', ... wolffd@0: 'Tag','StaticText15'); wolffd@0: h1 = uicontrol('Parent',h0, ... wolffd@0: 'Units','normalized', ... wolffd@0: 'BackgroundColor',[0.8 0.8 0.8], ... wolffd@0: 'HorizontalAlignment','left', ... wolffd@0: 'ListboxTop',0, ... wolffd@0: 'Position',[0.0962 0.1691 0.2179 0.0381], ... wolffd@0: 'String','alpha initial', ... wolffd@0: 'FontUnits','normalized',... wolffd@0: 'Style','text', ... wolffd@0: 'Tag','StaticText13', ... wolffd@0: 'Visible','off'); wolffd@0: h1 = uicontrol('Parent',h0, ... wolffd@0: 'Units','normalized', ... wolffd@0: 'BackgroundColor',[0.8 0.8 0.8], ... wolffd@0: 'HorizontalAlignment','left', ... wolffd@0: 'ListboxTop',0, ... wolffd@0: 'Position',[0.0962 0.3023 0.2179 0.0402], ... wolffd@0: 'String','radius final', ... wolffd@0: 'FontUnits','normalized',... wolffd@0: 'Style','text', ... wolffd@0: 'Tag','StaticText11'); wolffd@0: h1 = uicontrol('Parent',h0, ... wolffd@0: 'Units','normalized', ... wolffd@0: 'BackgroundColor',[0.8 0.8 0.8], ... wolffd@0: 'HorizontalAlignment','left', ... wolffd@0: 'ListboxTop',0, ... wolffd@0: 'Position',[0.0962 0.3679 0.2179 0.0402], ... wolffd@0: 'FontUnits','normalized',... wolffd@0: 'String','radius initial', ... wolffd@0: 'Style','text', ... wolffd@0: 'Tag','StaticText9'); wolffd@0: h1 = uicontrol('Parent',h0, ... wolffd@0: 'Units','normalized', ... wolffd@0: 'BackgroundColor',[0.701960784313725 0.701960784313725 0.701960784313725], ... wolffd@0: 'ListboxTop',0, ... wolffd@0: 'Position',[0.5948717948717949 0.4291754756871036 0.2871794871794872 0.05285412262156448], ... wolffd@0: 'String','Finetune', ... wolffd@0: 'FontUnits','normalized',... wolffd@0: 'Style','text', ... wolffd@0: 'Tag','StaticText8'); wolffd@0: h1 = uicontrol('Parent',h0, ... wolffd@0: 'Units','normalized', ... wolffd@0: 'BackgroundColor',[0.701960784313725 0.701960784313725 0.701960784313725], ... wolffd@0: 'ListboxTop',0, ... wolffd@0: 'Position',[0.1205128205128205 0.4355179704016914 0.3153846153846154 0.04862579281183932], ... wolffd@0: 'String','Rough', ... wolffd@0: 'FontUnits','normalized',... wolffd@0: 'Style','text', ... wolffd@0: 'Tag','StaticText7'); wolffd@0: h1 = uicontrol('Parent',h0, ... wolffd@0: 'Units','normalized', ... wolffd@0: 'BackgroundColor',[0.701960784313725 0.701960784313725 0.701960784313725], ... wolffd@0: 'FontWeight','bold', ... wolffd@0: 'ListboxTop',0, ... wolffd@0: 'Position',[0.1641025641025641 0.8900634249471459 0.7025641025641025 0.05285412262156448], ... wolffd@0: 'String','Change parameters for batch training', ... wolffd@0: 'Style','text', ... wolffd@0: 'FontUnits','normalized',... wolffd@0: 'Tag','StaticText1'); wolffd@0: h1 = uicontrol('Parent',h0, ... wolffd@0: 'Units','normalized', ... wolffd@0: 'BackgroundColor',[0.701960784313725 0.701960784313725 0.701960784313725], ... wolffd@0: 'HorizontalAlignment','left', ... wolffd@0: 'ListboxTop',0, ... wolffd@0: 'Position',[0.09615384615384615 0.6025369978858351 0.1743589743589744 0.040169133192389], ... wolffd@0: 'String','length type:', ... wolffd@0: 'Style','text', ... wolffd@0: 'FontUnits','normalized',... wolffd@0: 'Tag','StaticText17'); wolffd@0: h1 = uicontrol('Parent',h0, ... wolffd@0: 'Units','normalized', ... wolffd@0: 'BackgroundColor',[0.701960784313725 0.701960784313725 0.701960784313725], ... wolffd@0: 'ListboxTop',0, ... wolffd@0: 'Max',2, ... wolffd@0: 'Min',1, ... wolffd@0: 'Position',[0.2948717948717949 0.6062367864693446 0.1923076923076923 0.03964059196617336], ... wolffd@0: 'String',temp3, ... wolffd@0: 'FontUnits','normalized',... wolffd@0: 'Style','popupmenu', ... wolffd@0: 'Tag','PopupMenu3', ... wolffd@0: 'Value',1); wolffd@0: h1 = uicontrol('Parent',h0, ... wolffd@0: 'Units','normalized', ... wolffd@0: 'HorizontalAlignment','left', ... wolffd@0: 'ListboxTop',0, ... wolffd@0: 'Position',[0.5102564102564102 0.6004228329809724 0.1641025641025641 0.040169133192389], ... wolffd@0: 'String','order', ... wolffd@0: 'FontUnits','normalized',... wolffd@0: 'Style','text', ... wolffd@0: 'Tag','StaticText18'); wolffd@0: h1 = uicontrol('Parent',h0, ... wolffd@0: 'Units','normalized', ... wolffd@0: 'HorizontalAlignment','left', ... wolffd@0: 'ListboxTop',0, ... wolffd@0: 'Max',2, ... wolffd@0: 'Min',1, ... wolffd@0: 'Position',[0.7051282051282051 0.6109936575052853 0.1923076923076923 0.040169133192389], ... wolffd@0: 'String',temp4, ... wolffd@0: 'FontUnits','normalized',... wolffd@0: 'Style','popupmenu', ... wolffd@0: 'Tag','PopupMenu4', ... wolffd@0: 'Value',1); wolffd@0: h1 = uicontrol('Parent',h0, ... wolffd@0: 'Units','normalized', ... wolffd@0: 'HorizontalAlignment','left', ... wolffd@0: 'ListboxTop',0, ... wolffd@0: 'Position',[0.09615384615384615 0.5369978858350951 0.2051282051282051 0.040169133192389], ... wolffd@0: 'String','learning func', ... wolffd@0: 'FontUnits','normalized',... wolffd@0: 'Style','text', ... wolffd@0: 'Tag','StaticText19'); wolffd@0: h1 = uicontrol('Parent',h0, ... wolffd@0: 'Units','normalized', ... wolffd@0: 'BackgroundColor',[0.701960784313725 0.701960784313725 0.701960784313725], ... wolffd@0: 'ListboxTop',0, ... wolffd@0: 'Max',3, ... wolffd@0: 'Min',1, ... wolffd@0: 'Position',[0.2948717948717949 0.5454545454545455 0.1923076923076923 0.03964059196617336], ... wolffd@0: 'String',temp5, ... wolffd@0: 'FontUnits','normalized',... wolffd@0: 'Style','popupmenu', ... wolffd@0: 'Tag','PopupMenu5', ... wolffd@0: 'Value',1); wolffd@0: if nargout > 0, fig = h0; end wolffd@0: wolffd@0: wolffd@0: function print_info(sS,level,fid) wolffd@0: wolffd@0: wolffd@0: %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% wolffd@0: %% check arguments wolffd@0: wolffd@0: wolffd@0: %error(nargchk(1, 2, nargin)) % check no. of input args is correct wolffd@0: wolffd@0: if ~isstruct(sS), wolffd@0: if ~iscell(sS) | ~isstruct(sS{1}), wolffd@0: error('Input argument is not a struct or a cell array of structs.') wolffd@0: end wolffd@0: csS = sS; wolffd@0: else wolffd@0: csS = {sS}; wolffd@0: end wolffd@0: wolffd@0: if nargin<2 | isempty(level) | isnan(level), level = 1; end wolffd@0: wolffd@0: %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% wolffd@0: %% print struct information wolffd@0: wolffd@0: for c=1:length(csS), wolffd@0: sS = csS{c}; wolffd@0: wolffd@0: switch sS.type, wolffd@0: case 'som_map', wolffd@0: mdim = length(sS.topol.msize); wolffd@0: [munits dim] = size(sS.codebook); wolffd@0: t = length(sS.trainhist); wolffd@0: if t==0, st='uninitialized'; wolffd@0: elseif t==1, st = 'initialized'; wolffd@0: else st = sprintf('initialized, trained %d times',t-1); wolffd@0: end wolffd@0: wolffd@0: % level 1 wolffd@0: fprintf(fid,'%% Struct type : %s\n', sS.type); wolffd@0: fprintf(fid,'%% Map name : %s\n', sS.name); wolffd@0: fprintf(fid,'%% Input dimension : %d\n', dim); wolffd@0: fprintf(fid,'%% Map grid size : '); wolffd@0: for i = 1:mdim - 1, fprintf(fid,'%d x ',sS.topol.msize(i)); end wolffd@0: fprintf(fid,'%d\n', sS.topol.msize(mdim)); wolffd@0: fprintf(fid,'%% Lattice type (rect/hexa) : %s\n', sS.topol.lattice); wolffd@0: fprintf(fid,'%% Shape (sheet/cyl/toroid) : %s\n', sS.topol.shape); wolffd@0: fprintf(fid,'%% Neighborhood type : %s\n', sS.neigh); wolffd@0: fprintf(fid,'%% Mask : '); wolffd@0: if dim, wolffd@0: for i = 1:dim-1, fprintf(fid,'%d ',sS.mask(i)); end; wolffd@0: fprintf(fid,'%d\n',sS.mask(dim)); wolffd@0: else fprintf(fid,'%% \n'); wolffd@0: end wolffd@0: fprintf(fid,'%% Training status : %s\n', st); wolffd@0: wolffd@0: % level 1, wolffd@0: status = cell(dim,1); wolffd@0: for i=1:dim, wolffd@0: n = length(sS.comp_norm{i}); wolffd@0: if n, wolffd@0: uninit = strcmp('uninit',{sS.comp_norm{i}.status}); wolffd@0: done = strcmp('done',{sS.comp_norm{i}.status}); wolffd@0: undone = strcmp('undone',{sS.comp_norm{i}.status}); wolffd@0: if sum(uninit)==n, status{i} = 'no normalization'; wolffd@0: elseif sum(done)==n, status{i} = 'normalized'; wolffd@0: elseif sum(undone)==n, status{i} = 'denormalized'; wolffd@0: else status{i} = 'partial'; wolffd@0: end wolffd@0: else status{i} = 'no normalization'; end wolffd@0: end wolffd@0: if level>1, wolffd@0: fprintf(fid,'%% Vector components\n'); wolffd@0: M = sS.codebook; wolffd@0: fprintf(fid,'%% # name mask min mean max std status\n'); wolffd@0: fprintf(fid,'%% --- ------------ ---- ------ ------ ------ ------ ------\n'); wolffd@0: for i = 1:dim, wolffd@0: fprintf(fid,'%% %-3d %-12s %-4.2f %6.1g %6.1g %6.1g %6.1g %s\n', ... wolffd@0: i,sS.comp_names{i}, sS.mask(i), ... wolffd@0: min(M(:,i)),mean(M(:,i)),max(M(:,i)),std(M(:,i)),status{i}); wolffd@0: end wolffd@0: end wolffd@0: wolffd@0: % level 3 wolffd@0: if level>2, wolffd@0: fprintf(fid,'%% Vector component normalizations\n'); wolffd@0: fprintf(fid,'%% # name method (i=uninit,u=undone,d=done)\n'); wolffd@0: fprintf(fid,'%% --- ------------ ---------------------------------------\n'); wolffd@0: for i=1:dim, wolffd@0: fprintf(fid,'%% %-3d %-12s ',i,sS.comp_names{i}); wolffd@0: n = length(sS.comp_norm{i}); wolffd@0: for j=1:n, wolffd@0: m = sS.comp_norm{i}(j).method; wolffd@0: s = sS.comp_norm{i}(j).status; wolffd@0: if strcmp(s,'uninit'), c='i'; wolffd@0: elseif strcmp(s,'undone'), c='u'; wolffd@0: else c='d'; wolffd@0: end wolffd@0: fprintf(fid,'%% %s[%s] ',m,c); wolffd@0: end wolffd@0: fprintf(fid,'%% \n'); wolffd@0: end wolffd@0: end wolffd@0: wolffd@0: % level 4 wolffd@0: if level>3, wolffd@0: fprintf(fid,'%% Training history\n'); wolffd@0: for i=1:t, wolffd@0: sT = sS.trainhist(i); wolffd@0: fprintf(fid,'%% * Algorithm: %8s Data: %13s Trainlen: %8d\n',... wolffd@0: sT.algorithm,sT.data_name,sT.trainlen); wolffd@0: %if i>1, wolffd@0: fprintf(fid,'%% Neighborh: %8s Mask: ',sT.neigh); wolffd@0: for i = 1:dim-1, fprintf(fid,'%% %d ',sT.mask(i)); end; wolffd@0: fprintf(fid,'%% %d\n',sT.mask(mdim)); wolffd@0: fprintf(fid,'%% Radius: %4.2f->%4.2f Alpha: %5.3f (%s)\n', ... wolffd@0: sT.radius_ini,sT.radius_fin,sT.alpha_ini,sT.alpha_type); wolffd@0: %end wolffd@0: fprintf(fid,'%% Time: %s\n',sT.time); wolffd@0: end wolffd@0: end wolffd@0: wolffd@0: case 'som_data', wolffd@0: wolffd@0: [dlen dim] = size(sS.data); wolffd@0: if dlen*dim wolffd@0: ind = find(~isnan(sum(sS.data),2)); wolffd@0: else ind = []; end wolffd@0: complete = size(sS.data(ind,:),1); wolffd@0: partial = dlen - complete; wolffd@0: values = prod(size(sS.data)); wolffd@0: missing = sum(sum(isnan(sS.data))); wolffd@0: wolffd@0: % level 1 wolffd@0: fprintf(fid,'%% Struct type : %s\n', sS.type); wolffd@0: fprintf(fid,'%% Data name : %s\n', sS.name); wolffd@0: fprintf(fid,'%% Vector dimension : %d\n', dim); wolffd@0: fprintf(fid,'%% Number of data vectors : %d\n', dlen); wolffd@0: fprintf(fid,'%% Complete data vectors : %d\n', complete); wolffd@0: fprintf(fid,'%% Partial data vectors : %d\n', partial); wolffd@0: if values, r = floor(100 * (values - missing) / values); else r = 0; end wolffd@0: fprintf(fid,'%% Complete values : %d of %d (%d%%)\n', ... wolffd@0: values-missing, values, r); wolffd@0: wolffd@0: % level 2, wolffd@0: status = cell(dim,1); wolffd@0: for i=1:dim, wolffd@0: n = length(sS.comp_norm{i}); wolffd@0: if n, wolffd@0: uninit = strcmp('uninit',{sS.comp_norm{i}.status}); wolffd@0: done = strcmp('done',{sS.comp_norm{i}.status}); wolffd@0: undone = strcmp('undone',{sS.comp_norm{i}.status}); wolffd@0: if sum(uninit)==n, status{i} = 'no normalization'; wolffd@0: elseif sum(done)==n, status{i} = 'normalized'; wolffd@0: elseif sum(undone)==n, status{i} = 'denormalized'; wolffd@0: else status{i} = 'partial'; wolffd@0: end wolffd@0: else status{i} = 'no normalization'; end wolffd@0: end wolffd@0: if level>1, wolffd@0: fprintf(fid,'%% Vector components\n'); wolffd@0: D = sS.data; wolffd@0: fprintf(fid,'%% # name min mean max std missing status\n'); wolffd@0: fprintf(fid,'%% --- ------------ ------ ------ ------ ------ ----------- ------\n'); wolffd@0: for i = 1:dim, wolffd@0: known = find(~isnan(D(:,i))); wolffd@0: miss = dlen-length(known); wolffd@0: fprintf(fid,'%% %-3d %-12s %6.1g %6.1g %6.1g %6.1g %5d (%2d%%) %s\n', ... wolffd@0: i,sS.comp_names{i}, ... wolffd@0: min(D(known,i)),mean(D(known,i)),max(D(known,i)),std(D(known,i)), ... wolffd@0: miss,floor(100*miss/dlen),status{i}); wolffd@0: end wolffd@0: end wolffd@0: wolffd@0: % level 3 wolffd@0: if level>2, wolffd@0: fprintf(fid,'%% Vector component normalizations\n'); wolffd@0: fprintf(fid,'%% # name method (i=uninit,u=undone,d=done)\n'); wolffd@0: fprintf(fid,'%% --- ------------ ---------------------------------------\n'); wolffd@0: for i=1:dim, wolffd@0: fprintf(fid,'%% %-3d %-12s ',i,sS.comp_names{i}); wolffd@0: n = length(sS.comp_norm{i}); wolffd@0: for j=1:n, wolffd@0: m = sS.comp_norm{i}(j).method; wolffd@0: s = sS.comp_norm{i}(j).status; wolffd@0: if strcmp(s,'uninit'), c='i'; wolffd@0: elseif strcmp(s,'undone'), c='u'; wolffd@0: else c='d'; wolffd@0: end wolffd@0: fprintf(fid,'%% %s[%s] ',m,c); wolffd@0: end wolffd@0: fprintf(fid,'%% \n'); wolffd@0: end wolffd@0: end wolffd@0: wolffd@0: case 'som_topol', wolffd@0: wolffd@0: mdim = length(sS.msize); wolffd@0: wolffd@0: % level 1 wolffd@0: fprintf(fid,'%% Struct type : %s\n',sS.type); wolffd@0: fprintf(fid,'%% Map grid size : '); wolffd@0: for i = 1:mdim - 1, fprintf(fid,'%% %d x ',sS.msize(i)); end wolffd@0: fprintf(fid,'%% %d\n', sS.msize(mdim)); wolffd@0: fprintf(fid,'%% Lattice type (rect/hexa) : %s\n', sS.lattice); wolffd@0: fprintf(fid,'%% Shape (sheet/cyl/toroid) : %s\n', sS.shape); wolffd@0: wolffd@0: case 'som_train', wolffd@0: wolffd@0: % level 1 wolffd@0: fprintf(fid,'%% Struct type : %s\n',sS.type); wolffd@0: fprintf(fid,'%% Training algorithm : %s\n',sS.algorithm); wolffd@0: fprintf(fid,'%% Training data : %s\n',sS.data_name); wolffd@0: fprintf(fid,'%% Neighborhood function : %s\n',sS.neigh); wolffd@0: fprintf(fid,'%% Mask : '); wolffd@0: dim = length(sS.mask); wolffd@0: if dim, wolffd@0: for i = 1:dim-1, fprintf(fid,'%% %d ',sS.mask(i)); end; wolffd@0: fprintf(fid,'%% %d\n',sS.mask(end)); wolffd@0: else fprintf(fid,'%% \n'); end wolffd@0: fprintf(fid,'%% Initial radius : %-6.1f\n',sS.radius_ini); wolffd@0: fprintf(fid,'%% Final radius : %-6.1f\n',sS.radius_fin); wolffd@0: fprintf(fid,'%% Initial learning rate (alpha) : %-6.1f\n',sS.alpha_ini); wolffd@0: fprintf(fid,'%% Alpha function type (linear/inv) : %s\n',sS.alpha_type); wolffd@0: fprintf(fid,'%% Training length : %d\n',sS.trainlen); wolffd@0: fprintf(fid,'%% Average quantization error : %-6.1f\n',sS.qerror); wolffd@0: fprintf(fid,'%% When training was done : %s\n',sS.time); wolffd@0: wolffd@0: case 'som_norm', wolffd@0: wolffd@0: % level 1 wolffd@0: fprintf(fid,'%% Struct type : %s\n',sS.type); wolffd@0: fprintf(fid,'%% Normalization method : %s\n',sS.method); wolffd@0: fprintf(fid,'%% Status : %s\n',sS.status); wolffd@0: wolffd@0: % level 2 wolffd@0: if level>1, wolffd@0: fprintf(fid,'%% Parameters:\n'); wolffd@0: sS.params wolffd@0: end wolffd@0: end wolffd@0: end wolffd@0: wolffd@0: function [] = html2tex(html_addres,texfile) wolffd@0: wolffd@0: tempfile = tempname; wolffd@0: fid = fopen(texfile,'w'); wolffd@0: eval(['!lynx -dump ' html_addres ' > ' tempfile]); wolffd@0: fid2 = fopen(tempfile,'r'); wolffd@0: while not(feof(fid2)) wolffd@0: line = fgets(fid2); wolffd@0: line = strcat('%',line); wolffd@0: fprintf(fid,'%s',line); wolffd@0: end wolffd@0: fclose(fid); wolffd@0: fclose(fid2); wolffd@0: delete (tempfile); wolffd@0: wolffd@0: wolffd@0: function [name] = retname wolffd@0: resnames = who; wolffd@0: if size(resnames,1) > 0 wolffd@0: max_length = size(resnames{1},2); wolffd@0: for index = 1:size(resnames,1) wolffd@0: if size(resnames{index},2) > max_length wolffd@0: max_length = size(resnames{index},2); wolffd@0: end wolffd@0: end wolffd@0: length = max_length + 1; wolffd@0: name(:,1:1:length) = 'A' wolffd@0: else wolffd@0: name = 'A'; wolffd@0: end wolffd@0: %% wolffd@0: wolffd@0: wolffd@0: