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

📄 avw_view_new.html

📁 mri_toolbox是一个工具用来MRI. 来自于SourceForge, 我上传这个软件,希望能结识对医疗软件感兴趣的兄弟.
💻 HTML
📖 第 1 页 / 共 5 页
字号:
0709 
0710 <span class="keyword">if</span> isfield(AVWVIEW.handles,<span class="string">'axial_image'</span>),
0711     Saxi = squeeze(AVWVIEW.avw.img(:,:,AVWVIEW.slices.axi));
0712     set(AVWVIEW.handles.axial_image,<span class="string">'CData'</span>,Saxi');
0713 <span class="keyword">end</span>
0714 <span class="keyword">if</span> isfield(AVWVIEW.handles,<span class="string">'axial_sliderN'</span>),
0715     set(AVWVIEW.handles.axial_sliderN,<span class="string">'String'</span>,num2str(AVWVIEW.slices.axi));
0716     set(AVWVIEW.handles.axial_sliderN,<span class="string">'Value'</span>,AVWVIEW.slices.axi);
0717 <span class="keyword">end</span>
0718 <span class="keyword">if</span> isfield(AVWVIEW.handles,<span class="string">'axial_slider'</span>),
0719     set(AVWVIEW.handles.axial_slider,<span class="string">'Value'</span>,AVWVIEW.slices.axi);
0720 <span class="keyword">end</span>;
0721 
0722 <span class="keyword">return</span>
0723 
0724 
0725 <span class="comment">%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%</span>
0726 <a name="_sub2" href="#_subfunctions" class="code">function coronal_update(AVWVIEW)</a>
0727 
0728 <span class="keyword">if</span> isfield(AVWVIEW.handles,<span class="string">'coronal_image'</span>),
0729     Scor = squeeze(AVWVIEW.avw.img(:,AVWVIEW.slices.cor,:));
0730     set(AVWVIEW.handles.coronal_image,<span class="string">'CData'</span>,Scor');
0731 <span class="keyword">end</span>
0732 <span class="keyword">if</span> isfield(AVWVIEW.handles,<span class="string">'coronal_sliderN'</span>),
0733     set(AVWVIEW.handles.coronal_sliderN,<span class="string">'String'</span>,num2str(AVWVIEW.slices.cor));
0734     set(AVWVIEW.handles.coronal_sliderN,<span class="string">'Value'</span>,AVWVIEW.slices.cor);
0735 <span class="keyword">end</span>
0736 <span class="keyword">if</span> isfield(AVWVIEW.handles,<span class="string">'coronal_slider'</span>),
0737     set(AVWVIEW.handles.coronal_slider,<span class="string">'Value'</span>,AVWVIEW.slices.cor);
0738 <span class="keyword">end</span>;
0739 
0740 <span class="keyword">return</span>
0741 
0742 
0743 <span class="comment">%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%</span>
0744 <a name="_sub3" href="#_subfunctions" class="code">function sagittal_update(AVWVIEW)</a>
0745 
0746 <span class="keyword">if</span> isfield(AVWVIEW.handles,<span class="string">'sagittal_image'</span>),
0747     Ssag = squeeze(AVWVIEW.avw.img(AVWVIEW.slices.sag,:,:));
0748     set(AVWVIEW.handles.sagittal_image,<span class="string">'CData'</span>,Ssag');
0749 <span class="keyword">end</span>
0750 <span class="keyword">if</span> isfield(AVWVIEW.handles,<span class="string">'sagittal_sliderN'</span>),
0751     set(AVWVIEW.handles.sagittal_sliderN,<span class="string">'String'</span>,num2str(AVWVIEW.slices.sag));
0752     set(AVWVIEW.handles.sagittal_sliderN,<span class="string">'Value'</span>,AVWVIEW.slices.sag);
0753 <span class="keyword">end</span>
0754 <span class="keyword">if</span> isfield(AVWVIEW.handles,<span class="string">'sagittal_slider'</span>),
0755     set(AVWVIEW.handles.sagittal_slider,<span class="string">'Value'</span>,AVWVIEW.slices.sag);
0756 <span class="keyword">end</span>;
0757 
0758 <span class="keyword">return</span>
0759 
0760 
0761 <span class="comment">%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%</span>
0762 <a name="_sub4" href="#_subfunctions" class="code">function AVWVIEW = set_crosshairs(AVWVIEW)</a>
0763 
0764 current_axes = gca;
0765 
0766 <span class="keyword">if</span> isfield(AVWVIEW.handles,<span class="string">'axial_axes'</span>),
0767   axes(AVWVIEW.handles.axial_axes);
0768   <span class="keyword">if</span> ishandle(AVWVIEW.handles.axial_xline),
0769     delete(AVWVIEW.handles.axial_xline);
0770   <span class="keyword">end</span>
0771   <span class="keyword">if</span> ishandle(AVWVIEW.handles.axial_yline),
0772     delete(AVWVIEW.handles.axial_yline);
0773   <span class="keyword">end</span>
0774   
0775   AVWVIEW.handles.axial_xlim = get(AVWVIEW.handles.axial_axes,<span class="string">'Xlim'</span>);
0776   AVWVIEW.handles.axial_ylim = get(AVWVIEW.handles.axial_axes,<span class="string">'Ylim'</span>);
0777   AVWVIEW.handles.axial_xline = line(<span class="string">'Xdata'</span>,[AVWVIEW.slices.sag AVWVIEW.slices.sag],<span class="string">'Ydata'</span>,AVWVIEW.handles.axial_ylim);
0778   AVWVIEW.handles.axial_yline = line(<span class="string">'Ydata'</span>,[AVWVIEW.slices.cor AVWVIEW.slices.cor],<span class="string">'Xdata'</span>,AVWVIEW.handles.axial_xlim);
0779   set(AVWVIEW.handles.axial_xline,<span class="string">'Color'</span>,<span class="string">'b'</span>,<span class="string">'EraseMode'</span>,<span class="string">'xor'</span>,<span class="string">'Tag'</span>,<span class="string">'XLINE'</span>);
0780   set(AVWVIEW.handles.axial_yline,<span class="string">'Color'</span>,<span class="string">'b'</span>,<span class="string">'EraseMode'</span>,<span class="string">'xor'</span>,<span class="string">'Tag'</span>,<span class="string">'YLINE'</span>);
0781   
0782   <span class="keyword">if</span> get(AVWVIEW.handles.crosshairs,<span class="string">'value'</span>),
0783     set(AVWVIEW.handles.axial_xline,<span class="string">'visible'</span>,<span class="string">'on'</span>);
0784     set(AVWVIEW.handles.axial_yline,<span class="string">'visible'</span>,<span class="string">'on'</span>);
0785   <span class="keyword">else</span>
0786     set(AVWVIEW.handles.axial_xline,<span class="string">'visible'</span>,<span class="string">'off'</span>);
0787     set(AVWVIEW.handles.axial_yline,<span class="string">'visible'</span>,<span class="string">'off'</span>);
0788   <span class="keyword">end</span>
0789   
0790 <span class="keyword">end</span>
0791 
0792 <span class="keyword">if</span> isfield(AVWVIEW.handles,<span class="string">'coronal_axes'</span>),
0793   
0794   axes(AVWVIEW.handles.coronal_axes);
0795   <span class="keyword">if</span> ishandle(AVWVIEW.handles.coronal_xline),
0796     delete(AVWVIEW.handles.coronal_xline);
0797   <span class="keyword">end</span>
0798   <span class="keyword">if</span> ishandle(AVWVIEW.handles.coronal_yline),
0799     delete(AVWVIEW.handles.coronal_yline);
0800   <span class="keyword">end</span>
0801   
0802   AVWVIEW.handles.coronal_xlim = get(AVWVIEW.handles.coronal_axes,<span class="string">'Xlim'</span>);
0803   AVWVIEW.handles.coronal_ylim = get(AVWVIEW.handles.coronal_axes,<span class="string">'Ylim'</span>);
0804   AVWVIEW.handles.coronal_xline = line(<span class="string">'Xdata'</span>,[AVWVIEW.slices.sag AVWVIEW.slices.sag],<span class="string">'Ydata'</span>,AVWVIEW.handles.coronal_ylim);
0805   AVWVIEW.handles.coronal_yline = line(<span class="string">'Ydata'</span>,[AVWVIEW.slices.axi AVWVIEW.slices.axi],<span class="string">'Xdata'</span>,AVWVIEW.handles.coronal_xlim);
0806   set(AVWVIEW.handles.coronal_xline,<span class="string">'Color'</span>,<span class="string">'b'</span>,<span class="string">'EraseMode'</span>,<span class="string">'xor'</span>,<span class="string">'Tag'</span>,<span class="string">'XLINE'</span>);
0807   set(AVWVIEW.handles.coronal_yline,<span class="string">'Color'</span>,<span class="string">'b'</span>,<span class="string">'EraseMode'</span>,<span class="string">'xor'</span>,<span class="string">'Tag'</span>,<span class="string">'YLINE'</span>);
0808   
0809   <span class="keyword">if</span> get(AVWVIEW.handles.crosshairs,<span class="string">'value'</span>),
0810     set(AVWVIEW.handles.coronal_xline,<span class="string">'visible'</span>,<span class="string">'on'</span>);
0811     set(AVWVIEW.handles.coronal_yline,<span class="string">'visible'</span>,<span class="string">'on'</span>);
0812   <span class="keyword">else</span>
0813     set(AVWVIEW.handles.coronal_xline,<span class="string">'visible'</span>,<span class="string">'off'</span>);
0814     set(AVWVIEW.handles.coronal_yline,<span class="string">'visible'</span>,<span class="string">'off'</span>);
0815   <span class="keyword">end</span>
0816   
0817 <span class="keyword">end</span>
0818 
0819 <span class="keyword">if</span> isfield(AVWVIEW.handles,<span class="string">'sagittal_axes'</span>),
0820   axes(AVWVIEW.handles.sagittal_axes);
0821   <span class="keyword">if</span> ishandle(AVWVIEW.handles.sagittal_xline),
0822     delete(AVWVIEW.handles.sagittal_xline);
0823   <span class="keyword">end</span>
0824   <span class="keyword">if</span> ishandle(AVWVIEW.handles.sagittal_yline),
0825     delete(AVWVIEW.handles.sagittal_yline);
0826   <span class="keyword">end</span>
0827   
0828   AVWVIEW.handles.sagittal_xlim = get(AVWVIEW.handles.sagittal_axes,<span class="string">'Xlim'</span>);
0829   AVWVIEW.handles.sagittal_ylim = get(AVWVIEW.handles.sagittal_axes,<span class="string">'Ylim'</span>);
0830   AVWVIEW.handles.sagittal_xline = line(<span class="string">'Xdata'</span>,[AVWVIEW.slices.cor AVWVIEW.slices.cor],<span class="string">'Ydata'</span>,AVWVIEW.handles.sagittal_ylim);
0831   AVWVIEW.handles.sagittal_yline = line(<span class="string">'Ydata'</span>,[AVWVIEW.slices.axi AVWVIEW.slices.axi],<span class="string">'Xdata'</span>,AVWVIEW.handles.sagittal_xlim);
0832   set(AVWVIEW.handles.sagittal_xline,<span class="string">'Color'</span>,<span class="string">'b'</span>,<span class="string">'EraseMode'</span>,<span class="string">'xor'</span>,<span class="string">'Tag'</span>,<span class="string">'XLINE'</span>);
0833   set(AVWVIEW.handles.sagittal_yline,<span class="string">'Color'</span>,<span class="string">'b'</span>,<span class="string">'EraseMode'</span>,<span class="string">'xor'</span>,<span class="string">'Tag'</span>,<span class="string">'YLINE'</span>);
0834   
0835   <span class="keyword">if</span> get(AVWVIEW.handles.crosshairs,<span class="string">'value'</span>),
0836     set(AVWVIEW.handles.sagittal_xline,<span class="string">'visible'</span>,<span class="string">'on'</span>);
0837     set(AVWVIEW.handles.sagittal_yline,<span class="string">'visible'</span>,<span class="string">'on'</span>);
0838   <span class="keyword">else</span>
0839     set(AVWVIEW.handles.sagittal_xline,<span class="string">'visible'</span>,<span class="string">'off'</span>);
0840     set(AVWVIEW.handles.sagittal_yline,<span class="string">'visible'</span>,<span class="string">'off'</span>);
0841   <span class="keyword">end</span>
0842   
0843 <span class="keyword">end</span>
0844 
0845 axes(current_axes);
0846 
0847 <span class="keyword">return</span>
0848 
0849 
0850 <span class="comment">%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%</span>
0851 <a name="_sub5" href="#_subfunctions" class="code">function AVWVIEW = set_coordinates(AVWVIEW)</a>
0852 
0853 <span class="comment">% set the axis coordinates to voxels, mm or meters</span>
0854 
0855 s = size(AVWVIEW.avw.img);
0856 <span class="keyword">if</span> length(s) &gt; 0, xdim = s(1); <span class="keyword">else</span> xdim = 1; <span class="keyword">end</span>
0857 <span class="keyword">if</span> length(s) &gt; 1, ydim = s(2); <span class="keyword">else</span> ydim = 1; <span class="keyword">end</span>
0858 <span class="keyword">if</span> length(s) &gt; 2, zdim = s(3); <span class="keyword">else</span> zdim = 1; <span class="keyword">end</span>
0859 
0860 <span class="comment">% initialise for voxel coordinates</span>
0861 xpixdim = double(AVWVIEW.avw.hdr.dime.pixdim(2));
0862 ypixdim = double(AVWVIEW.avw.hdr.dime.pixdim(3));
0863 zpixdim = double(AVWVIEW.avw.hdr.dime.pixdim(4));
0864 xdata = [0 xdim];
0865 ydata = [0 ydim];
0866 zdata = [0 zdim];
0867 
0868 aspect = 1./AVWVIEW.daspect; <span class="comment">%AVWVIEW.avw.hdr.dime.pixdim(2:4);</span>
0869 
0870 
0871 <span class="keyword">if</span> get(AVWVIEW.handles.coord,<span class="string">'value'</span>) == 2,    <span class="comment">% mm</span>
0872   xdata = xdata .* xpixdim;
0873   ydata = ydata .* ypixdim;
0874   zdata = zdata .* zpixdim;
0875   aspect = [1 1 1];
0876 <span class="keyword">end</span>
0877 
0878 <span class="keyword">if</span> get(AVWVIEW.handles.coord,<span class="string">'value'</span>) == 3,    <span class="comment">% meters</span>
0879   xpixdim = xpixdim / 1000;
0880   ypixdim = ypixdim / 1000;
0881   zpixdim = zpixdim / 1000;
0882   xdata = xdata .* xpixdim;
0883   ydata = ydata .* ypixdim;
0884   zdata = zdata .* zpixdim;
0885   aspect = [1 1 1];
0886 <span class="keyword">end</span>
0887 
0888 
0889 <span class="keyword">if</span> isfield(AVWVIEW.handles,<span class="string">'axial_image'</span>),
0890   set(AVWVIEW.handles.axial_axes,<span class="string">'Xlim'</span>,xdata);
0891   set(AVWVIEW.handles.axial_axes,<span class="string">'Ylim'</span>,ydata);
0892   set(AVWVIEW.handles.axial_axes,<span class="string">'Zlim'</span>,zdata);
0893   set(AVWVIEW.handles.axial_image,<span class="string">'Xdata'</span>,xdata);
0894   set(AVWVIEW.handles.axial_image,<span class="string">'Ydata'</span>,ydata);
0895   daspect(AVWVIEW.handles.axial_axes,aspect([1 2 3]));
0896 <span class="keyword">end</span>;
0897 <span class="keyword">if</span> isfield(AVWVIEW.handles,<span class="string">'coronal_image'</span>),
0898   set(AVWVIEW.handles.coronal_axes,<span class="string">'Xlim'</span>,xdata);
0899   set(AVWVIEW.handles.coronal_axes,<span class="string">'Ylim'</span>,zdata);
0900   set(AVWVIEW.handles.coronal_axes,<span class="string">'Zlim'</span>,ydata);
0901   set(AVWVIEW.handles.coronal_image,<span class="string">'Xdata'</span>,xdata);
0902   set(AVWVIEW.handles.coronal_image,<span class="string">'Ydata'</span>,zdata);
0903   daspect(AVWVIEW.handles.coronal_axes,aspect([1 3 2]));
0904 <span class="keyword">end</span>;
0905 <span class="keyword">if</span> isfield(AVWVIEW.handles,<span class="string">'sagittal_image'</span>)

⌨️ 快捷键说明

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