📄 som_gui.m
字号:
function [] = helpwin1()file1 = tempname;file1 = strcat(file1,'.m');directory = tempdir; html2tex('file:///share/somtoolbox/vs2/html/som_GUI.html',file1);addpath (directory);helpwin (file1);rmpath (directory);delete (file1); %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% END OF HELP & INFO %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% START OF OTHER FUNC %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% function [msgs_nro, value, Handle] = check_ok(Tag)Handle = findobj(gcbf,'Tag',Tag);temp = get(Handle,'String');value = str2num(temp);if isempty(value) msgs_nro = 1; return;end[test1 test2] = size(value);if test1 ~= 1 | test2 ~= 1 msgs_nro = 2; return; endmsgs_nro = 0; function [msgs_nro, value, Handle] = msize_ok(Tag)Handle = findobj(gcbf,'Tag',Tag);temp = get(Handle,'String');value = str2num(temp);if isempty(value) msgs_nro = 1; return;end[test1 test2] = size(value);if test1 ~= 1 | test2 ~= 2 msgs_nro = 2; return; endmsgs_nro = 0;%%% Changed 1.2.2000function [] = visualize()global MAP;if isempty(MAP) helpmsg = {'Train map before tryinig to visualize it!'}; helpdlg(helpmsg,'Empty Map!'); return;enddim = size(MAP.codebook,2);odim = 2;[P,V] = pcaproj(MAP.codebook,odim);ccode = som_colorcode(MAP, 'rgb1');figure; som_show(MAP,'umat','all','comp',1:dim,'norm','d'); figure;subplot(1,2,1) som_grid(MAP,'Coord',P,'MarkerColor',ccode,'Markersize',5, ... 'Linewidth',1,'Linecolor','k');xlabel('PC1'), ylabel('PC2')title('PCA-projection (on the left), color coding (on the right)')axis tight, axis equalsubplot(1,2,2) som_cplane(MAP.topol.lattice,MAP.topol.msize,ccode);%msgbox('Save map in workspace. Load it from there.');%som_gui('save_workspace'); %som_comp_vis;%%%%%%%%%%%%%%%%function [] = clear_all()Handle = findobj(gcbf,'Enable','off');set(Handle,'Enable','on');Handle = findobj(gcbf,'Tag','Radiobutton1');set(Handle,'Value',0);Handle = findobj(gcbf,'Tag','StaticText10');set(Handle,'String','Status <no action>');Handle = findobj(gcbf,'Tag','StaticText3');set(Handle,'String','Map: <empty>');Handle = findobj(gcbf,'Tag','StaticText4');set(Handle,'String','Data: <empty>');Handle = findobj(gcbf,'Tag','StaticText20');set(Handle,'String','lattice:');Handle = findobj(gcbf,'Tag','StaticText11');set(Handle,'String','neigh:');Handle = findobj(gcbf,'Tag','StaticText16');set(Handle,'String','training length:');Handle = findobj(gcbf,'Tag','StaticText23');set(Handle,'String','training length:');Handle = findobj(gcbf,'Tag','StaticText17');set(Handle,'String','radius initial:');Handle = findobj(gcbf,'Tag','StaticText24');set(Handle,'String','radius initial:');Handle = findobj(gcbf,'Tag','StaticText5');set(Handle,'String','map size:');Handle = findobj(gcbf,'Tag','StaticText21');set(Handle,'String','shape:');Handle = findobj(gcbf,'Tag','StaticText12');set(Handle,'String','order:');set(Handle,'Visible','off');Handle = findobj(gcbf,'Tag','StaticText14');set(Handle,'String','length type:');set(Handle,'Visible','off');Handle = findobj(gcbf,'Tag','StaticText22');set(Handle,'String','radius final:');Handle = findobj(gcbf,'Tag','StaticText25');set(Handle,'String','radius final:');Handle = findobj(gcbf,'Tag','StaticText19');set(Handle,'String','tracking:');Handle = findobj(gcbf,'Tag','StaticText7');set(Handle,'String','Initialization');Handle = findobj(gcbf,'Tag','StaticText28');set(Handle,'String','alpha type:');set(Handle,'Visible','off');Handle = findobj(gcbf,'Tag','StaticText26');set(Handle,'String','alpha initial:');Handle = findobj(gcbf,'Tag','StaticText27');set(Handle,'String','alpha initial:');Handle = findobj(gcbf,'Tag','StaticText6');set(Handle,'String','type:');Handle = findobj(gcbf,'Tag','StaticText9');set(Handle,'String','training type:');Handle = findobj(gcbf,'Tag','Pushbutton9');set(Handle,'Enable','off');Handle = findobj(gcbf,'Tag','Pushbutton6');set(Handle,'Enable','off');Handle = findobj(gcbf,'Tag','Pushbutton4');set(Handle,'Enable','off');Handle = findobj(gcbf,'Tag','Pushbutton5');set(Handle,'Enable','off');Handle = findobj(gcbf,'Tag','Pushbutton2');set(Handle,'Enable','on');Handle = findobj(gcbf,'Tag','Radiobutton1');set(Handle,'Enable','off');Handle = findobj(gcbf,'Tag','Load/SaveSave mapuimenu1');set(Handle,'Enable','off');Handle = findobj(gcbf,'Tag','&Load/SaveSave mapSave in workspaceuimenu1');set(Handle,'Enable','off');Handle = findobj(gcbf,'Tag','Subuimenu2');set(Handle,'Enable','off');Handle = findobj(gcbf,'Tag','&ToolsSubuimenu1');set(Handle,'Enable','off');Handle = findobj(gcbf,'Tag','&Help/InfoHelp windowuimenu1');set(Handle,'Enable','off');Handle = findobj(gcbf,'Tag','&Help/InfoData infouimenu1');set(Handle,'Enable','off');Handle = findobj(gcbf,'Tag','&Init&Trainuimenu1');set(Handle,'Enable','off');Handle = findobj(gcbf,'Tag','&Init&TrainInitialize1');set(Handle,'Enable','off');Handle = findobj(gcbf,'Tag','&Init&TrainChange initialization valuesuimenu1');set(Handle,'Enable','off');Handle = findobj(gcbf,'Tag','&Init&TrainTrain1');set(Handle,'Enable','off');Handle = findobj(gcbf,'Tag','Load/SaveSubuimenu1');set(Handle,'Enable','off');Handle = findobj(gcbf,'String','alpha initial:');set(Handle,'Visible','off');clear;clear global;function [] = close_fig()global MAPSAVED NEWMAP;if isempty(MAPSAVED) if not(isempty(NEWMAP)) quest = 'Save map before closing?'; ButtonName = questdlg(quest); switch ButtonName case 'Yes' som_gui('savemap'); som_gui('clear'); clear global; close(gcbf); case 'No' som_gui('clear'); clear global; close(gcbf); case 'Cancel' end else som_gui('clear'); clear global; close(gcbf); end else som_gui('clear'); clear global; close(gcbf);endfunction [] = preprocess_gui()global DATA; if isempty(DATA) helpmsg = {'Load data before tryinig to preprocess!'}; helpdlg(helpmsg,'Empty Data!'); return;endpreprocess(DATA);waitfor(gcf);prompt = {'Name of preprocessed data in workspace?'};tittle = 'Reload preprocessed data!';lineNo = 1;def = {DATA.name};answer = inputdlg(prompt,tittle,lineNo,def);if isempty(answer) return;enddata = answer{1};new_name = retname;assignin('base',new_name,data);str = ['exist(' new_name ')']; temp = evalin('base',str); if temp ~= 1 temp = strcat('Variable ''',data,''' doesn''t exist in workspace.',... 'Old Data which is not preprocessed will be used.'); errordlg(temp,'Unknown variable!'); return;endevalin('base',['clear ' new_name ]) Handle = findobj(gcf,'Tag','StaticText4');temp = strcat('Data: <',data,'>');set(Handle,'String',temp);Handle = findobj(gcf,'Tag','StaticText10');set(Handle,'String','Status <data preprocessed>');temp = evalin('base',data);DATA.data = temp;som_gui('def_initialization');function [val] = loop(cell_data, search_data)for val = 1: length(cell_data) if strcmp(cell_data{val},search_data) break; endendif not(strcmp(cell_data{val},search_data)) val = -1;endfunction [] = comp_names(names,fid)last = size(names);for index=1:last fprintf(fid,'%% %s\n',names{index})end function [] = fill_field(names,mask,fid)last = size(mask);for index=1:last num = num2str(mask(index)) fprintf(fid,'%% %-15s %-2s\n',names{index},num)end %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% END OF OTHER FUNC %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% function fig = main_gui()v = version;ver_53_or_newer = (str2num(v(1:3)) >= 5.3);h0 = figure('Units','normalized', ... 'Color',[0.85 0.85 0.85], ... 'Name','SOM Toolbox -- Initialization & Training', ... 'NumberTitle','off', ... 'PaperPosition',[18 180 576 432], ... 'PaperUnits','points', ... 'Position',[0.3296875 0.28125 0.3828125 0.576171875], ... 'Tag','Fig1'); if ver_53_or_newer, set(h0,'ToolBar','none'); endh1 = uimenu('Parent',h0, ... 'Label','&Load/Save', ... 'Tag','uimenu1');h2 = uimenu('Parent',h1, ... 'Callback','som_gui(''load_data'');',... 'Label','Load Data', ... 'Tag','Subuimenu1');h2 = uimenu('Parent',h1, ... 'Label','Save map', ... 'Enable','off',... 'Tag','Load/SaveSubuimenu1');h3 = uimenu('Parent',h2, ... 'Callback','som_gui(''save_workspace'');', ... 'Enable','off', ... 'Label','Save in workspace', ... 'Tag','Load/SaveSave mapuimenu1');h3 = uimenu('Parent',h2, ... 'Callback','som_gui(''savemap'');', ... 'Enable','off', ... 'Label','Write cod-file', ... 'Tag','&Load/SaveSave mapSave in workspaceuimenu1');h1 = uimenu('Parent',h0, ... 'Label','&Utilities', ... 'Tag','uimenu2');h2 = uimenu('Parent',h1, ... 'Callback','som_gui(''preprocess'');', ... 'Enable','off', ... 'Label','Preprocess Data', ... 'Tag','Subuimenu2');h2 = uimenu('Parent',h1, ... 'Callback','som_gui(''visualize'');', ... 'Enable','off', ... 'Label','Visualize Map', ... 'Tag','&ToolsSubuimenu1');h2 = uimenu('Parent',h1, ... 'Callback','som_gui(''clear_all'');', ... 'Label','Clear all', ... 'Tag','&ToolsSubuimenu2');h2 = uimenu('Parent',h1, ... 'Callback','som_gui(''close'');', ... 'Label','Close Figure', ... 'Tag','&ToolsClear alluimenu1');h1 = uimenu('Parent',h0, ... 'Label','&Info', ... 'Tag','&ToolsClose Figureuimenu1');h2 = uimenu('Parent',h1, ... 'Callback','som_gui(''help'');', ... 'Label','WWW Help', ... 'Tag','Helpuimenu1');h2 = uimenu('Parent',h1, ... 'Callback','som_gui(''helpwin'');', ... 'Label','Help window', ... 'Tag','Helpuimenu2');h2 = uimenu('Parent',h1, ... 'Callback','som_gui(''helpwin2'');', ... 'Label','About GUI', ... 'Tag','&Help/InfoHelp windowuimenu2');h2 = uimenu('Parent',h1, ... 'Callback','som_gui(''data_info'');', ... 'Enable','off', ... 'Label','Data info', ... 'Tag','&Help/InfoHelp windowuimenu1');h2 = uimenu('Parent',h1, ... 'Callback','som_gui(''map_info'');', ... 'Enable','off', ... 'Label','Map info', ... 'Tag','&Help/InfoData infouimenu1');h1 = uimenu('Parent',h0, ... 'Label','&Init/Train', ... 'Tag','&Init/Train1');h2 = uimenu('Parent',h1, ... 'Callback','som_gui(''change_initialization'');', ... 'Enable','off', ... 'Label','Change initialization values', ... 'Tag','&Init&Trainuimenu1');h2 = uimenu('Parent',h1, ... 'Callback','som_gui(''init'');', ... 'Enable','off', ... 'Label','Initialize', ... 'Tag','&Init&TrainInitialize1');h2 = uimenu('Parent',h1, ... 'Callback','som_gui(''change_def'');', ... 'Enable','off', ... 'Label','Change training values', ... 'Tag','&Init&TrainChange initialization valuesuimenu1');h2 = uimenu('Parent',h1, ... 'Callback','som_gui(''def_train'');', ... 'Enable','off', ... 'Label','Train', ... 'Tag','&Init&TrainTrain1');h1 = uicontrol('Parent',h0, ... 'Units','normalized', ... 'ListboxTop',0, ... 'Position',[0.04081632653061224 0.01129943502824859 0.7619047619047619 0.9717514124293786], ... 'Style','frame', ... 'Tag','Frame1');h1 = uicontrol('Parent',h0, ... 'Units','normalized', ... 'ListboxTop',0, ... 'Position',[0.06802721088435373 0.7909604519774012 0.7074829931972788 0.1807909604519774], ... 'Style','frame', ... 'Tag','Frame2');h1 = uicontrol('Parent',h0, ... 'Units','normalized', ... 'BackgroundColor',[0.9 0.9 0.9], ... 'HorizontalAlignment','left', ... 'ListboxTop',0, ... 'Position',[0.09523809523809523 0.8527570621468927 0.6530612244897959 0.03389830508474576], ... 'FontUnits','normalized',... 'String','Map <empty>', ... 'Style','text', ... 'Tag','StaticText3');h1 = uicontrol('Parent',h0, ... 'Units','normalized', ... 'BackgroundColor',[0.9 0.9 0.9], ... 'HorizontalAlignment','left', ... 'ListboxTop',0, ... 'Position',[0.09523809523809523 0.8075593220338984 0.6530612244897959 0.03389830508474576], ... 'String','Data <empty>', ...
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -