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

📄 sliceomaticfigure.m

📁 matlab源代码,适用于开发研究,带来很好的学习效果.
💻 M
字号:
function appdata=sliceomaticfigure(d,xmesh,ymesh,zmesh)% FIG=SLICEOMATICFIGURE (D,XMESH,YMESH,ZMESH) - % Create the figure window to be used by the sliceomatic GUI.% D is the app data to attach to the figure% The [XYZ]MESH arguments specify a mesh that the data D falls into.% Copyright 2000, 2001, 2002, 2003, 2004, 2005 The MathWorks Inc% Check variableserror(nargchk(1,4,nargin))% Init sliceomatic  figure('name','Slicematic','toolbar','none');  lim=[min(min(min(d.data))) max(max(max(d.data)))];  if nargin==4      % Reorder vectors: make them horizontal (prepare to flipdim)      if size(xmesh,1)>size(xmesh,2)           xmesh=xmesh';      end      if size(ymesh,1)>size(ymesh,2)           ymesh=ymesh';      end      if size(zmesh,1)>size(zmesh,2)           zmesh=zmesh';      end      % Set axis orientation      xdir='normal';      ydir='normal';      zdir='normal';      if issorted(xmesh)~=1          xmesh=flipdim(xmesh,2);          xdir='reverse';      end      if issorted(ymesh)~=1          ymesh=flipdim(ymesh,2);          ydir='reverse';      end      % This should not be the case for medical images      if issorted(zmesh)~=1          zmesh=flipdim(zmesh,2);          zdir='reverse';      end      % Update data structure      d.axmain = axes('units','normal','pos',[.2  .2 .6 .6],'box','on',...          'ylim',[ymesh(1) ymesh(end)],...          'xlim',[xmesh(1) xmesh(end)],...          'zlim',[zmesh(1) zmesh(end)],...          'clim',lim,...          'alim',lim);      % Set axes direction      set(gca,'XDir',xdir,'YDir',ydir,'ZDir',zdir);    else      d.axmain = axes('units','normal','pos',[.2  .2 .6 .6],'box','on',...          'ylim',[1 size(d.data,1)],...          'xlim',[1 size(d.data,2)],...          'zlim',[1 size(d.data,3)],...          'clim',lim,...          'alim',lim);  end    activelabel('xlabel', 'X');  activelabel('ylabel', 'Y');  activelabel('zlabel', 'Z');  %activelabel('title', 'Data');  daspect([1 1 1]);  view(3);  axis tight vis3d;  hold on;  grid on;    % Set up the four controller axes.  d.axx    = axes('units','normal','pos',[.2  .81 .6 .1],'box','on',...                  'ytick',[],'xgrid','on','xaxislocation','top',...                  'zlim',[-2 1 ],...                  'layer','top',...                  'color','none');  d.pxx    = patch('facecolor',[1 1 1],...                   'facealpha',.6,...                   'edgecolor','none',...                   'hittest','off');  setappdata(d.axx,'motionpointer','SOM bottom');  d.axy    = axes('units','normal','pos',[.05 .05 .1 .75],'box','on',...                  'xtick',[],'ygrid','on',...                  'zlim',[-2 1 ],...                  'layer','top',...                  'color','none');  d.pxy    = patch('facecolor',[1 1 1],...                   'facealpha',.6,...                   'edgecolor','none',...                   'hittest','off');  setappdata(d.axy,'motionpointer','SOM right');  d.axz    = axes('units','normal','pos',[.85 .05 .1 .75],'box','on',...                  'xtick',[],'ygrid','on','yaxislocation','right',...                  'zlim',[-2 1 ],...                  'layer','top',...                  'color','none');  d.pxz    = patch('facecolor',[1 1 1],...                   'facealpha',.6,...                   'edgecolor','none',...                   'hittest','off');  setappdata(d.axz,'motionpointer','SOM left');  d.axiso  = axes('units','normal','pos',[.2 .05 .6 .1],'box','on',...                  'ytick',[],'xgrid','off','ygrid','off',...                  'xaxislocation','bottom',...                  'zlim',[-1 1],...                  'color','none',...                  'layer','top');  setappdata(d.axiso,'motionpointer','SOM top');  set([d.axx d.axy d.axz d.axiso],'handlevisibility','off');  setappdata(gcf,'sliceomatic',d);    % Set up the default sliceomatic controllers  if nargin == 4       slicecontrols(gcf,1,xmesh,ymesh,zmesh,xdir,ydir,zdir);  else      slicecontrols(gcf,1);  end        isocontrols(gcf,1);  % Button Down Functions  set(d.axx,'buttondownfcn','sliceomatic Xnew');  set(d.axy,'buttondownfcn','sliceomatic Ynew');  set(d.axz,'buttondownfcn','sliceomatic Znew');  set(d.axiso,'buttondownfcn','sliceomatic ISO');  % Set up our motion function before cameratoolbar is active.  d.motionmetaslice = [];  set(gcf,'windowbuttonmotionfcn',@sliceomaticmotion);    % Try setting up the camera toolbar  d=figtoolbar(d);    d = figmenus(d);    % Color and alph maps  uicontrol('style','text','string','ColorMap',...            'units','normal','pos',[0 .9 .19 .1]);  uicontrol('style','popup','string',...            {'jet','hsv','cool','hot','pink','bone','copper','flag','prism','rand','custom'},...            'callback','sliceomatic colormap',...            'units','normal','pos',[0 .85 .19 .1]);  uicontrol('style','text','string','AlphaMap',...            'units','normal','pos',[.81 .9 .19 .1]);  uicontrol('style','popup','string',{'rampup','rampdown','vup','vdown','rand'},...            'callback','sliceomatic alphamap',...            'units','normal','pos',[.81 .85 .19 .1]);  % Data tip thingydoo  d.tip = text('visible','off','fontname','helvetica','fontsize',10,'color','black');  try    % Try R13 new feature    set(d.tip,'backgroundcolor',[1 1 .8],'edgecolor',[.5 .5 .5],'margin',5);  end    appdata = d;

⌨️ 快捷键说明

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