📄 avw_view_v5.html
字号:
0083 0084 Font.FontName = <span class="string">'Helvetica'</span>;0085 Font.FontUnits = <span class="string">'Pixels'</span>;0086 Font.FontSize = 12;0087 Font.FontWeight = <span class="string">'normal'</span>;0088 Font.FontAngle = <span class="string">'normal'</span>;0089 0090 0091 shading flat0092 0093 0094 xdim = size(avw.img,1);0095 ydim = size(avw.img,2);0096 zdim = size(avw.img,3);0097 0098 SagSlice = 1;0099 CorSlice = 1;0100 AxiSlice = 1;0101 <span class="keyword">if</span> xdim > 1, SagSlice = floor(xdim/2); <span class="keyword">end</span>0102 <span class="keyword">if</span> ydim > 1, CorSlice = floor(ydim/2); <span class="keyword">end</span>0103 <span class="keyword">if</span> zdim > 1, AxiSlice = floor(zdim/2); <span class="keyword">end</span>0104 0105 AVWVIEW.origin = [SagSlice,CorSlice,AxiSlice]; <span class="comment">% vol origin</span>0106 0107 pixdim = double(avw.hdr.dime.pixdim(2:4));0108 0109 AVWVIEW.scale = pixdim ./ 1000; <span class="comment">% vol scale in meters</span>0110 AVWVIEW.daspect = pixdim ./ max(pixdim);0111 0112 <span class="comment">% Initialise some window handles</span>0113 G.Ha = 0;0114 G.Hc = 0;0115 G.Hs = 0;0116 0117 <span class="comment">%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%</span>0118 <span class="comment">%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%</span>0119 0120 <span class="comment">% Axial Slice</span>0121 <span class="keyword">if</span> xdim > 1 & ydim > 1,0122 0123 G.Aa = subplot(<span class="string">'position'</span>,[0.05 0.56 0.4 0.4]);0124 colormap(<span class="string">'gray'</span>);0125 0126 Saxial = squeeze(avw.img(:,:,AxiSlice));0127 G.Ha = imagesc([0,xdim],[0,ydim],Saxial');0128 set(gca,<span class="string">'YDir'</span>,<span class="string">'normal'</span>,<span class="string">'YColor'</span>,[1 1 1],<span class="string">'XColor'</span>,[1 1 1])0129 0130 daspect(AVWVIEW.daspect([2 1 3]));0131 0132 xlabel(<span class="string">'(Left <<) X (>> Right)'</span>)0133 ylabel(<span class="string">'Y'</span>)0134 title(<span class="string">'Axial'</span>)0135 0136 <span class="comment">% This callback navigates with left click</span>0137 set(G.Ha,<span class="string">'ButtonDownFcn'</span>,<span class="keyword">...</span>0138 strcat(<span class="string">'AVWVIEW = get(gcbf,''Userdata''); '</span>,<span class="keyword">...</span>0139 <span class="string">'currentpoint = get(get(AVWVIEW.handles.Ha,''Parent''),''CurrentPoint''); '</span>,<span class="keyword">...</span>0140 <span class="string">'SagSlice = round(currentpoint(2,1)); '</span>,<span class="keyword">...</span>0141 <span class="string">'CorSlice = round(currentpoint(2,2)); '</span>,<span class="keyword">...</span>0142 <span class="string">'AxiSlice = round(str2num(get(AVWVIEW.handles.Taxi,''String''))); '</span>,<span class="keyword">...</span>0143 <span class="string">'imgvalue = double(AVWVIEW.avw.img(SagSlice,CorSlice,AxiSlice)); '</span>,<span class="keyword">...</span>0144 <span class="string">'set(AVWVIEW.handles.imval,''String'',sprintf(''%8.2f'',imgvalue));'</span>,<span class="keyword">...</span>0145 <span class="string">'set(AVWVIEW.gui,''UserData'',AVWVIEW);'</span>,<span class="keyword">...</span>0146 <span class="string">'if ishandle(AVWVIEW.handles.Hs) & AVWVIEW.handles.Hs, '</span>,<span class="keyword">...</span>0147 <span class="string">' Ssag = squeeze(AVWVIEW.avw.img(SagSlice,:,:));'</span>,<span class="keyword">...</span>0148 <span class="string">' set(AVWVIEW.handles.Hs,''CData'',Ssag''); '</span>,<span class="keyword">...</span>0149 <span class="string">' set(AVWVIEW.handles.Tsag,''String'',num2str(SagSlice));'</span>,<span class="keyword">...</span>0150 <span class="string">' set(AVWVIEW.handles.Ssag,''Value'',SagSlice);'</span>,<span class="keyword">...</span>0151 <span class="string">' clear Ssag; '</span>,<span class="keyword">...</span>0152 <span class="string">' set(AVWVIEW.gui,''UserData'',AVWVIEW);'</span>,<span class="keyword">...</span>0153 <span class="string">'end; '</span>,<span class="keyword">...</span>0154 <span class="string">'if ishandle(AVWVIEW.handles.Hc) & AVWVIEW.handles.Hc, '</span>,<span class="keyword">...</span>0155 <span class="string">' Scor = squeeze(AVWVIEW.avw.img(:,CorSlice,:));'</span>,<span class="keyword">...</span>0156 <span class="string">' set(AVWVIEW.handles.Hc,''CData'',Scor''); '</span>,<span class="keyword">...</span>0157 <span class="string">' set(AVWVIEW.handles.Tcor,''String'',num2str(CorSlice));'</span>,<span class="keyword">...</span>0158 <span class="string">' set(AVWVIEW.handles.Scor,''Value'',CorSlice);'</span>,<span class="keyword">...</span>0159 <span class="string">' clear Scor; '</span>,<span class="keyword">...</span>0160 <span class="string">' set(AVWVIEW.gui,''UserData'',AVWVIEW);'</span>,<span class="keyword">...</span>0161 <span class="string">'end; '</span>,<span class="keyword">...</span>0162 <span class="string">'clear currentpoint imgvalue AxiSlice CorSlice SagSlice AVWVIEW;'</span>));0163 0164 <span class="keyword">if</span> zdim > 1,0165 slider_step(1) = 1/(zdim);0166 slider_step(2) = 1/(zdim);0167 G.Saxi = uicontrol(<span class="string">'Parent'</span>,GUI,<span class="string">'Style'</span>,<span class="string">'slider'</span>,<span class="string">'Units'</span>,<span class="string">'Normalized'</span>, Font, <span class="keyword">...</span>0168 <span class="string">'Position'</span>,[.45 .56 .03 .40], <span class="string">'HorizontalAlignment'</span>, <span class="string">'center'</span>,<span class="keyword">...</span>0169 <span class="string">'BusyAction'</span>,<span class="string">'queue'</span>,<span class="keyword">...</span>0170 <span class="string">'Min'</span>,1,<span class="string">'Max'</span>,zdim,<span class="string">'SliderStep'</span>,slider_step,<span class="string">'Value'</span>,AxiSlice,<span class="keyword">...</span>0171 <span class="string">'Callback'</span>,strcat(<span class="string">'AVWVIEW = get(gcbf,''Userdata''); '</span>,<span class="keyword">...</span>0172 <span class="string">'AxiSlice = round(get(AVWVIEW.handles.Saxi,''Value''));'</span>,<span class="keyword">...</span>0173 <span class="string">'set(AVWVIEW.handles.Saxi,''Value'',AxiSlice);'</span>,<span class="keyword">...</span>0174 <span class="string">'Saxi = squeeze(AVWVIEW.avw.img(:,:,AxiSlice));'</span>,<span class="keyword">...</span>0175 <span class="string">'set(AVWVIEW.handles.Ha,''CData'',Saxi''); '</span>,<span class="keyword">...</span>0176 <span class="string">'set(AVWVIEW.handles.Taxi,''String'',num2str(AxiSlice));'</span>,<span class="keyword">...</span>0177 <span class="string">'CorSlice = round(get(AVWVIEW.handles.Scor,''Value''));'</span>,<span class="keyword">...</span>0178 <span class="string">'SagSlice = round(get(AVWVIEW.handles.Ssag,''Value''));'</span>,<span class="keyword">...</span>0179 <span class="string">'imgvalue = double(AVWVIEW.avw.img(SagSlice,CorSlice,AxiSlice)); '</span>,<span class="keyword">...</span>0180 <span class="string">'set(AVWVIEW.handles.imval,''String'',sprintf(''%8.2f'',imgvalue));'</span>,<span class="keyword">...</span>0181 <span class="string">'set(AVWVIEW.gui,''UserData'',AVWVIEW);'</span>,<span class="keyword">...</span>0182 <span class="string">'clear imgvalue Saxi AxiSlice CorSlice SagSlice AVWVIEW;'</span>));0183 <span class="keyword">end</span>0184 G.Taxi = uicontrol(<span class="string">'Parent'</span>,GUI,<span class="string">'Style'</span>,<span class="string">'text'</span>,<span class="string">'Units'</span>,<span class="string">'Normalized'</span>, Font, <span class="keyword">...</span>0185 <span class="string">'Position'</span>,[.45 .51 .03 .05], <span class="string">'HorizontalAlignment'</span>, <span class="string">'center'</span>,<span class="keyword">...</span>0186 <span class="string">'BusyAction'</span>,<span class="string">'queue'</span>,<span class="keyword">...</span>0187 <span class="string">'String'</span>,num2str(AxiSlice));0188 <span class="keyword">end</span>0189 0190 <span class="comment">%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%</span>0191 <span class="comment">%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%</span>0192 0193 <span class="comment">% Coronal Slice</span>0194 <span class="keyword">if</span> xdim > 1 & zdim > 1,0195 0196 subplot(<span class="string">'position'</span>,[0.55 0.56 0.4 0.4])0197 colormap(<span class="string">'gray'</span>);0198 0199 Scor = squeeze(avw.img(:,CorSlice,:));0200 G.Hc = imagesc([0,xdim],[0,zdim],Scor');0201 set(gca,<span class="string">'YDir'</span>,<span class="string">'normal'</span>,<span class="string">'YColor'</span>,[1 1 1],<span class="string">'XColor'</span>,[1 1 1])0202 0203 daspect(AVWVIEW.daspect([3 1 2]));0204 0205 xlabel(<span class="string">'(Left <<) X (>> Right)'</span>)0206 ylabel(<span class="string">'Z'</span>)0207 title(<span class="string">'Coronal'</span>)0208 0209 <span class="comment">% This callback navigates with left click</span>0210 set(G.Hc,<span class="string">'ButtonDownFcn'</span>,<span class="keyword">...</span>0211 strcat(<span class="string">'AVWVIEW = get(gcbf,''Userdata''); '</span>,<span class="keyword">...</span>0212 <span class="string">'currentpoint = get(get(AVWVIEW.handles.Hc,''Parent''),''CurrentPoint''); '</span>,<span class="keyword">...</span>0213 <span class="string">'SagSlice = round(currentpoint(2,1)); '</span>,<span class="keyword">...</span>0214 <span class="string">'AxiSlice = round(currentpoint(2,2)); '</span>,<span class="keyword">...</span>0215 <span class="string">'CorSlice = round(str2num(get(AVWVIEW.handles.Tcor,''String''))); '</span>,<span class="keyword">...</span>0216 <span class="string">'imgvalue = double(AVWVIEW.avw.img(SagSlice,CorSlice,AxiSlice)); '</span>,<span class="keyword">...</span>0217 <span class="string">'set(AVWVIEW.handles.imval,''String'',sprintf(''%8.2f'',imgvalue));'</span>,<span class="keyword">...</span>0218 <span class="string">'set(AVWVIEW.gui,''UserData'',AVWVIEW);'</span>,<span class="keyword">...</span>0219 <span class="string">'if ishandle(AVWVIEW.handles.Hs) & AVWVIEW.handles.Hs, '</span>,<span class="keyword">...</span>0220 <span class="string">' Ssag = squeeze(AVWVIEW.avw.img(SagSlice,:,:));'</span>,<span class="keyword">...</span>0221 <span class="string">' set(AVWVIEW.handles.Hs,''CData'',Ssag''); '</span>,<span class="keyword">...</span>0222 <span class="string">' set(AVWVIEW.handles.Tsag,''String'',num2str(SagSlice));'</span>,<span class="keyword">...</span>0223 <span class="string">' set(AVWVIEW.handles.Ssag,''Value'',SagSlice);'</span>,<span class="keyword">...</span>0224 <span class="string">' clear Ssag; '</span>,<span class="keyword">...</span>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -