📄 saveavw.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 SaveAVW</title> <meta name="keywords" content="SaveAVW"> <meta name="description" content="SaveAVW ( Filename, avw )"> <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> <meta name="generator" content="m2html © 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> > <a href="index.html">mri_toolbox</a> > SaveAVW.m</div><!--<table width="100%"><tr><td align="left"><a href="../index.html"><img alt="<" border="0" src="../left.png"> Master index</a></td><td align="right"><a href="index.html">Index for mri_toolbox <img alt=">" border="0" src="../right.png"></a></td></tr></table>--><h1>SaveAVW</h1><h2><a name="_name"></a>PURPOSE <a href="#_top"><img alt="^" border="0" src="../up.png"></a></h2><div class="box"><strong>SaveAVW ( Filename, avw )</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 SaveAVW ( Filename, avw ) </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"> SaveAVW ( Filename, avw )
Save an AVW file from the given avw structure</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 Header = FormatValues ( avw, Names, Quote )</a></li><li><a href="#_sub2" class="code">function n = GetNonHeaderNames ( avw, HeaderNames )</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 SaveAVW ( Filename, avw )</a>0002 <span class="comment">% SaveAVW ( Filename, avw )</span>0003 <span class="comment">% Save an AVW file from the given avw structure</span>0004 0005 <span class="comment">% Order is picky!</span>0006 HeaderNames = { <span class="string">'DataType'</span>, <span class="string">'Width'</span>, <span class="string">'Height'</span>, <span class="string">'Depth'</span>, <span class="string">'NumVols'</span>, <span class="string">'Endian'</span>, <span class="string">'ColormapSize'</span> };0007 avw.MinimumDataValue = floor ( min ( avw.Image(:)) );0008 avw.MaximumDataValue = floor ( max ( avw.Image(:)) );0009 0010 NonHeaderNames = <a href="#_sub2" class="code" title="subfunction n = GetNonHeaderNames ( avw, HeaderNames )">GetNonHeaderNames</a> ( avw, HeaderNames );0011 0012 HeaderInfo = <a href="#_sub1" class="code" title="subfunction Header = FormatValues ( avw, Names, Quote )">FormatValues</a> ( avw, HeaderNames, 0 );0013 Info = <a href="#_sub1" class="code" title="subfunction Header = FormatValues ( avw, Names, Quote )">FormatValues</a> ( avw, NonHeaderNames, 1 );0014 0015 Header = HeaderInfo;0016 Header = [Header sprintf(<span class="string">'BeginInformation\n'</span>) Info sprintf(<span class="string">'EndInformation\n'</span>) sprintf(<span class="string">'MoreInformation=-1\n'</span>)];0017 Header = [Header sprintf(<span class="string">'Vol Slc Offset Length Cmp Format\n'</span>)];0018 Header = [Header sprintf(<span class="string">'.CONTIG\n'</span>)];0019 Header = [Header sprintf(<span class="string">'EndSliceTable\n'</span>)];0020 0021 HeaderSize = 4096 * ceil ( (100+length(Header)) / 4096 );0022 0023 Header = [sprintf(<span class="string">'AVW_ImageFile 1.00 %d\n'</span>,HeaderSize) Header];0024 l = length ( Header );0025 b = strrep ( blanks ( HeaderSize - l ), <span class="string">' '</span>, <span class="string">'#'</span> );0026 Header = [Header b];0027 0028 Endian = <span class="string">'b'</span>;0029 <span class="keyword">if</span> strcmp ( avw.Endian, <span class="string">'Little'</span> )0030 Endian = <span class="string">'l'</span>;0031 <span class="keyword">end</span>0032 fid = fopen ( Filename, <span class="string">'w'</span>, Endian );0033 <span class="comment">% Watch out, if we don't use %s, escape sequences get mucked up</span>0034 fprintf ( fid, <span class="string">'%s'</span>, Header );0035 <span class="keyword">switch</span> upper(avw.DataType)0036 <span class="keyword">case</span> <span class="string">'AVW_UNSIGNED_SHORT'</span>0037 DataType = <span class="string">'uint16'</span>;0038 <span class="keyword">case</span> <span class="string">'AVW_SIGNED_SHORT'</span>0039 DataType = <span class="string">'int16'</span>;0040 <span class="keyword">case</span> <span class="string">'AVW_UNSIGNED_CHAR'</span>0041 DataType = <span class="string">'uchar'</span>;0042 <span class="keyword">case</span> <span class="string">'AVW_SIGNED_CHAR'</span>0043 DataType = <span class="string">'schar'</span>;0044 <span class="keyword">case</span> <span class="string">'AVW_FLOAT'</span>0045 DataType = <span class="string">'float'</span>;0046 <span class="keyword">otherwise</span>0047 error ( sprintf ( <span class="string">'Unknown datatype: %s'</span>, avw.DataType ) );0048 <span class="keyword">end</span>0049 0050 <span class="comment">% Need to undo the flip flop</span>0051 yy = size(avw.Image,1):-1:1;0052 <span class="keyword">for</span> vol = 1:avw.NumVols0053 <span class="keyword">for</span> dd = 1:size(avw.Image,3)0054 t = squeeze(avw.Image(:,:,dd,vol))';0055 t = t(:,yy);0056 fwrite ( fid, t(:), DataType );0057 <span class="keyword">end</span>0058 <span class="keyword">end</span>0059 fclose ( fid );0060 0061 0062 <a name="_sub1" href="#_subfunctions" class="code">function Header = FormatValues ( avw, Names, Quote )</a>0063 Header = <span class="string">''</span>;0064 <span class="keyword">for</span> hidx = 1:length(Names)0065 Name = Names{hidx};0066 Value = getfield ( avw, Name );0067 0068 <span class="keyword">if</span> ~isempty ( findstr ( Name, <span class="string">'DICOMTag_'</span> ) )0069 idx = strfind ( Name, <span class="string">'_'</span> );0070 idx = idx + 1;0071 Name = [Name(idx(1):idx(1)+3) <span class="string">'|'</span> Name(idx(2):idx(2)+3)];0072 <span class="keyword">end</span>0073 0074 <span class="keyword">if</span> isstr ( Value ) & Quote0075 Value = sprintf ( <span class="string">'"%s"'</span>, Value );0076 <span class="keyword">end</span>0077 <span class="keyword">if</span> isnumeric ( Value )0078 Value = num2str ( Value );0079 <span class="keyword">end</span>0080 <span class="keyword">if</span> Quote0081 t = sprintf ( <span class="string">' %s=%s\n'</span>, Name, Value );0082 <span class="keyword">else</span>0083 t = sprintf ( <span class="string">' %s=%s\n'</span>, Name, Value );0084 <span class="keyword">end</span> 0085 Header = [Header t];0086 <span class="keyword">end</span>0087 0088 0089 <a name="_sub2" href="#_subfunctions" class="code">function n = GetNonHeaderNames ( avw, HeaderNames )</a>0090 names = fieldnames ( avw );0091 n = {};0092 <span class="keyword">for</span> nn = 1:length(names)0093 <span class="keyword">if</span> strcmp ( names{nn}, <span class="string">'Image'</span> )0094 <span class="keyword">continue</span>0095 <span class="keyword">end</span>0096 0097 IsHeader = 0;0098 <span class="keyword">for</span> hidx = 1:length(HeaderNames)0099 <span class="keyword">if</span> strcmp ( names{nn}, HeaderNames{hidx} )0100 IsHeader = 1;0101 <span class="keyword">end</span>0102 <span class="keyword">end</span>0103 0104 <span class="keyword">if</span> ~IsHeader0105 n{length(n)+1} = names{nn};0106 <span class="keyword">end</span>0107 <span class="keyword">end</span>0108 0109 0110</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> © 2003</address></body></html>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -