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

📄 avw_img_compose.html

📁 mri_toolbox是一个工具用来MRI. 来自于SourceForge, 我上传这个软件,希望能结识对医疗软件感兴趣的兄弟.
💻 HTML
📖 第 1 页 / 共 2 页
字号:
0078     warning(msg);0079     <span class="comment">% OK this field is probably FOV, so lets</span>0080     <span class="comment">% divide it by the total number of slices</span>0081     SliceFOV = double(avw.hdr.dime.pixdim(4));0082     avw.hdr.dime.pixdim(4) = single(SliceFOV / Nfiles);0083 <span class="keyword">end</span>0084 0085 <span class="comment">% Initialise avw.img and reset some header dimensions</span>0086 avw.hdr.dime.dim(4) = Nfiles;0087 avw = <a href="#_sub2" class="code" title="subfunction [avw] = avw_img_init(avw),">avw_img_init</a>(avw);0088 0089 <span class="comment">% Now reset orient field of avw, as all data will</span>0090 <span class="comment">% be in standard axial unflipped orientation after</span>0091 <span class="comment">% avw_img_read.</span>0092 avw.hdr.hist.orient = char(0);0093 0094 0095 <span class="comment">%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%</span>0096 <span class="comment">% Add slices, depends on whether slice order is normal or flipped</span>0097 0098 orient = double(firstslice.hdr.hist.orient);0099 0100 <span class="keyword">if</span> orient &lt; 3,0101     <span class="comment">% process slices as unflipped volume</span>0102     <span class="keyword">for</span> f = 1:Nfiles,0103         <span class="keyword">if</span> files(f).bytes == Fsize,0104             slice = <a href="avw_img_read.html" class="code" title="function [ avw, machine ] = avw_img_read(fileprefix,IMGorient,machine)">avw_img_read</a>(files(f).name,IMGorient,machine);0105             avw   = <a href="#_sub1" class="code" title="subfunction [avw] = avw_add_slice(avw,slice,Nslice,orient),">avw_add_slice</a>(avw,slice,f,orient);0106         <span class="keyword">else</span>0107             msg = sprint(<span class="string">'AVW_IMG_COMPOSE: This file is not the same size as the first file!'</span>);0108             error(msg);0109         <span class="keyword">end</span>0110     <span class="keyword">end</span>0111 <span class="keyword">else</span>0112     <span class="comment">% process slices as flipped volume</span>0113     <span class="keyword">for</span> f = Nfiles:-1:1,0114         <span class="keyword">if</span> files(f).bytes == Fsize,0115             slice = <a href="avw_img_read.html" class="code" title="function [ avw, machine ] = avw_img_read(fileprefix,IMGorient,machine)">avw_img_read</a>(files(f).name,IMGorient,machine);0116             avw   = <a href="#_sub1" class="code" title="subfunction [avw] = avw_add_slice(avw,slice,Nslice,orient),">avw_add_slice</a>(avw,slice,f,orient);0117         <span class="keyword">else</span>0118             msg = sprint(<span class="string">'AVW_IMG_COMPOSE: This file is not the same size as the first file!'</span>);0119             error(msg);0120         <span class="keyword">end</span>0121     <span class="keyword">end</span>0122 <span class="keyword">end</span>0123 0124 0125 <span class="keyword">return</span>0126 0127 0128 0129 <span class="comment">%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%</span>0130 <span class="comment">%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%</span>0131 <a name="_sub1" href="#_subfunctions" class="code">function [avw] = avw_add_slice(avw,slice,Nslice,orient),</a>0132     0133     <span class="comment">% Check that composed volume and current slice</span>0134     <span class="comment">% have the same orientation</span>0135     Vorient = double(  avw.hdr.hist.orient);0136     Sorient = double(slice.hdr.hist.orient);0137     0138     <span class="keyword">if</span> Vorient ~= Sorient,0139         msg = sprintf(<span class="string">'AVW_IMG_COMPOSE: Slice %3d has different orientation to volume'</span>,Nslice);0140         error(msg);0141     <span class="keyword">end</span>0142     0143     <span class="keyword">switch</span> double(orient),0144     0145     <span class="keyword">case</span> 0, <span class="comment">% axial unflipped</span>0146         0147         <span class="comment">% Slices in 'z' axis - from patient inferior to superior</span>0148         avw.img(:,:,Nslice) = slice.img;0149         0150     <span class="keyword">case</span> 1, <span class="comment">% coronal unflipped</span>0151         0152         <span class="comment">% Slices in 'y' axis - from patient posterior to anterior</span>0153         avw.img(:,Nslice,:) = slice.img;0154         0155     <span class="keyword">case</span> 2, <span class="comment">% sagittal unflipped</span>0156         0157         <span class="comment">% Slices in 'x' axis - from patient right to left</span>0158         avw.img(Nslice,:,:) = slice.img;0159         0160     <span class="keyword">case</span> 3, <span class="comment">% axial flipped</span>0161         0162         <span class="comment">% Slices in 'z' axis - from patient inferior to superior</span>0163         avw.img(:,:,Nslice) = slice.img;0164         0165     <span class="keyword">case</span> 4, <span class="comment">% coronal flipped</span>0166         0167         <span class="comment">% Slices in 'y' axis - from patient anterior to posterior</span>0168         avw.img(:,Nslice,:) = slice.img;0169         0170     <span class="keyword">case</span> 5, <span class="comment">% sagittal flipped</span>0171         0172         <span class="comment">% Slices in 'x' axis - from patient right to left</span>0173         avw.img(Nslice,:,:) = slice.img;0174     <span class="keyword">end</span>0175     0176 <span class="keyword">return</span>0177 0178 <span class="comment">%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%</span>0179 <a name="_sub2" href="#_subfunctions" class="code">function [avw] = avw_img_init(avw),</a>0180     0181     PixelDim = double(avw.hdr.dime.dim(2));0182     RowDim   = double(avw.hdr.dime.dim(3));0183     SliceDim = double(avw.hdr.dime.dim(4));0184     0185     PixelSz  = double(avw.hdr.dime.pixdim(2));0186     RowSz    = double(avw.hdr.dime.pixdim(3));0187     SliceSz  = double(avw.hdr.dime.pixdim(4));0188     0189     <span class="keyword">switch</span> double(avw.hdr.hist.orient),0190     0191     <span class="keyword">case</span> {0,3}, <span class="comment">% axial unflipped or flipped</span>0192         0193         x = PixelDim;   Xsz = PixelSz;0194         y = RowDim;     Ysz = RowSz;0195         z = SliceDim;   Zsz = SliceSz;0196         0197     <span class="keyword">case</span> {1,4}, <span class="comment">% coronal unflipped or flipped</span>0198         0199         x = PixelDim;   Xsz = PixelSz;0200         y = SliceDim;   Ysz = SliceSz;0201         z = RowDim;     Zsz = RowSz;0202         0203     <span class="keyword">case</span> {2,5}, <span class="comment">% sagittal unflipped or flipped</span>0204         0205         x = SliceDim;   Xsz = SliceSz;0206         y = PixelDim;   Ysz = PixelSz;0207         z = RowDim;     Zsz = RowSz;0208         0209     <span class="keyword">otherwise</span>, <span class="comment">% assume axial unflipped or flipped</span>0210         0211         msg = sprintf(<span class="string">'AVW_IMG_COMPOSE: No specified orientation\n'</span>);0212         warning(msg);0213         0214         x = PixelDim;   Xsz = PixelSz;0215         y = RowDim;     Ysz = RowSz;0216         z = SliceDim;   Zsz = SliceSz;0217         0218     <span class="keyword">end</span>0219     0220     avw.img = zeros(x,y,z);0221     avw.hdr.dime.dim(2) = x;0222     avw.hdr.dime.dim(3) = y;0223     avw.hdr.dime.dim(4) = z;0224     0225     avw.hdr.dime.pixdim(2) = Xsz;0226     avw.hdr.dime.pixdim(3) = Ysz;0227     avw.hdr.dime.pixdim(4) = Zsz;0228     0229 <span class="keyword">return</span></pre></div><hr><address>Generated on Fri 21-May-2004 12:38:21 by <strong><a href="http://www.artefact.tk/software/matlab/m2html/">m2html</a></strong> &copy; 2003</address></body></html>

⌨️ 快捷键说明

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