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

📄 loadavw.html

📁 mri_toolbox是一个工具用来MRI. 来自于SourceForge, 我上传这个软件,希望能结识对医疗软件感兴趣的兄弟.
💻 HTML
字号:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"                "http://www.w3.org/TR/REC-html40/loose.dtd"><html><head>  <title>Description of LoadAVW</title>  <meta name="keywords" content="LoadAVW">  <meta name="description" content="">  <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">  <meta name="generator" content="m2html &copy; 2003 Guillaume Flandin">  <meta name="robots" content="index, follow">  <link type="text/css" rel="stylesheet" href="../m2html.css"></head><body><a name="_top"></a><div><a href="../index.html">Home</a> &gt;  <a href="index.html">mri_toolbox</a> &gt; LoadAVW.m</div><!--<table width="100%"><tr><td align="left"><a href="../index.html"><img alt="<" border="0" src="../left.png">&nbsp;Master index</a></td><td align="right"><a href="index.html">Index for mri_toolbox&nbsp;<img alt=">" border="0" src="../right.png"></a></td></tr></table>--><h1>LoadAVW</h1><h2><a name="_name"></a>PURPOSE <a href="#_top"><img alt="^" border="0" src="../up.png"></a></h2><div class="box"><strong></strong></div><h2><a name="_synopsis"></a>SYNOPSIS <a href="#_top"><img alt="^" border="0" src="../up.png"></a></h2><div class="box"><strong>function avw = LoadAVW ( Filename ) </strong></div><h2><a name="_description"></a>DESCRIPTION <a href="#_top"><img alt="^" border="0" src="../up.png"></a></h2><div class="fragment"><pre class="comment"></pre></div><!-- crossreference --><h2><a name="_cross"></a>CROSS-REFERENCE INFORMATION <a href="#_top"><img alt="^" border="0" src="../up.png"></a></h2>This function calls:<ul style="list-style-image:url(../matlabicon.gif)"></ul>This function is called by:<ul style="list-style-image:url(../matlabicon.gif)"></ul><!-- crossreference --><h2><a name="_subfunctions"></a>SUBFUNCTIONS <a href="#_top"><img alt="^" border="0" src="../up.png"></a></h2><ul style="list-style-image:url(../matlabicon.gif)"><li><a href="#_sub1" class="code">function sout = trim ( s )</a></li><li><a href="#_sub2" class="code">function s = validname ( s )</a></li></ul><h2><a name="_source"></a>SOURCE CODE <a href="#_top"><img alt="^" border="0" src="../up.png"></a></h2><div class="fragment"><pre>0001 <a name="_sub0" href="#_subfunctions" class="code">function avw = LoadAVW ( Filename )</a>0002   fid = fopen ( Filename, <span class="string">'r'</span> );0003   0004   line = fgetl ( fid );0005   <span class="keyword">if</span> ~strmatch ( line, <span class="string">'AVW_ImageFile'</span> )0006     error ( sprintf ( <span class="string">'%s is not in AVW format'</span>, Filename ) );0007   <span class="keyword">end</span>0008   0009   Info = sscanf ( line, <span class="string">'AVW_ImageFile %f %d'</span> );0010   Offset = Info(2);0011   0012   avw = struct ( <span class="string">'Image'</span>, 0 );0013   0014   <span class="comment">% Read until 'EndInformation'</span>0015   <span class="keyword">while</span> isempty ( strmatch ( line, <span class="string">'EndInformation'</span> ) )0016     line = <a href="#_sub1" class="code" title="subfunction sout = trim ( s )">trim</a> ( fgetl ( fid ) );0017     <span class="keyword">if</span> ~isempty ( strfind ( line, <span class="string">'='</span> ) )0018       idx = strfind ( line, <span class="string">'='</span> );0019       name = <a href="#_sub1" class="code" title="subfunction sout = trim ( s )">trim</a> ( line(1:idx-1) );0020       value = line(idx+1:end);0021       0022       <span class="keyword">if</span> strfind ( name, <span class="string">'|'</span> )0023     name = [<span class="string">'DICOMTag_'</span> strrep(name,<span class="string">'|'</span>,<span class="string">'_'</span>)];0024       <span class="keyword">end</span>0025       0026       <span class="keyword">if</span> ~isempty ( str2num ( value ) )0027         value = str2num ( value );0028       <span class="keyword">else</span>0029         <span class="comment">% Strip out '&quot;'</span>0030         value = strrep ( value, <span class="string">'&quot;'</span>, <span class="string">''</span> );0031       <span class="keyword">end</span>0032       0033       name = <a href="#_sub1" class="code" title="subfunction sout = trim ( s )">trim</a> ( <a href="#_sub2" class="code" title="subfunction s = validname ( s )">validname</a> ( name ) );0034       <span class="keyword">try</span>0035         avw = setfield ( avw, name, value );0036       <span class="keyword">catch</span>0037         <span class="comment">% disp ( lasterr )</span>0038         warning ( sprintf ( <span class="string">'Failed to set %s to %s'</span>, name, num2str ( value ) ) );0039       <span class="keyword">end</span>0040     <span class="keyword">end</span>0041   <span class="keyword">end</span>0042   0043   <span class="comment">% How much do we read</span>0044   DataSize = avw.Width * avw.Height * avw.Depth * avw.NumVols;0045   fclose ( fid );0046   <span class="keyword">if</span> strcmp ( avw.Endian, <span class="string">'Little'</span> )0047     <span class="comment">% Not exactly sure what's up with this being switched...</span>0048     fid = fopen ( Filename, <span class="string">'r'</span>, <span class="string">'l'</span> );0049   <span class="keyword">else</span>0050     fid = fopen ( Filename, <span class="string">'r'</span>, <span class="string">'b'</span> );0051   <span class="keyword">end</span>0052   fseek ( fid, Offset, <span class="string">'bof'</span> );0053   <span class="comment">% Figure out the datatype</span>0054   <span class="keyword">switch</span> upper(avw.DataType)0055     <span class="keyword">case</span> <span class="string">'AVW_UNSIGNED_SHORT'</span>0056      DataType = <span class="string">'uint16'</span>;0057     <span class="keyword">case</span> <span class="string">'AVW_SIGNED_SHORT'</span>0058      DataType = <span class="string">'int16'</span>;0059     <span class="keyword">case</span> <span class="string">'AVW_UNSIGNED_CHAR'</span>0060      DataType = <span class="string">'uchar'</span>;0061     <span class="keyword">case</span> <span class="string">'AVW_SIGNED_CHAR'</span>0062      DataType = <span class="string">'schar'</span>;0063    <span class="keyword">otherwise</span>0064      error ( sprintf ( <span class="string">'Unknown datatype: %s'</span>, avw.DataType ) );0065   <span class="keyword">end</span>0066 0067 0068   Data = reshape ( fread ( fid, DataSize, DataType ), avw.Width, avw.Height, avw.Depth, avw.NumVols );0069   <span class="comment">% The image needs to be rotated</span>0070   avw.Image = zeros ( avw.Height, avw.Width, avw.Depth, avw.NumVols );0071   yy = avw.Height:-1:1;0072   <span class="keyword">for</span> vol = 1:avw.NumVols0073     <span class="keyword">for</span> dd = 1:avw.Depth0074       t = Data(:,:,dd,vol)';0075       avw.Image(:,:,dd,vol) = t(yy,:);0076     <span class="keyword">end</span>0077   <span class="keyword">end</span>0078   clear Data;0079   fclose ( fid );0080   avw.Image = squeeze ( avw.Image );0081   0082   0083 <a name="_sub1" href="#_subfunctions" class="code">function sout = trim ( s )</a>0084   [r,c] = find ( ~isspace ( s ) );0085   <span class="keyword">if</span> isempty ( c )0086     sout = s([]);0087   <span class="keyword">else</span>0088     sout = s(:,min(c):end);0089   <span class="keyword">end</span>0090   sout = deblank ( sout );0091   0092   0093 <a name="_sub2" href="#_subfunctions" class="code">function s = validname ( s )</a>0094   ns = <span class="string">''</span>;0095   <span class="keyword">for</span> ii = 1:length ( s )0096     <span class="keyword">if</span> ~isnumeric ( s(ii) )0097       ns = [ns s(ii)];0098     <span class="keyword">end</span>0099   <span class="keyword">end</span>0100   s = deblank ( ns );0101</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 + -