⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 som_gui.m

📁 适用于需要用matlab环境
💻 M
📖 第 1 页 / 共 5 页
字号:
function som_gui(varargin)%SOM_GUI A GUI for initialization and training of SOM.%% som_gui([sD]) % %   som_gui%   som_gui(sD)%%  Input and output arguments ([]'s are optional) %   [sD]     (struct) SOM data struct%            (matrix) a data matrix, size dlen x dim%%   Actually, there are more arguments the function takes, but %   they are for internal action of the function only. DO NOT use%   them.%% For a more throughout description, see the online documentation.% See also PREPROCESS.%%%%%%%%%%%% DETAILED DESCRIPTION %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% 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%% Contributed to SOM Toolbox vs2, February 2nd, 2000 by Mika Pollari% Copyright (c) by Mika Pollari and SOM Toolbox Team% http://www.cis.hut.fi/projects/somtoolbox/% Mika Pollari 31.1.2000 vs 1.1global NEWMAP NEWST MAPSAVED MAP DATA  LOAD_NAME LOAD_DATA;global SAVEMAP ALGORITHM HANDLE2 STOPOLINIT INIT_TYPE;global STRAIN1 STRAIN2 SOTHERS;if nargin == 0  main_gui;  action = 'dummy';	elseif nargin == 1  temp = varargin{1};  if isstruct(temp),    DATA = temp;    main_gui;    action = 'input_data';  elseif isnumeric(temp),     DATA = som_data_struct(temp);    main_gui;    action = 'input_data';  else    action = temp;			  endend switch(action)%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% LOAD %%%%%%%%%%%%%%%%%%%%%%%%%%  case 'load_data'     loadgui3;		%%% Activates load GUI  case 'workspace'       workspace;	%%% Workspace selected  case 'file'        file;  		%%% File Selected  case 'file_select'	file_select;   case 'missing'	       Handle = findobj(gcf,'Tag','Checkbox1');       set(Handle,'Value',1);	  case 'load_ok'	%%% <Load OK> pushed     	load_ok;	  case 'input_data'	%%% GUI activated with data as arg1     	input_data;     %%% eg. som_gui(data)  case 'browse'		%%% Activates Browse GUI			browse;		%%% Browse files or workspace variables  case 'works_ok'	%%% <OK> pushed in (workspace) browse GUI	works_ok;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Initialization %%%%%%%%%%%%%%%%%%%%%%%%%%%%  case 'def_initialization'	%%% Finds default initialization ...	def_initialization;     %%% parameters  case 'change_initialization'	%%% Activates change (init) parameters GUI    	change_initialization;  case 'change_initialization_ok'%%% Set new init. parameters 		change_initialization_ok;  case 'change_initialization_cancel'	close(gcf);	return;  case 'map_size' %%% Checks that 'map_size' is given in correct form	map_size;  case 'munits'   %%% Checks that 'munits' is given in correct form	munits;    case 'init'	%%% Initialize Map	init;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Train %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%  case 'def_values_others'	def_values_others;  case 'def_values_train' 	STRAIN1 = som_train_struct('algorithm',ALGORITHM,'phase','rough','data',DATA);	STRAIN2 = som_train_struct('previous',STRAIN1);  case 'fill_fields'	%%% Fill text fields in GUI	fill_fields;  case 'def_train'	%%% Train Map     	def_train;  case 'change_def'	%%% Change default training parameters 	change_def;	%%% Activate GUI  case 'fill_new_defaults' 	fill_new_defaults;  case 'set_batch_mask'	set_batch_mask;  case 'set_new_parameters'	set_new_parameters;  case 'only_finetune' 	%%% Train only once with finetune parameters	only_finetune;%%%%%%% Next function check correctnes of new training parameters.  case 'check_rough_radini'	check_rough_radini;  case 'check_fine_radini'	check_fine_radini;  case 'check_rough_radfin'	check_rough_radfin;  case 'check_fine_radfin'	check_fine_radfin;  case 'check_rough_alphaini'	check_rough_alphaini;  case 'check_fine_alphaini'	check_fine_alphaini;  case 'check_rough_trainlen'	check_rough_trainlen;  case 'check_fine_trainlen'	check_fine_trainlen;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Save Map %%%%%%%%%%%%%%%%%%%%%%  case 'savemap'	%%% Save as <.cod> file	savemap;  case 'save_workspace'	%%% Save in workspace	save_workspace;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Help & Info %%%%%%%%%%%%%%%%%%%%%%%  case 'help'    web file:///share/somtoolbox/vs2/html/som_GUI.html;  case 'helpwin'    helpwin1;  case 'helpwin2'    helpwin som_gui;	  case 'data_info'	data_info;   %%% Info about data  case 'map_info'    %%% Info about map	map_info;%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% Other Functions %%%%%%%%%%%%%%%%%%%%%%%  case 'preprocess'	preprocess_gui;		%%%%% Call preprocess GUI  case 'visualize'	visualize;		%%%%% Call visualization GUI  case 'clear_all'		%%%%% Clear all filds	clear_all;		  case 'close'	close_fig;		%%%%% Close active GUI 	end %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%				%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%   END OF SWITCH-STATEMENT  %%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%				%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%% (SUB) FUNCTIONS%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%				%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%     LOAD SECTION STARTS	%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%				%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%	function [] = workspace()Handle = findobj(gcbf,'Tag','Radiobutton2');Value = get(Handle,'Value');HandleTemp = findobj(gcbf,'Tag','Radiobutton1');if Value == 1	  set(HandleTemp,'Value',0);  HandleBar = findobj(gcbf,'Tag','PopupMenu1');  set(HandleBar,'Enable','off');  set(HandleBar,'Visible','off');  Handle3 = findobj(gcbf,'Tag','StaticText3');  set(Handle3,'Visible','off');  Handle3 = findobj(gcbf,'Tag','Checkbox1');  set(Handle3,'Visible','off');  Handle3 = findobj(gcbf,'Tag','EditText3');  set(Handle3,'Visible','off');  Handle = findobj(gcbf,'Tag','EditText2');  set(Handle,'String','');endfunction [] = file()Handle = findobj(gcbf,'Tag','Radiobutton1');Value = get(Handle,'Value');HandleTemp = findobj(gcbf,'Tag','Radiobutton2');if Value == 1  set(HandleTemp,'Value',0);  HandleBar = findobj(gcbf,'Tag','PopupMenu1');  set(HandleBar,'Enable','on');  set(HandleBar,'Visible','on');  Handle3 = findobj(gcbf,'Tag','StaticText3');  set(Handle3,'Visible','on');  Handle3 = findobj(gcbf,'Tag','Checkbox1');  set(Handle3,'Visible','on');  Handle3 = findobj(gcbf,'Tag','EditText3');  set(Handle3,'Visible','on');   Handle = findobj(gcbf,'Tag','EditText1');  set(Handle,'String','');endfunction [] = file_select() Handle = findobj(gcbf,'Tag','PopupMenu1');temp = get(Handle,'String');val = get(Handle,'Value');Handle1 = findobj(gcbf,'Tag','Checkbox1');Handle2 = findobj(gcbf,'Tag','EditText3');if strcmp(temp{val},'dat file')   set(Handle2,'String','x');   set(Handle1,'Enable','on');   set(Handle2,'Enable','on');   set(Handle1,'Visible','on');   set(Handle2,'Visible','on');  else    set(Handle1,'Value',0);   set(Handle1,'Enable','off');   set(Handle2,'Enable','off');   set(Handle1,'Visible','off');   set(Handle2,'Visible','off');endfunction [] = load_ok()global MAP DATA LOAD_DATA LOAD_NAME;Handle1 = findobj(gcbf,'Tag','EditText1');Handle2 = findobj(gcbf,'Tag','EditText2');Name1 = get(Handle1,'String');Name2 = get(Handle2,'String');if isempty(Name1) & not(isempty(Name2))  Handle = findobj(gcbf,'Tag','PopupMenu1')  type = get(Handle,'String');  val = get(Handle,'Value');  type = type{val};  if strcmp(type,'mat file')      ltemp = 'load:::';      ltemp = strcat(ltemp,Name2);      ltemp = strrep(ltemp,':::',' ');      evalin('base',ltemp);      DATA = evalin('base','sD');      LOAD_DATA = evalin('base','sD.data');      LOAD_NAME = evalin('base','sD.name');      LOAD_NAME = strrep(LOAD_NAME,'.','_');      load_labels = evalin('base','sD.labels');      load_comp_names = evalin('base','sD.comp_names');      DATA = som_data_struct(LOAD_DATA);      DATA.name = LOAD_NAME;      DATA.comp_names = load_comp_names;      DATA.labels = load_labels;   else      Handle = findobj(gcbf,'Tag','Checkbox1');      value = get(Handle,'Value');      if value == 0	         temp = 'som_read_data(''';         temp = strcat(temp,Name2,''');');      else           Handle = findobj(gcbf,'Tag','EditText3');          missing = get(Handle,'String');          if not(isempty(missing))              temp = 'som_read_data(''';              temp = strcat(temp,Name2,'''',',','''',missing,''');');          else	      temp = 'som_read_data(''';              temp = strcat(temp,Name2,''');');          end         end     evalin('base',temp);     DATA = evalin('base','ans');     name = DATA.name;     temp = findstr('/',name);     if not(isempty(temp))	         name = name(temp(end)+1:end);     end     name = strrep(name,'.','_');		     LOAD_NAME = name;     DATA.name = name;	   endelseif isempty(Name2) & not(isempty(Name1))   LOAD_DATA = evalin('base',Name1);   if not(isstruct(LOAD_DATA))      DATA = som_data_struct(LOAD_DATA);      LOAD_NAME = Name1;      DATA.name = Name1;   else      DATA = LOAD_DATA;      name = DATA.name;      temp = findstr('/',name);      if not(isempty(temp))		 name = name(temp(end)+1:end);      end      name = strrep(name,'.','_');		      LOAD_NAME = name;      DATA.name = name;   endelse    errmsg = {'Give name of data before loading'};   errordlg(errmsg,'Empty data name!');   return;endclose(gcbf);			     			if not(isempty(MAP))   clear MAP;   global MAP;   str1 = 'Map:  <empty>';   str2 = 'Train';   Handle = findobj(gcf,'Tag','StaticText3');   set(Handle,'String',str1);   Handle = findobj(gcf,'Tag','StaticText8');   set(Handle,'String',str2);end	temp =  'Data:';temp = strcat(temp,' <',LOAD_NAME,'>');	Handle = findobj(gcf,'Tag','StaticText4');set(Handle,'String',temp);som_gui('def_initialization');Handle = findobj(gcf,'Tag','Pushbutton2');set(Handle,'Enable','off');Handle = findobj(gcf,'Tag','Pushbutton4');set(Handle,'Enable','on');Handle = findobj(gcf,'Tag','Pushbutton9');set(Handle,'Enable','on');Handle = findobj(gcf,'Tag','Subuimenu2');set(Handle,'Enable','on');Handle = findobj(gcf,'Tag','&Help/InfoHelp windowuimenu1');set(Handle,'Enable','on');Handle = findobj(gcf,'Tag','&Init&Trainuimenu1');set(Handle,'Enable','on');Handle = findobj(gcf,'Tag','&Init&TrainInitialize1');set(Handle,'Enable','on');Handle = findobj(gcf,'Tag','Subuimenu1');set(Handle,'Enable','off'); %%%%%%????????	Handle = findobj(gcf,'Tag','StaticText10');set(Handle,'String','Status <data loaded>');	 function [] = input_data()global DATA; name = DATA.name;newname = strrep(name,'.','_');DATA.name = newname;temp = strcat('Data:  <',newname,'>');	Handle = findobj(gcf,'Tag','StaticText4');set(Handle,'String',temp);som_gui('def_initialization');Handle = findobj(gcf,'Tag','Pushbutton2');set(Handle,'Enable','off');Handle = findobj(gcf,'Tag','Pushbutton4');set(Handle,'Enable','on');Handle = findobj(gcf,'Tag','Pushbutton9');set(Handle,'Enable','on');Handle = findobj(gcf,'Tag','Subuimenu2');set(Handle,'Enable','on');Handle = findobj(gcf,'Tag','&Help/InfoHelp windowuimenu1');set(Handle,'Enable','on');Handle = findobj(gcf,'Tag','&Init&Trainuimenu1');

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -