📄 avw_view.html
字号:
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) > 0, xdim = s(1); <span class="keyword">else</span> xdim = 1; <span class="keyword">end</span>0857 <span class="keyword">if</span> length(s) > 1, ydim = s(2); <span class="keyword">else</span> ydim = 1; <span class="keyword">end</span>0858 <span class="keyword">if</span> length(s) > 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>),0906 set(AVWVIEW.handles.sagittal_axes,<span class="string">'Xlim'</span>,ydata);0907 set(AVWVIEW.handles.sagittal_axes,<span class="string">'Ylim'</span>,zdata);0908 set(AVWVIEW.handles.sagittal_axes,<span class="string">'Zlim'</span>,xdata);0909 set(AVWVIEW.handles.sagittal_image,<span class="string">'Xdata'</span>,ydata);0910 set(AVWVIEW.handles.sagittal_image,<span class="string">'Ydata'</span>,zdata);0911 daspect(AVWVIEW.handles.sagittal_axes,aspect([2 3 1]));0912 <span class="keyword">end</span>;0913 0914 <a href="#_sub9" class="code" title="subfunction set_display_values(AVWVIEW),">set_display_values</a>(AVWVIEW);0915 0916 <span class="keyword">return</span>0917 0918 0919 0920 0921 <span class="comment">%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -