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

📄 switchyard.m

📁 细胞生长结构可视化工具箱-MATLAB Toolbox1999.zip
💻 M
字号:
% function switchyard(action) - catches all callback function calls and executes the appropriate code
function switchyard(action)

	switch(action)
   case 'About'
      disp('GCS Visualisation tool');
      GcsProj = get(gcbf,'UserData');	% Read existing structure so that training data is not lost
      GcsProj
      GcsProj.Gcs
   case 'LoadNet'
      [filename,path] = uigetfile('*.mat','Load GCS Network');
      if path ~= 0
         eval(['load ', path, filename]);
         % load training data from separate file
         eval(['load ', path, Gcs.Trainfilename]);
         GcsProj = get(gcbf,'UserData');	% Read existing structure so that training data is not lost
         GcsProj = trdata;
         GcsProj.Gcs = Gcs;
         GcsProj.Gcs.Status = 'Idle';
         GcsProj.Gcs.StatusColour = 'default';
         set(gcbf,'UserData',GcsProj);
      end
      DispState
   case 'DrawNet'
      cla;
      whitebg('white');
      GcsProj = get(gcbf,'UserData');
      DispState;
   case 'ChangeSaveDir'   
      [filename,pathname] = uiputfile('Gcs.mat','Save File in desired working directory');
      if (filename ~=0)
         cd(pathname);
     		GcsProj = get(gcbf,'UserData');
         Gcs = GcsProj.Gcs;
         eval(['save ' filename ' Gcs']);
      end
   case 'Replot'
      GcsProj = get(gcbf,'UserData');
      GcsProj = replot(GcsProj);
      set(gcbf,'UserData',GcsProj);
      DispState;
   case 'NewNet'
      set(gcbf,'UserData',GcsProject);
      DispState;
   case 'Train'
      GcsProj = get(gcbf,'UserData');
      if isempty(GcsProj.dataAll)
         uiwait(errordlg('Load a training set first!'));
      else
         TrainNet(GcsProj);
      end
   case 'Factor'
      GcsProj = get(gcbf,'UserData');
      Factor(GcsProj);
   case 'NameChange'
      GcsProj = get(gcbf,'UserData');
      GcsProj.Gcs.Name = get(findobj(gcbf,'Tag','NameEdit'),'String');
      set(gcbf,'UserData',GcsProj);
   case 'LoadTrain'
      GcsProj = get(gcbf,'UserData');
      [filename,pathname] = uigetfile('*.*','Select Training Data File');
      if (filename~=0)
         if findstr('.mat',filename)	% .mat files are assumed to be previously processed training sets
            eval(['load ', pathname, filename]);
            GcsProj = get(gcbf,'UserData');
            tempGcs = GcsProj.Gcs;
         	GcsProj = trdata;
         	GcsProj.Gcs = tempGcs;
	         GcsProj.Gcs.Status = 'Idle';
            GcsProj.Gcs.StatusColour = 'default';
            GcsProj.Gcs.NoClasses =max(GcsProj.dataAll(:,size(GcsProj.dataAll,2)));
				GcsProj.Gcs.n = size(GcsProj.dataAll,2)-1;
	         for cindex=1:GcsProj.Gcs.NoClasses
					eval(['GcsProj.Gcs.accv' int2str(cindex) ' =[];']);
				end
            set(gcbf,'UserData',GcsProj);
            DispState;
         else
	         [data,labels,classes] = readdata([pathname,filename],',');
	         GcsProj.dataAll = data;
		      %GcsProj.train = data;
		      %GcsProj.test = data;
	         GcsProj.NoTrain = size(data,1);
		      GcsProj.NoTest = 0;
	         GcsProj.IpLabels = labels;
	         GcsProj.ClassLabels = classes;
	         if isempty(classes)
	            GcsProj.Gcs.NoClasses =max(data(:,size(data,2)));
	         else
	            GcsProj.Gcs.NoClasses = size(classes,1);
	         end
	         GcsProj.Gcs.n = size(data,2)-1;
	         for cindex=1:GcsProj.Gcs.NoClasses
					eval(['GcsProj.Gcs.accv' int2str(cindex) ' =[];']);
				end
	         set(gcbf,'UserData',GcsProj);        
	         DispState;
         end
      end
   case 'SetParams'
      pwin = paramwin;
      SetParams('Display');
   case 'NoEpochChange'
      GcsProj = get(gcbf,'UserData');
      GcsProj.epochspernode = str2num(get(findobj(gcbf,'Tag','NoEpochEdit'),'String'));
      set(gcbf,'UserData',GcsProj);
   case 'NoNodesChange'
      GcsProj = get(gcbf,'UserData');
      GcsProj.NoNewNodes = str2num(get(findobj(gcbf,'Tag','NoNodesEdit'),'String'));
      set(gcbf,'UserData',GcsProj);
   case 'Normalise'
   	GcsProj = get(gcbf,'UserData');
      GcsProj.Gcs.Normalise = get(findobj(gcbf,'Tag','Normalise'),'Value');
      set(gcbf,'UserData',GcsProj);   
   case 'EqualPriors'
 		GcsProj = get(gcbf,'UserData');
      GcsProj.Gcs.EqualPriors = get(findobj(gcbf,'Tag','EqualPriors'),'Value');
      set(gcbf,'UserData',GcsProj);   
   case 'NoTrainChange'
      GcsProj = get(gcbf,'UserData');
      if ~isempty(GcsProj.dataAll)
         GcsProj.NoTrain = str2num(get(findobj(gcbf,'Tag','NoTrainEdit'),'String'));
         GcsProj.NoTest = size(GcsProj.dataAll,1)-GcsProj.NoTrain;
      else
         GcsProj.NoTrain = 0;
      end
      set(gcbf,'UserData',GcsProj);
      DispState;
   case 'NoTestChange'
      GcsProj = get(gcbf,'UserData');
      if ~isempty(GcsProj.dataAll)
         GcsProj.NoTest = str2num(get(findobj(gcbf,'Tag','NoTestEdit'),'String'));
         GcsProj.NoTrain = size(GcsProj.dataAll,1)-GcsProj.NoTest;
      else
         GcsProj.NoTest = 0;
      end
      set(gcbf,'UserData',GcsProj);
      DispState;
   case 'ColourChange'
      GcsProj = get(gcbf,'UserData');
      GcsProj.Colour = get(findobj(gcbf,'Tag','Colour'),'Value');
      if GcsProj.Colour == 1
         GcsProj.Gcs.c='jet';
      else
         GcsProj.Gcs.c='gray';
      end
      set(gcbf,'UserData',GcsProj);
   case 'Locate'
      Locate;
   end
   
   
   
   



 

⌨️ 快捷键说明

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