<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/> <title>nifti1_io: /builddir/build/BUILD/nifticlib-2.0.0/niftilib/nifti1_io.h Source File</title> <link href="tabs.css" rel="stylesheet" type="text/css"/> <link href="search/search.css" rel="stylesheet" type="text/css"/> <script type="text/javascript" src="search/search.js"></script> <link href="doxygen.css" rel="stylesheet" type="text/css"/> </head> <body onload='searchBox.OnSelectItem(0);'> <!-- Generated by Doxygen 1.7.4 --> <script type="text/javascript"><!-- var searchBox = new SearchBox("searchBox", "search",false,'Search'); --></script> <div id="top"> <div id="titlearea"> <table cellspacing="0" cellpadding="0"> <tbody> <tr style="height: 56px;"> <td style="padding-left: 0.5em;"> <div id="projectname">nifti1_io</div> </td> </tr> </tbody> </table> </div> <div id="navrow1" class="tabs"> <ul class="tablist"> <li><a href="index.html"><span>Main Page</span></a></li> <li><a href="modules.html"><span>Modules</span></a></li> <li><a href="annotated.html"><span>Classes</span></a></li> <li class="current"><a href="files.html"><span>Files</span></a></li> <li id="searchli"> <div id="MSearchBox" class="MSearchBoxInactive"> <span class="left"> <img id="MSearchSelect" src="search/mag_sel.png" onmouseover="return searchBox.OnSearchSelectShow()" onmouseout="return searchBox.OnSearchSelectHide()" alt=""/> <input type="text" id="MSearchField" value="Search" accesskey="S" onfocus="searchBox.OnSearchFieldFocus(true)" onblur="searchBox.OnSearchFieldFocus(false)" onkeyup="searchBox.OnSearchFieldChange(event)"/> </span><span class="right"> <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a> </span> </div> </li> </ul> </div> <div id="navrow2" class="tabs2"> <ul class="tablist"> <li><a href="files.html"><span>File List</span></a></li> <li><a href="globals.html"><span>File Members</span></a></li> </ul> </div> <div class="header"> <div class="headertitle"> <div class="title">/builddir/build/BUILD/nifticlib-2.0.0/niftilib/nifti1_io.h</div> </div> </div> <div class="contents"> <a href="nifti1__io_8h.html">Go to the documentation of this file.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <a name="l00006"></a>00006 <span class="preprocessor">#ifndef _NIFTI_IO_HEADER_</span> <a name="l00007"></a>00007 <span class="preprocessor"></span><span class="preprocessor">#define _NIFTI_IO_HEADER_</span> <a name="l00008"></a>00008 <span class="preprocessor"></span> <a name="l00009"></a>00009 <span class="preprocessor">#include <stdio.h></span> <a name="l00010"></a>00010 <span class="preprocessor">#include <stdlib.h></span> <a name="l00011"></a>00011 <span class="preprocessor">#include <string.h></span> <a name="l00012"></a>00012 <span class="preprocessor">#include <math.h></span> <a name="l00013"></a>00013 <span class="preprocessor">#include <ctype.h></span> <a name="l00014"></a>00014 <a name="l00015"></a>00015 <span class="preprocessor">#ifndef DONT_INCLUDE_ANALYZE_STRUCT</span> <a name="l00016"></a>00016 <span class="preprocessor"></span><span class="preprocessor">#define DONT_INCLUDE_ANALYZE_STRUCT </span><span class="comment">/*** not needed herein ***/</span> <a name="l00017"></a>00017 <span class="preprocessor">#endif</span> <a name="l00018"></a>00018 <span class="preprocessor"></span><span class="preprocessor">#include "<a class="code" href="nifti1_8h.html" title="Official definition of the nifti1 header. Written by Bob Cox, SSCC, NIMH.">nifti1.h</a>"</span> <span class="comment">/*** NIFTI-1 header specification ***/</span> <a name="l00019"></a>00019 <a name="l00020"></a>00020 <span class="preprocessor">#include <znzlib.h></span> <a name="l00021"></a>00021 <a name="l00022"></a>00022 <span class="comment">/*=================*/</span> <a name="l00023"></a>00023 <span class="preprocessor">#ifdef __cplusplus</span> <a name="l00024"></a>00024 <span class="preprocessor"></span><span class="keyword">extern</span> <span class="stringliteral">"C"</span> { <a name="l00025"></a>00025 <span class="preprocessor">#endif</span> <a name="l00026"></a>00026 <span class="preprocessor"></span><span class="comment">/*=================*/</span> <a name="l00027"></a>00027 <a name="l00028"></a>00028 <span class="comment">/*****===================================================================*****/</span> <a name="l00029"></a>00029 <span class="comment">/***** File nifti1_io.h == Declarations for nifti1_io.c *****/</span> <a name="l00030"></a>00030 <span class="comment">/*****...................................................................*****/</span> <a name="l00031"></a>00031 <span class="comment">/***** This code is released to the public domain. *****/</span> <a name="l00032"></a>00032 <span class="comment">/*****...................................................................*****/</span> <a name="l00033"></a>00033 <span class="comment">/***** Author: Robert W Cox, SSCC/DIRP/NIMH/NIH/DHHS/USA/EARTH *****/</span> <a name="l00034"></a>00034 <span class="comment">/***** Date: August 2003 *****/</span> <a name="l00035"></a>00035 <span class="comment">/*****...................................................................*****/</span> <a name="l00036"></a>00036 <span class="comment">/***** Neither the National Institutes of Health (NIH), nor any of its *****/</span> <a name="l00037"></a>00037 <span class="comment">/***** employees imply any warranty of usefulness of this software for *****/</span> <a name="l00038"></a>00038 <span class="comment">/***** any purpose, and do not assume any liability for damages, *****/</span> <a name="l00039"></a>00039 <span class="comment">/***** incidental or otherwise, caused by any use of this document. *****/</span> <a name="l00040"></a>00040 <span class="comment">/*****===================================================================*****/</span> <a name="l00041"></a>00041 <a name="l00042"></a>00042 <span class="comment">/* </span> <a name="l00043"></a>00043 <span class="comment"> Modified by: Mark Jenkinson (FMRIB Centre, University of Oxford, UK)</span> <a name="l00044"></a>00044 <span class="comment"> Date: July/August 2004 </span> <a name="l00045"></a>00045 <span class="comment"></span> <a name="l00046"></a>00046 <span class="comment"> Mainly adding low-level IO and changing things to allow gzipped files</span> <a name="l00047"></a>00047 <span class="comment"> to be read and written</span> <a name="l00048"></a>00048 <span class="comment"> Full backwards compatability should have been maintained</span> <a name="l00049"></a>00049 <span class="comment"></span> <a name="l00050"></a>00050 <span class="comment"> Modified by: Rick Reynolds (SSCC/DIRP/NIMH, National Institutes of Health)</span> <a name="l00051"></a>00051 <span class="comment"> Date: December 2004</span> <a name="l00052"></a>00052 <span class="comment"></span> <a name="l00053"></a>00053 <span class="comment"> Modified and added many routines for I/O.</span> <a name="l00054"></a>00054 <span class="comment">*/</span> <a name="l00055"></a>00055 <a name="l00056"></a>00056 <span class="comment">/********************** Some sample data structures **************************/</span> <a name="l00057"></a>00057 <a name="l00058"></a><a class="code" href="structmat44.html">00058</a> <span class="keyword">typedef</span> <span class="keyword">struct </span>{ <a name="l00059"></a><a class="code" href="structmat44.html#a337517366bb0b4a84ebe681468fee374">00059</a> <span class="keywordtype">float</span> m[4][4] ; <a name="l00060"></a>00060 } <a class="code" href="structmat44.html">mat44</a> ; <a name="l00061"></a>00061 <a name="l00062"></a><a class="code" href="structmat33.html">00062</a> <span class="keyword">typedef</span> <span class="keyword">struct </span>{ <a name="l00063"></a><a class="code" href="structmat33.html#ae750d57add810e18a0ca109daa3a240d">00063</a> <span class="keywordtype">float</span> m[3][3] ; <a name="l00064"></a>00064 } <a class="code" href="structmat33.html">mat33</a> ; <a name="l00065"></a>00065 <a name="l00066"></a>00066 <span class="comment">/*...........................................................................*/</span> <a name="l00067"></a>00067 <a name="l00072"></a>00072 <span class="keyword">typedef</span> <span class="keyword">enum</span> _analyze75_orient_code { <a name="l00073"></a>00073 a75_transverse_unflipped = 0, <a name="l00074"></a>00074 a75_coronal_unflipped = 1, <a name="l00075"></a>00075 a75_sagittal_unflipped = 2, <a name="l00076"></a>00076 a75_transverse_flipped = 3, <a name="l00077"></a>00077 a75_coronal_flipped = 4, <a name="l00078"></a>00078 a75_sagittal_flipped = 5, <a name="l00079"></a>00079 a75_orient_unknown = 6 <a name="l00080"></a>00080 } analyze_75_orient_code; <a name="l00081"></a>00081 <a name="l00088"></a><a class="code" href="structnifti__image.html">00088</a> <span class="keyword">typedef</span> <span class="keyword">struct </span>{ <a name="l00090"></a><a class="code" href="structnifti__image.html#ad61740a0245f2af05ded39cb0648ae07">00090</a> <span class="keywordtype">int</span> <a class="code" href="structnifti__image.html#ad61740a0245f2af05ded39cb0648ae07">ndim</a> ; <a name="l00091"></a><a class="code" href="structnifti__image.html#ab99743dd7967cff6845f1a96b2044167">00091</a> <span class="keywordtype">int</span> <a class="code" href="structnifti__image.html#ab99743dd7967cff6845f1a96b2044167">nx</a> ; <a name="l00092"></a><a class="code" href="structnifti__image.html#a5e971f24a97c592fefa28d084c02769a">00092</a> <span class="keywordtype">int</span> <a class="code" href="structnifti__image.html#a5e971f24a97c592fefa28d084c02769a">ny</a> ; <a name="l00093"></a><a class="code" href="structnifti__image.html#a8731bb1d867cdd24335e4bc3dd131c44">00093</a> <span class="keywordtype">int</span> <a class="code" href="structnifti__image.html#a8731bb1d867cdd24335e4bc3dd131c44">nz</a> ; <a name="l00094"></a><a class="code" href="structnifti__image.html#ab3d3fdfda87503e5e8d53f0342906aba">00094</a> <span class="keywordtype">int</span> <a class="code" href="structnifti__image.html#ab3d3fdfda87503e5e8d53f0342906aba">nt</a> ; <a name="l00095"></a><a class="code" href="structnifti__image.html#ab4a9c0956e858fd877ee81796adc66bc">00095</a> <span class="keywordtype">int</span> <a class="code" href="structnifti__image.html#ab4a9c0956e858fd877ee81796adc66bc">nu</a> ; <a name="l00096"></a><a class="code" href="structnifti__image.html#a7e04a5e405f9b79dae5652cdcd3832ef">00096</a> <span class="keywordtype">int</span> <a class="code" href="structnifti__image.html#a7e04a5e405f9b79dae5652cdcd3832ef">nv</a> ; <a name="l00097"></a><a class="code" href="structnifti__image.html#ae0bc5b6b2e350108e468124b682b715c">00097</a> <span class="keywordtype">int</span> <a class="code" href="structnifti__image.html#ae0bc5b6b2e350108e468124b682b715c">nw</a> ; <a name="l00098"></a><a class="code" href="structnifti__image.html#a5eacab1dfe27d1ae618740934516ef61">00098</a> <span class="keywordtype">int</span> dim[8] ; <a name="l00099"></a><a class="code" href="structnifti__image.html#a440a3fab2a781b43ed8216e26492597d">00099</a> <span class="keywordtype">size_t</span> <a class="code" href="structnifti__image.html#a440a3fab2a781b43ed8216e26492597d">nvox</a> ; <a name="l00100"></a><a class="code" href="structnifti__image.html#a79a4382f115cb6c7f8977c36d73e6749">00100</a> <span class="keywordtype">int</span> <a class="code" href="structnifti__image.html#a79a4382f115cb6c7f8977c36d73e6749">nbyper</a> ; <a name="l00101"></a><a class="code" href="structnifti__image.html#a51bad5202c3b9943b3c86f80ca5d1cd1">00101</a> <span class="keywordtype">int</span> <a class="code" href="structnifti__image.html#a51bad5202c3b9943b3c86f80ca5d1cd1">datatype</a> ; <a name="l00103"></a><a class="code" href="structnifti__image.html#a8d9ddfeecae70399a50dca551d69f774">00103</a> <span class="keywordtype">float</span> <a class="code" href="structnifti__image.html#a8d9ddfeecae70399a50dca551d69f774">dx</a> ; <a name="l00104"></a><a class="code" href="structnifti__image.html#afb6cd106a28d4599326042c43d85022b">00104</a> <span class="keywordtype">float</span> <a class="code" href="structnifti__image.html#afb6cd106a28d4599326042c43d85022b">dy</a> ; <a name="l00105"></a><a class="code" href="structnifti__image.html#ac462fb16a688d8dbec164456febdc9c7">00105</a> <span class="keywordtype">float</span> <a class="code" href="structnifti__image.html#ac462fb16a688d8dbec164456febdc9c7">dz</a> ; <a name="l00106"></a><a class="code" href="structnifti__image.html#ab4e9dd136d1de9fbe03c68f081876b9e">00106</a> <span class="keywordtype">float</span> <a class="code" href="structnifti__image.html#ab4e9dd136d1de9fbe03c68f081876b9e">dt</a> ; <a name="l00107"></a><a class="code" href="structnifti__image.html#ab1c6399d45bf77d6eff712d318a9d0ca">00107</a> <span class="keywordtype">float</span> <a class="code" href="structnifti__image.html#ab1c6399d45bf77d6eff712d318a9d0ca">du</a> ; <a name="l00108"></a><a class="code" href="structnifti__image.html#a6155d97e665d879e662bf650c09d0bc1">00108</a> <span class="keywordtype">float</span> <a class="code" href="structnifti__image.html#a6155d97e665d879e662bf650c09d0bc1">dv</a> ; <a name="l00109"></a><a class="code" href="structnifti__image.html#ab7d8391bc07972e0b051f157dde00a04">00109</a> <span class="keywordtype">float</span> <a class="code" href="structnifti__image.html#ab7d8391bc07972e0b051f157dde00a04">dw</a> ; <a name="l00110"></a><a class="code" href="structnifti__image.html#a85f39f86ade16e714098a3567116e013">00110</a> <span class="keywordtype">float</span> pixdim[8] ; <a name="l00112"></a><a class="code" href="structnifti__image.html#af4d04ce1f0102c2692d89bbd5476a931">00112</a> <span class="keywordtype">float</span> <a class="code" href="structnifti__image.html#af4d04ce1f0102c2692d89bbd5476a931">scl_slope</a> ; <a name="l00113"></a><a class="code" href="structnifti__image.html#a7a760c43613a8ba94aaf73e571ba195d">00113</a> <span class="keywordtype">float</span> <a class="code" href="structnifti__image.html#a7a760c43613a8ba94aaf73e571ba195d">scl_inter</a> ; <a name="l00115"></a><a class="code" href="structnifti__image.html#a7d7c74c824d3c8b50a27322366d243f9">00115</a> <span class="keywordtype">float</span> <a class="code" href="structnifti__image.html#a7d7c74c824d3c8b50a27322366d243f9">cal_min</a> ; <a name="l00116"></a><a class="code" href="structnifti__image.html#a7422e0ecfa446e37bd83fc4fe082135d">00116</a> <span class="keywordtype">float</span> <a class="code" href="structnifti__image.html#a7422e0ecfa446e37bd83fc4fe082135d">cal_max</a> ; <a name="l00118"></a><a class="code" href="structnifti__image.html#adfcbe7e11b44d8a964d61c3e17554686">00118</a> <span class="keywordtype">int</span> <a class="code" href="structnifti__image.html#adfcbe7e11b44d8a964d61c3e17554686">qform_code</a> ; <a name="l00119"></a><a class="code" href="structnifti__image.html#a964e209d6110bd26df6935ebf4a2a620">00119</a> <span class="keywordtype">int</span> <a class="code" href="structnifti__image.html#a964e209d6110bd26df6935ebf4a2a620">sform_code</a> ; <a name="l00121"></a><a class="code" href="structnifti__image.html#a50953906569b58e6b1aaeb7759767b34">00121</a> <span class="keywordtype">int</span> <a class="code" href="structnifti__image.html#a50953906569b58e6b1aaeb7759767b34">freq_dim</a> ; <a name="l00122"></a><a class="code" href="structnifti__image.html#a731f0b9d7b95bc17f9f1a0a568d8ca71">00122</a> <span class="keywordtype">int</span> <a class="code" href="structnifti__image.html#a731f0b9d7b95bc17f9f1a0a568d8ca71">phase_dim</a> ; <a name="l00123"></a><a class="code" href="structnifti__image.html#ae37a59a187aa187528020cc3abeba5e3">00123</a> <span class="keywordtype">int</span> <a class="code" href="structnifti__image.html#ae37a59a187aa187528020cc3abeba5e3">slice_dim</a> ; <a name="l00125"></a><a class="code" href="structnifti__image.html#a0188187b073521e823b51cb5250d3fd4">00125</a> <span class="keywordtype">int</span> <a class="code" href="structnifti__image.html#a0188187b073521e823b51cb5250d3fd4">slice_code</a> ; <a name="l00126"></a><a class="code" href="structnifti__image.html#ade42791ee9c492d506e6c353a61a8c41">00126</a> <span class="keywordtype">int</span> <a class="code" href="structnifti__image.html#ade42791ee9c492d506e6c353a61a8c41">slice_start</a> ; <a name="l00127"></a><a class="code" href="structnifti__image.html#ac67dffa9ebbf79fe08b511cdb9e2476f">00127</a> <span class="keywordtype">int</span> <a class="code" href="structnifti__image.html#ac67dffa9ebbf79fe08b511cdb9e2476f">slice_end</a> ; <a name="l00128"></a><a class="code" href="structnifti__image.html#a0f2e675a17830fb17c58602e0d6ebd3b">00128</a> <span class="keywordtype">float</span> <a class="code" href="structnifti__image.html#a0f2e675a17830fb17c58602e0d6ebd3b">slice_duration</a> ; <a name="l00132"></a><a class="code" href="structnifti__image.html#a26fc9296e99700da54ca3749622f83bd">00132</a> <span class="keywordtype">float</span> <a class="code" href="structnifti__image.html#a26fc9296e99700da54ca3749622f83bd">quatern_b</a> , quatern_c , quatern_d , <a name="l00133"></a>00133 qoffset_x , qoffset_y , qoffset_z , <a name="l00134"></a>00134 qfac ; <a name="l00135"></a>00135 <a name="l00136"></a><a class="code" href="structnifti__image.html#a122993357c6c712559c5e0244347c5f3">00136</a> <a class="code" href="structmat44.html">mat44</a> <a class="code" href="structnifti__image.html#a122993357c6c712559c5e0244347c5f3">qto_xyz</a> ; <a name="l00137"></a><a class="code" href="structnifti__image.html#a750a76b493a4f2fc04c66ce2d4407bce">00137</a> <a class="code" href="structmat44.html">mat44</a> <a class="code" href="structnifti__image.html#a750a76b493a4f2fc04c66ce2d4407bce">qto_ijk</a> ; <a name="l00139"></a><a class="code" href="structnifti__image.html#a69460d9b0b0b19fe740c9b30cfd44e10">00139</a> <a class="code" href="structmat44.html">mat44</a> <a class="code" href="structnifti__image.html#a69460d9b0b0b19fe740c9b30cfd44e10">sto_xyz</a> ; <a name="l00140"></a><a class="code" href="structnifti__image.html#a1cb3cbfb8172a62e676581d3a1e950af">00140</a> <a class="code" href="structmat44.html">mat44</a> <a class="code" href="structnifti__image.html#a1cb3cbfb8172a62e676581d3a1e950af">sto_ijk</a> ; <a name="l00142"></a><a class="code" href="structnifti__image.html#ae17bdf0913f6672abdac81c453ecb598">00142</a> <span class="keywordtype">float</span> <a class="code" href="structnifti__image.html#ae17bdf0913f6672abdac81c453ecb598">toffset</a> ; <a name="l00144"></a><a class="code" href="structnifti__image.html#a5fa377516ee62469a9051a5834f080af">00144</a> <span class="keywordtype">int</span> <a class="code" href="structnifti__image.html#a5fa377516ee62469a9051a5834f080af">xyz_units</a> ; <a name="l00145"></a><a class="code" href="structnifti__image.html#a43e8d714fac078daffbe590253776d4c">00145</a> <span class="keywordtype">int</span> <a class="code" href="structnifti__image.html#a43e8d714fac078daffbe590253776d4c">time_units</a> ; <a name="l00147"></a><a class="code" href="structnifti__image.html#ac55996e58670948b220bebbf5d4bb0f4">00147</a> <span class="keywordtype">int</span> nifti_type ; <a name="l00150"></a><a class="code" href="structnifti__image.html#a56a5855aaf5323044ffdfde0a23214bc">00150</a> <span class="keywordtype">int</span> <a class="code" href="structnifti__image.html#a56a5855aaf5323044ffdfde0a23214bc">intent_code</a> ; <a name="l00151"></a><a class="code" href="structnifti__image.html#a1c3ebd9911ac46b659c268a95014b5e8">00151</a> <span class="keywordtype">float</span> <a class="code" href="structnifti__image.html#a1c3ebd9911ac46b659c268a95014b5e8">intent_p1</a> ; <a name="l00152"></a><a class="code" href="structnifti__image.html#aacd903b0043fd9378de6927a64bafa85">00152</a> <span class="keywordtype">float</span> <a class="code" href="structnifti__image.html#aacd903b0043fd9378de6927a64bafa85">intent_p2</a> ; <a name="l00153"></a><a class="code" href="structnifti__image.html#a45dd58da99fbf651a96f68dc83e504c5">00153</a> <span class="keywordtype">float</span> <a class="code" href="structnifti__image.html#a45dd58da99fbf651a96f68dc83e504c5">intent_p3</a> ; <a name="l00154"></a><a class="code" href="structnifti__image.html#ab462f3422c9db863ec134bc90c8107b3">00154</a> <span class="keywordtype">char</span> intent_name[16] ; <a name="l00156"></a><a class="code" href="structnifti__image.html#a6fb59082d2217b817e05418747943b29">00156</a> <span class="keywordtype">char</span> descrip[80] ; <a name="l00157"></a><a class="code" href="structnifti__image.html#a6366032a4535620d2b0be3240303f50e">00157</a> <span class="keywordtype">char</span> aux_file[24] ; <a name="l00159"></a><a class="code" href="structnifti__image.html#a439fb70fd16ce03d24ff975e4468c0f8">00159</a> <span class="keywordtype">char</span> *<a class="code" href="structnifti__image.html#a439fb70fd16ce03d24ff975e4468c0f8">fname</a> ; <a name="l00160"></a><a class="code" href="structnifti__image.html#aaace950977a636b704e1a45496ba4e22">00160</a> <span class="keywordtype">char</span> *<a class="code" href="structnifti__image.html#aaace950977a636b704e1a45496ba4e22">iname</a> ; <a name="l00161"></a><a class="code" href="structnifti__image.html#a856fc94a5daed16225264dc8daa96013">00161</a> <span class="keywordtype">int</span> <a class="code" href="structnifti__image.html#a856fc94a5daed16225264dc8daa96013">iname_offset</a> ; <a name="l00162"></a><a class="code" href="structnifti__image.html#ac7e2a08cb9631d0cdf6a29da77cb19ee">00162</a> <span class="keywordtype">int</span> <a class="code" href="structnifti__image.html#ac7e2a08cb9631d0cdf6a29da77cb19ee">swapsize</a> ; <a name="l00163"></a><a class="code" href="structnifti__image.html#a5ce21d97da49b1dcf9415e83bbf07caf">00163</a> <span class="keywordtype">int</span> <a class="code" href="structnifti__image.html#a5ce21d97da49b1dcf9415e83bbf07caf">byteorder</a> ; <a name="l00164"></a><a class="code" href="structnifti__image.html#a946b2c63e6fb9f3c1a1fc8f689efeec6">00164</a> <span class="keywordtype">void</span> *<a class="code" href="structnifti__image.html#a946b2c63e6fb9f3c1a1fc8f689efeec6">data</a> ; <a name="l00166"></a><a class="code" href="structnifti__image.html#a2b9edee8e340d17e4d87b1c682ca091a">00166</a> <span class="keywordtype">int</span> <a class="code" href="structnifti__image.html#a2b9edee8e340d17e4d87b1c682ca091a">num_ext</a> ; <a name="l00167"></a><a class="code" href="structnifti__image.html#a0710304d0a8a256ac3be123cb5eb7ebc">00167</a> <a class="code" href="structnifti1__extension.html" title="Data structure defining the fields of a header extension.">nifti1_extension</a> * <a class="code" href="structnifti__image.html#a0710304d0a8a256ac3be123cb5eb7ebc">ext_list</a> ; <a name="l00168"></a><a class="code" href="structnifti__image.html#ae164b68a8420c81d86911bb1c45ae413">00168</a> analyze_75_orient_code <a class="code" href="structnifti__image.html#ae164b68a8420c81d86911bb1c45ae413">analyze75_orient</a>; <a name="l00170"></a>00170 } <a class="code" href="structnifti__image.html" title="High level data structure for open nifti datasets in the nifti1_io API. Note that this structure is n...">nifti_image</a> ; <a name="l00171"></a>00171 <a name="l00172"></a>00172 <a name="l00173"></a>00173 <a name="l00174"></a>00174 <span class="comment">/* struct for return from nifti_image_read_bricks() */</span> <a name="l00175"></a><a class="code" href="structnifti__brick__list.html">00175</a> <span class="keyword">typedef</span> <span class="keyword">struct </span>{ <a name="l00176"></a>00176 <span class="keywordtype">int</span> nbricks; <span class="comment">/* the number of allocated pointers in 'bricks' */</span> <a name="l00177"></a>00177 <span class="keywordtype">size_t</span> bsize; <span class="comment">/* the length of each data block, in bytes */</span> <a name="l00178"></a>00178 <span class="keywordtype">void</span> ** bricks; <span class="comment">/* array of pointers to data blocks */</span> <a name="l00179"></a>00179 } <a class="code" href="structnifti__brick__list.html">nifti_brick_list</a>; <a name="l00180"></a>00180 <a name="l00181"></a>00181 <a name="l00182"></a>00182 <span class="comment">/*****************************************************************************/</span> <a name="l00183"></a>00183 <span class="comment">/*------------------ NIfTI version of ANALYZE 7.5 structure -----------------*/</span> <a name="l00184"></a>00184 <a name="l00185"></a>00185 <span class="comment">/* (based on fsliolib/dbh.h, but updated for version 7.5) */</span> <a name="l00186"></a>00186 <a name="l00187"></a><a class="code" href="structnifti__analyze75.html">00187</a> <span class="keyword">typedef</span> <span class="keyword">struct </span>{ <a name="l00188"></a>00188 <span class="comment">/* header info fields - describes the header overlap with NIfTI */</span> <a name="l00189"></a>00189 <span class="comment">/* ------------------ */</span> <a name="l00190"></a>00190 <span class="keywordtype">int</span> sizeof_hdr; <span class="comment">/* 0 + 4 same */</span> <a name="l00191"></a>00191 <span class="keywordtype">char</span> data_type[10]; <span class="comment">/* 4 + 10 same */</span> <a name="l00192"></a>00192 <span class="keywordtype">char</span> db_name[18]; <span class="comment">/* 14 + 18 same */</span> <a name="l00193"></a>00193 <span class="keywordtype">int</span> extents; <span class="comment">/* 32 + 4 same */</span> <a name="l00194"></a>00194 <span class="keywordtype">short</span> <span class="keywordtype">int</span> session_error; <span class="comment">/* 36 + 2 same */</span> <a name="l00195"></a>00195 <span class="keywordtype">char</span> regular; <span class="comment">/* 38 + 1 same */</span> <a name="l00196"></a>00196 <span class="keywordtype">char</span> hkey_un0; <span class="comment">/* 39 + 1 40 bytes */</span> <a name="l00197"></a>00197 <a name="l00198"></a>00198 <span class="comment">/* image dimension fields - describes image sizes */</span> <a name="l00199"></a>00199 <span class="keywordtype">short</span> <span class="keywordtype">int</span> dim[8]; <span class="comment">/* 0 + 16 same */</span> <a name="l00200"></a>00200 <span class="keywordtype">short</span> <span class="keywordtype">int</span> unused8; <span class="comment">/* 16 + 2 intent_p1... */</span> <a name="l00201"></a>00201 <span class="keywordtype">short</span> <span class="keywordtype">int</span> unused9; <span class="comment">/* 18 + 2 ... */</span> <a name="l00202"></a>00202 <span class="keywordtype">short</span> <span class="keywordtype">int</span> unused10; <span class="comment">/* 20 + 2 intent_p2... */</span> <a name="l00203"></a>00203 <span class="keywordtype">short</span> <span class="keywordtype">int</span> unused11; <span class="comment">/* 22 + 2 ... */</span> <a name="l00204"></a>00204 <span class="keywordtype">short</span> <span class="keywordtype">int</span> unused12; <span class="comment">/* 24 + 2 intent_p3... */</span> <a name="l00205"></a>00205 <span class="keywordtype">short</span> <span class="keywordtype">int</span> unused13; <span class="comment">/* 26 + 2 ... */</span> <a name="l00206"></a>00206 <span class="keywordtype">short</span> <span class="keywordtype">int</span> unused14; <span class="comment">/* 28 + 2 intent_code */</span> <a name="l00207"></a>00207 <span class="keywordtype">short</span> <span class="keywordtype">int</span> datatype; <span class="comment">/* 30 + 2 same */</span> <a name="l00208"></a>00208 <span class="keywordtype">short</span> <span class="keywordtype">int</span> bitpix; <span class="comment">/* 32 + 2 same */</span> <a name="l00209"></a>00209 <span class="keywordtype">short</span> <span class="keywordtype">int</span> dim_un0; <span class="comment">/* 34 + 2 slice_start */</span> <a name="l00210"></a>00210 <span class="keywordtype">float</span> pixdim[8]; <span class="comment">/* 36 + 32 same */</span> <a name="l00211"></a>00211 <a name="l00212"></a>00212 <span class="keywordtype">float</span> vox_offset; <span class="comment">/* 68 + 4 same */</span> <a name="l00213"></a>00213 <span class="keywordtype">float</span> funused1; <span class="comment">/* 72 + 4 scl_slope */</span> <a name="l00214"></a>00214 <span class="keywordtype">float</span> funused2; <span class="comment">/* 76 + 4 scl_inter */</span> <a name="l00215"></a>00215 <span class="keywordtype">float</span> funused3; <span class="comment">/* 80 + 4 slice_end, */</span> <a name="l00216"></a>00216 <span class="comment">/* slice_code, */</span> <a name="l00217"></a>00217 <span class="comment">/* xyzt_units */</span> <a name="l00218"></a>00218 <span class="keywordtype">float</span> cal_max; <span class="comment">/* 84 + 4 same */</span> <a name="l00219"></a>00219 <span class="keywordtype">float</span> cal_min; <span class="comment">/* 88 + 4 same */</span> <a name="l00220"></a>00220 <span class="keywordtype">float</span> compressed; <span class="comment">/* 92 + 4 slice_duration */</span> <a name="l00221"></a>00221 <span class="keywordtype">float</span> verified; <span class="comment">/* 96 + 4 toffset */</span> <a name="l00222"></a>00222 <span class="keywordtype">int</span> glmax,glmin; <span class="comment">/* 100 + 8 108 bytes */</span> <a name="l00223"></a>00223 <a name="l00224"></a>00224 <span class="comment">/* data history fields - optional */</span> <a name="l00225"></a>00225 <span class="keywordtype">char</span> descrip[80]; <span class="comment">/* 0 + 80 same */</span> <a name="l00226"></a>00226 <span class="keywordtype">char</span> aux_file[24]; <span class="comment">/* 80 + 24 same */</span> <a name="l00227"></a>00227 <span class="keywordtype">char</span> orient; <span class="comment">/* 104 + 1 NO GOOD OVERLAP */</span> <a name="l00228"></a>00228 <span class="keywordtype">char</span> originator[10]; <span class="comment">/* 105 + 10 FROM HERE DOWN... */</span> <a name="l00229"></a>00229 <span class="keywordtype">char</span> generated[10]; <span class="comment">/* 115 + 10 */</span> <a name="l00230"></a>00230 <span class="keywordtype">char</span> scannum[10]; <span class="comment">/* 125 + 10 */</span> <a name="l00231"></a>00231 <span class="keywordtype">char</span> patient_id[10]; <span class="comment">/* 135 + 10 */</span> <a name="l00232"></a>00232 <span class="keywordtype">char</span> exp_date[10]; <span class="comment">/* 145 + 10 */</span> <a name="l00233"></a>00233 <span class="keywordtype">char</span> exp_time[10]; <span class="comment">/* 155 + 10 */</span> <a name="l00234"></a>00234 <span class="keywordtype">char</span> hist_un0[3]; <span class="comment">/* 165 + 3 */</span> <a name="l00235"></a>00235 <span class="keywordtype">int</span> views; <span class="comment">/* 168 + 4 */</span> <a name="l00236"></a>00236 <span class="keywordtype">int</span> vols_added; <span class="comment">/* 172 + 4 */</span> <a name="l00237"></a>00237 <span class="keywordtype">int</span> start_field; <span class="comment">/* 176 + 4 */</span> <a name="l00238"></a>00238 <span class="keywordtype">int</span> field_skip; <span class="comment">/* 180 + 4 */</span> <a name="l00239"></a>00239 <span class="keywordtype">int</span> omax, omin; <span class="comment">/* 184 + 8 */</span> <a name="l00240"></a>00240 <span class="keywordtype">int</span> smax, smin; <span class="comment">/* 192 + 8 200 bytes */</span> <a name="l00241"></a>00241 } <a class="code" href="structnifti__analyze75.html">nifti_analyze75</a>; <span class="comment">/* total: 348 bytes */</span> <a name="l00242"></a>00242 <a name="l00243"></a>00243 <a name="l00244"></a>00244 <span class="comment">/*****************************************************************************/</span> <a name="l00245"></a>00245 <span class="comment">/*--------------- Prototypes of functions defined in this file --------------*/</span> <a name="l00246"></a>00246 <a name="l00247"></a>00247 <span class="keywordtype">char</span> *<a class="code" href="nifti1__io_8c.html#adfa192edb2b6c605c831a781b6d0dd1b">nifti_datatype_string</a> ( <span class="keywordtype">int</span> dt ) ; <a name="l00248"></a>00248 <span class="keywordtype">char</span> *<a class="code" href="nifti1__io_8c.html#a90a17b3e9891b6f16d7b454b5442646d">nifti_units_string</a> ( <span class="keywordtype">int</span> uu ) ; <a name="l00249"></a>00249 <span class="keywordtype">char</span> *<a class="code" href="nifti1__io_8c.html#a3354f25465b96de45211544ff6570e74">nifti_intent_string</a> ( <span class="keywordtype">int</span> ii ) ; <a name="l00250"></a>00250 <span class="keywordtype">char</span> *<a class="code" href="nifti1__io_8c.html#a7472700981faa470501958c621c9ee61">nifti_xform_string</a> ( <span class="keywordtype">int</span> xx ) ; <a name="l00251"></a>00251 <span class="keywordtype">char</span> *<a class="code" href="nifti1__io_8c.html#a2e4ce3c3c610064c01eeeac244101159">nifti_slice_string</a> ( <span class="keywordtype">int</span> ss ) ; <a name="l00252"></a>00252 <span class="keywordtype">char</span> *<a class="code" href="nifti1__io_8c.html#a50ab65b744fa58802a77988df9eab9eb">nifti_orientation_string</a>( <span class="keywordtype">int</span> ii ) ; <a name="l00253"></a>00253 <a name="l00254"></a>00254 <span class="keywordtype">int</span> <a class="code" href="nifti1__io_8c.html#a2d77002f1a31d0651eaa2462d6273169">nifti_is_inttype</a>( <span class="keywordtype">int</span> dt ) ; <a name="l00255"></a>00255 <a name="l00256"></a>00256 <a class="code" href="structmat44.html">mat44</a> <a class="code" href="nifti1__io_8c.html#abf7254db0ad36f998a92ac6f42f9c5c9">nifti_mat44_inverse</a>( <a class="code" href="structmat44.html">mat44</a> R ) ; <a name="l00257"></a>00257 <a name="l00258"></a>00258 <a class="code" href="structmat33.html">mat33</a> <a class="code" href="nifti1__io_8c.html#ac4d58f4a9ed98b1b4ea642c95886d346">nifti_mat33_inverse</a>( <a class="code" href="structmat33.html">mat33</a> R ) ; <a name="l00259"></a>00259 <a class="code" href="structmat33.html">mat33</a> <a class="code" href="nifti1__io_8c.html#a32d3a6d10f5e97ddc243001727c129a1">nifti_mat33_polar</a> ( <a class="code" href="structmat33.html">mat33</a> A ) ; <a name="l00260"></a>00260 <span class="keywordtype">float</span> <a class="code" href="nifti1__io_8c.html#a9a52da66c78e82f5d63a388b813466a3">nifti_mat33_rownorm</a>( <a class="code" href="structmat33.html">mat33</a> A ) ; <a name="l00261"></a>00261 <span class="keywordtype">float</span> <a class="code" href="nifti1__io_8c.html#a4ccc9daef977faa38f1b05647f835e8d">nifti_mat33_colnorm</a>( <a class="code" href="structmat33.html">mat33</a> A ) ; <a name="l00262"></a>00262 <span class="keywordtype">float</span> <a class="code" href="nifti1__io_8c.html#a9d50d3f27b0f6a7710d10c00d5041b63">nifti_mat33_determ</a> ( <a class="code" href="structmat33.html">mat33</a> R ) ; <a name="l00263"></a>00263 <a class="code" href="structmat33.html">mat33</a> <a class="code" href="nifti1__io_8c.html#a44785e6bf9b19f120a9158cc1af312f6">nifti_mat33_mul</a> ( <a class="code" href="structmat33.html">mat33</a> A , <a class="code" href="structmat33.html">mat33</a> B ) ; <a name="l00264"></a>00264 <a name="l00265"></a>00265 <span class="keywordtype">void</span> <a class="code" href="nifti1__io_8c.html#a9c64a35264c605640a30af4eec6d99bc">nifti_swap_2bytes</a> ( <span class="keywordtype">size_t</span> n , <span class="keywordtype">void</span> *ar ) ; <a name="l00266"></a>00266 <span class="keywordtype">void</span> <a class="code" href="nifti1__io_8c.html#a53b22afe7c9c2520e831da6044823c39">nifti_swap_4bytes</a> ( <span class="keywordtype">size_t</span> n , <span class="keywordtype">void</span> *ar ) ; <a name="l00267"></a>00267 <span class="keywordtype">void</span> <a class="code" href="nifti1__io_8c.html#a61af0e2662990502b18c2e6ecf1b0fee">nifti_swap_8bytes</a> ( <span class="keywordtype">size_t</span> n , <span class="keywordtype">void</span> *ar ) ; <a name="l00268"></a>00268 <span class="keywordtype">void</span> <a class="code" href="nifti1__io_8c.html#a5cf6e5dd1d6eb0b43a8df38e6c833fb5">nifti_swap_16bytes</a>( <span class="keywordtype">size_t</span> n , <span class="keywordtype">void</span> *ar ) ; <a name="l00269"></a>00269 <span class="keywordtype">void</span> <a class="code" href="nifti1__io_8c.html#aa7d743976d0ffdf6e320a71a8a32d006">nifti_swap_Nbytes</a> ( <span class="keywordtype">size_t</span> n , <span class="keywordtype">int</span> siz , <span class="keywordtype">void</span> *ar ) ; <a name="l00270"></a>00270 <a name="l00271"></a>00271 <span class="keywordtype">int</span> <a class="code" href="nifti1__io_8c.html#a56b62ecbde8ff299d1911abe1f5961f3">nifti_datatype_is_valid</a> (<span class="keywordtype">int</span> dtype, <span class="keywordtype">int</span> for_nifti); <a name="l00272"></a>00272 <span class="keywordtype">int</span> <a class="code" href="nifti1__io_8c.html#ad43861b84225c2e9ad861ddada7a6041">nifti_datatype_from_string</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> * name); <a name="l00273"></a>00273 <span class="keywordtype">char</span> * <a class="code" href="nifti1__io_8c.html#a9d6ade79714c193d2ab7bfa6301619c4">nifti_datatype_to_string</a> (<span class="keywordtype">int</span> dtype); <a name="l00274"></a>00274 <a name="l00275"></a>00275 <span class="keywordtype">int</span> <a class="code" href="nifti1__io_8c.html#ad87cfcf2fe9635136a11811b6f345eab">nifti_get_filesize</a>( <span class="keyword">const</span> <span class="keywordtype">char</span> *pathname ) ; <a name="l00276"></a>00276 <span class="keywordtype">void</span> <a class="code" href="nifti1__io_8c.html#a50dc91b6264f53456387f95907bc86ee">swap_nifti_header</a> ( <span class="keyword">struct</span> <a class="code" href="structnifti__1__header.html" title="Data structure defining the fields in the nifti1 header. This binary header should be found at the be...">nifti_1_header</a> *h , <span class="keywordtype">int</span> is_nifti ) ; <a name="l00277"></a>00277 <span class="keywordtype">void</span> <a class="code" href="nifti1__io_8c.html#a6b59987a39c86d4e247c953570784917">old_swap_nifti_header</a>( <span class="keyword">struct</span> <a class="code" href="structnifti__1__header.html" title="Data structure defining the fields in the nifti1 header. This binary header should be found at the be...">nifti_1_header</a> *h , <span class="keywordtype">int</span> is_nifti ); <a name="l00278"></a>00278 <span class="keywordtype">int</span> <a class="code" href="nifti1__io_8c.html#a08ff63c999a17b9a7343a5918d73d414">nifti_swap_as_analyze</a>( <a class="code" href="structnifti__analyze75.html">nifti_analyze75</a> *h ); <a name="l00279"></a>00279 <a name="l00280"></a>00280 <a name="l00281"></a>00281 <span class="comment">/* main read/write routines */</span> <a name="l00282"></a>00282 <a name="l00283"></a>00283 <a class="code" href="structnifti__image.html" title="High level data structure for open nifti datasets in the nifti1_io API. Note that this structure is n...">nifti_image</a> *<a class="code" href="nifti1__io_8c.html#a6a60e69105dc0a2c7767beb376808143">nifti_image_read_bricks</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *hname , <span class="keywordtype">int</span> nbricks, <a name="l00284"></a>00284 <span class="keyword">const</span> <span class="keywordtype">int</span> *blist, <a class="code" href="structnifti__brick__list.html">nifti_brick_list</a> * NBL); <a name="l00285"></a>00285 <span class="keywordtype">int</span> <a class="code" href="nifti1__io_8c.html#a7634eeeda561a1a22064b20bca2e877a">nifti_image_load_bricks</a>(<a class="code" href="structnifti__image.html" title="High level data structure for open nifti datasets in the nifti1_io API. Note that this structure is n...">nifti_image</a> *nim , <span class="keywordtype">int</span> nbricks, <a name="l00286"></a>00286 <span class="keyword">const</span> <span class="keywordtype">int</span> *blist, <a class="code" href="structnifti__brick__list.html">nifti_brick_list</a> * NBL); <a name="l00287"></a>00287 <span class="keywordtype">void</span> <a class="code" href="nifti1__io_8c.html#ab1b499958b62d1c0f3bbc929ca2431f2">nifti_free_NBL</a>( <a class="code" href="structnifti__brick__list.html">nifti_brick_list</a> * NBL ); <a name="l00288"></a>00288 <a name="l00289"></a>00289 <a class="code" href="structnifti__image.html" title="High level data structure for open nifti datasets in the nifti1_io API. Note that this structure is n...">nifti_image</a> *<a class="code" href="nifti1__io_8c.html#a9da495aabf70c7111f574dc3985e6467" title="Read a nifti header and optionally the data, creating a nifti_image.">nifti_image_read</a> ( <span class="keyword">const</span> <span class="keywordtype">char</span> *hname , <span class="keywordtype">int</span> read_data ) ; <a name="l00290"></a>00290 <span class="keywordtype">int</span> <a class="code" href="nifti1__io_8c.html#a2e75db3fcfbe1c2f7343611ab9cfcb8d" title="Load the image blob into a previously initialized nifti_image.">nifti_image_load</a> ( <a class="code" href="structnifti__image.html" title="High level data structure for open nifti datasets in the nifti1_io API. Note that this structure is n...">nifti_image</a> *nim ) ; <a name="l00291"></a>00291 <span class="keywordtype">void</span> <a class="code" href="nifti1__io_8c.html#a963b6ef9c3532b8dc0e7a243c42d1436">nifti_image_unload</a> ( <a class="code" href="structnifti__image.html" title="High level data structure for open nifti datasets in the nifti1_io API. Note that this structure is n...">nifti_image</a> *nim ) ; <a name="l00292"></a>00292 <span class="keywordtype">void</span> <a class="code" href="nifti1__io_8c.html#a2fe83552d8121a492fe07b5f42397c9d">nifti_image_free</a> ( <a class="code" href="structnifti__image.html" title="High level data structure for open nifti datasets in the nifti1_io API. Note that this structure is n...">nifti_image</a> *nim ) ; <a name="l00293"></a>00293 <a name="l00294"></a>00294 <span class="keywordtype">int</span> <a class="code" href="nifti1__io_8c.html#a0a688115ca53321cf7429db173ce24aa">nifti_read_collapsed_image</a>( <a class="code" href="structnifti__image.html" title="High level data structure for open nifti datasets in the nifti1_io API. Note that this structure is n...">nifti_image</a> * nim, <span class="keyword">const</span> <span class="keywordtype">int</span> dims [8], <a name="l00295"></a>00295 <span class="keywordtype">void</span> ** data ); <a name="l00296"></a>00296 <a name="l00297"></a>00297 <span class="keywordtype">int</span> <a class="code" href="nifti1__io_8c.html#a29be9ec9401b961191b3641055867387">nifti_read_subregion_image</a>( <a class="code" href="structnifti__image.html" title="High level data structure for open nifti datasets in the nifti1_io API. Note that this structure is n...">nifti_image</a> * nim, <a name="l00298"></a>00298 <span class="keywordtype">int</span> *start_index, <span class="keywordtype">int</span> *region_size, <a name="l00299"></a>00299 <span class="keywordtype">void</span> ** data ); <a name="l00300"></a>00300 <a name="l00301"></a>00301 <span class="keywordtype">void</span> <a class="code" href="nifti1__io_8c.html#aae590e6d7a9f46f6f8f454c00b6698bf">nifti_image_write</a> ( <a class="code" href="structnifti__image.html" title="High level data structure for open nifti datasets in the nifti1_io API. Note that this structure is n...">nifti_image</a> * nim ) ; <a name="l00302"></a>00302 <span class="keywordtype">void</span> <a class="code" href="nifti1__io_8c.html#a8864ea68cc4a23ce82f3bb4b545243ca">nifti_image_write_bricks</a>(<a class="code" href="structnifti__image.html" title="High level data structure for open nifti datasets in the nifti1_io API. Note that this structure is n...">nifti_image</a> * nim, <a name="l00303"></a>00303 <span class="keyword">const</span> <a class="code" href="structnifti__brick__list.html">nifti_brick_list</a> * NBL); <a name="l00304"></a>00304 <span class="keywordtype">void</span> <a class="code" href="nifti1__io_8c.html#aa8098d5521db8f070543122d7ef2ee7e">nifti_image_infodump</a>( <span class="keyword">const</span> <a class="code" href="structnifti__image.html" title="High level data structure for open nifti datasets in the nifti1_io API. Note that this structure is n...">nifti_image</a> * nim ) ; <a name="l00305"></a>00305 <a name="l00306"></a>00306 <span class="keywordtype">void</span> <a class="code" href="nifti1__io_8c.html#ab8596d26f949ed9371fb73abd1f1ccee">nifti_disp_lib_hist</a>( <span class="keywordtype">void</span> ) ; <span class="comment">/* to display library history */</span> <a name="l00307"></a>00307 <span class="keywordtype">void</span> <a class="code" href="nifti1__io_8c.html#aa4648105a0f3099213eaf094b10cc8b0">nifti_disp_lib_version</a>( <span class="keywordtype">void</span> ) ; <span class="comment">/* to display library version */</span> <a name="l00308"></a>00308 <span class="keywordtype">int</span> <a class="code" href="nifti1__io_8c.html#a3152dd3d1140f401aea7754bf37fd3c2">nifti_disp_matrix_orient</a>( <span class="keyword">const</span> <span class="keywordtype">char</span> * mesg, <a class="code" href="structmat44.html">mat44</a> mat ); <a name="l00309"></a>00309 <span class="keywordtype">int</span> <a class="code" href="nifti1__io_8c.html#aaa80306264031fb13a769618e5fdb278">nifti_disp_type_list</a>( <span class="keywordtype">int</span> which ); <a name="l00310"></a>00310 <a name="l00311"></a>00311 <a name="l00312"></a>00312 <span class="keywordtype">char</span> * <a class="code" href="nifti1__io_8c.html#a1edffc55474a393f60573a1fc6ef5544">nifti_image_to_ascii</a> ( <span class="keyword">const</span> <a class="code" href="structnifti__image.html" title="High level data structure for open nifti datasets in the nifti1_io API. Note that this structure is n...">nifti_image</a> * nim ) ; <a name="l00313"></a>00313 <a class="code" href="structnifti__image.html" title="High level data structure for open nifti datasets in the nifti1_io API. Note that this structure is n...">nifti_image</a> *<a class="code" href="nifti1__io_8c.html#a645c453f65af3a1ff1be3081ed34b49e">nifti_image_from_ascii</a>( <span class="keyword">const</span> <span class="keywordtype">char</span> * str, <span class="keywordtype">int</span> * bytes_read ) ; <a name="l00314"></a>00314 <a name="l00315"></a>00315 <span class="keywordtype">size_t</span> <a class="code" href="nifti1__io_8c.html#a0816cfcf9fa0b51a66dd1fa434510e8d">nifti_get_volsize</a>(<span class="keyword">const</span> <a class="code" href="structnifti__image.html" title="High level data structure for open nifti datasets in the nifti1_io API. Note that this structure is n...">nifti_image</a> *nim) ; <a name="l00316"></a>00316 <a name="l00317"></a>00317 <span class="comment">/* basic file operations */</span> <a name="l00318"></a>00318 <span class="keywordtype">int</span> <a class="code" href="nifti1__io_8c.html#a296fad01763163289b0e1030d3a0ebaa">nifti_set_filenames</a>(<a class="code" href="structnifti__image.html" title="High level data structure for open nifti datasets in the nifti1_io API. Note that this structure is n...">nifti_image</a> * nim, <span class="keyword">const</span> <span class="keywordtype">char</span> * prefix, <span class="keywordtype">int</span> check, <a name="l00319"></a>00319 <span class="keywordtype">int</span> set_byte_order); <a name="l00320"></a>00320 <span class="keywordtype">char</span> * <a class="code" href="nifti1__io_8c.html#a03d86f65680b215db89c24723ad73a8c">nifti_makehdrname</a> (<span class="keyword">const</span> <span class="keywordtype">char</span> * prefix, <span class="keywordtype">int</span> nifti_type, <span class="keywordtype">int</span> check, <a name="l00321"></a>00321 <span class="keywordtype">int</span> comp); <a name="l00322"></a>00322 <span class="keywordtype">char</span> * <a class="code" href="nifti1__io_8c.html#a80ba47331f082db092ef29d11c64fa31">nifti_makeimgname</a> (<span class="keyword">const</span> <span class="keywordtype">char</span> * prefix, <span class="keywordtype">int</span> nifti_type, <span class="keywordtype">int</span> check, <a name="l00323"></a>00323 <span class="keywordtype">int</span> comp); <a name="l00324"></a>00324 <span class="keywordtype">int</span> <a class="code" href="nifti1__io_8c.html#a247e5a0c2b32a30837187b56d1de553a">is_nifti_file</a> (<span class="keyword">const</span> <span class="keywordtype">char</span> *hname); <a name="l00325"></a>00325 <span class="keywordtype">char</span> * <a class="code" href="nifti1__io_8c.html#a338a5f9b74c37ee28ca8683324434a05">nifti_find_file_extension</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> * name); <a name="l00326"></a>00326 <span class="keywordtype">int</span> <a class="code" href="nifti1__io_8c.html#ad1eede55fd34a457e1738aa9d0f75036">nifti_is_complete_filename</a>(<span class="keyword">const</span> <span class="keywordtype">char</span>* fname); <a name="l00327"></a>00327 <span class="keywordtype">int</span> <a class="code" href="nifti1__io_8c.html#a836b54d494e9d2718e5541978ae3fc29">nifti_validfilename</a>(<span class="keyword">const</span> <span class="keywordtype">char</span>* fname); <a name="l00328"></a>00328 <a name="l00329"></a>00329 <span class="keywordtype">int</span> <a class="code" href="nifti1__io_8c.html#af9d6192cbeeb85cde0a3c41acf9c2208">disp_nifti_1_header</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> * info, <span class="keyword">const</span> <a class="code" href="structnifti__1__header.html" title="Data structure defining the fields in the nifti1 header. This binary header should be found at the be...">nifti_1_header</a> * hp ) ; <a name="l00330"></a>00330 <span class="keywordtype">void</span> <a class="code" href="nifti1__io_8c.html#ad76d66da1e384dc54a092e033bd8e195">nifti_set_debug_level</a>( <span class="keywordtype">int</span> level ) ; <a name="l00331"></a>00331 <span class="keywordtype">void</span> <a class="code" href="nifti1__io_8c.html#a10072c5930f7f0c69c91821edbf44b97">nifti_set_skip_blank_ext</a>( <span class="keywordtype">int</span> skip ) ; <a name="l00332"></a>00332 <span class="keywordtype">void</span> <a class="code" href="nifti1__io_8c.html#a85d02757a3ef2462045bb89d634b8036">nifti_set_allow_upper_fext</a>( <span class="keywordtype">int</span> allow ) ; <a name="l00333"></a>00333 <a name="l00334"></a>00334 <span class="keywordtype">int</span> <a class="code" href="nifti1__io_8c.html#a4062dff607da27712e1abbcdedd3c82e">valid_nifti_brick_list</a>(<a class="code" href="structnifti__image.html" title="High level data structure for open nifti datasets in the nifti1_io API. Note that this structure is n...">nifti_image</a> * nim , <span class="keywordtype">int</span> nbricks, <a name="l00335"></a>00335 <span class="keyword">const</span> <span class="keywordtype">int</span> * blist, <span class="keywordtype">int</span> disp_error); <a name="l00336"></a>00336 <a name="l00337"></a>00337 <span class="comment">/* znzFile operations */</span> <a name="l00338"></a>00338 <a class="code" href="structznzptr.html">znzFile</a> <a class="code" href="nifti1__io_8c.html#aa3ba2c9ea10502fd5e619e55eb5ec662" title="Read in NIFTI-1 or ANALYZE-7.5 file (pair) header information into a nifti_image struct.">nifti_image_open</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> * hname, <span class="keywordtype">char</span> * opts, <a class="code" href="structnifti__image.html" title="High level data structure for open nifti datasets in the nifti1_io API. Note that this structure is n...">nifti_image</a> ** nim); <a name="l00339"></a>00339 <a class="code" href="structznzptr.html">znzFile</a> <a class="code" href="nifti1__io_8c.html#a05ad147bd1f78fe6790ef1dc93278712">nifti_image_write_hdr_img</a>(<a class="code" href="structnifti__image.html" title="High level data structure for open nifti datasets in the nifti1_io API. Note that this structure is n...">nifti_image</a> *nim, <span class="keywordtype">int</span> write_data, <a name="l00340"></a>00340 <span class="keyword">const</span> <span class="keywordtype">char</span>* opts); <a name="l00341"></a>00341 <a class="code" href="structznzptr.html">znzFile</a> <a class="code" href="nifti1__io_8c.html#a23ba2ececf435189365329d11d138a24">nifti_image_write_hdr_img2</a>( <a class="code" href="structnifti__image.html" title="High level data structure for open nifti datasets in the nifti1_io API. Note that this structure is n...">nifti_image</a> *nim , <span class="keywordtype">int</span> write_opts , <a name="l00342"></a>00342 <span class="keyword">const</span> <span class="keywordtype">char</span>* opts, <a class="code" href="structznzptr.html">znzFile</a> imgfile, <span class="keyword">const</span> <a class="code" href="structnifti__brick__list.html">nifti_brick_list</a> * NBL); <a name="l00343"></a>00343 <span class="keywordtype">size_t</span> <a class="code" href="nifti1__io_8c.html#afb6dff710966b4a8611726a9f846c683">nifti_read_buffer</a>(<a class="code" href="structznzptr.html">znzFile</a> fp, <span class="keywordtype">void</span>* datatptr, <span class="keywordtype">size_t</span> ntot, <a name="l00344"></a>00344 <a class="code" href="structnifti__image.html" title="High level data structure for open nifti datasets in the nifti1_io API. Note that this structure is n...">nifti_image</a> *nim); <a name="l00345"></a>00345 <span class="keywordtype">int</span> <a class="code" href="nifti1__io_8c.html#ab8f4f74b33a153219e5c47e6f8046bf3">nifti_write_all_data</a>(<a class="code" href="structznzptr.html">znzFile</a> fp, <a class="code" href="structnifti__image.html" title="High level data structure for open nifti datasets in the nifti1_io API. Note that this structure is n...">nifti_image</a> * nim, <a name="l00346"></a>00346 <span class="keyword">const</span> <a class="code" href="structnifti__brick__list.html">nifti_brick_list</a> * NBL); <a name="l00347"></a>00347 <span class="keywordtype">size_t</span> nifti_write_buffer(<a class="code" href="structznzptr.html">znzFile</a> fp, <span class="keyword">const</span> <span class="keywordtype">void</span> * buffer, <span class="keywordtype">size_t</span> numbytes); <a name="l00348"></a>00348 <a class="code" href="structnifti__image.html" title="High level data structure for open nifti datasets in the nifti1_io API. Note that this structure is n...">nifti_image</a> *<a class="code" href="nifti1__io_8c.html#ab1e7cfdc675f67b4dca809bae81e6e15">nifti_read_ascii_image</a>(<a class="code" href="structznzptr.html">znzFile</a> fp, <span class="keywordtype">char</span> *fname, <span class="keywordtype">int</span> flen, <a name="l00349"></a>00349 <span class="keywordtype">int</span> read_data); <a name="l00350"></a>00350 <a class="code" href="structznzptr.html">znzFile</a> <a class="code" href="nifti1__io_8c.html#ad66767a91af38b906c955fb45b9e225b">nifti_write_ascii_image</a>(<a class="code" href="structnifti__image.html" title="High level data structure for open nifti datasets in the nifti1_io API. Note that this structure is n...">nifti_image</a> *nim, <span class="keyword">const</span> <a class="code" href="structnifti__brick__list.html">nifti_brick_list</a> * NBL, <a name="l00351"></a>00351 <span class="keyword">const</span> <span class="keywordtype">char</span> * opts, <span class="keywordtype">int</span> write_data, <span class="keywordtype">int</span> leave_open); <a name="l00352"></a>00352 <a name="l00353"></a>00353 <a name="l00354"></a>00354 <span class="keywordtype">void</span> <a class="code" href="nifti1__io_8c.html#aeeccf4be6839946794c2cc1fdef26d4f">nifti_datatype_sizes</a>( <span class="keywordtype">int</span> datatype , <span class="keywordtype">int</span> *nbyper, <span class="keywordtype">int</span> *swapsize ) ; <a name="l00355"></a>00355 <a name="l00356"></a>00356 <span class="keywordtype">void</span> <a class="code" href="nifti1__io_8c.html#a84b68d5634ec94b5132e0067733e9f28">nifti_mat44_to_quatern</a>( <a class="code" href="structmat44.html">mat44</a> R , <a name="l00357"></a>00357 <span class="keywordtype">float</span> *qb, <span class="keywordtype">float</span> *qc, <span class="keywordtype">float</span> *qd, <a name="l00358"></a>00358 <span class="keywordtype">float</span> *qx, <span class="keywordtype">float</span> *qy, <span class="keywordtype">float</span> *qz, <a name="l00359"></a>00359 <span class="keywordtype">float</span> *dx, <span class="keywordtype">float</span> *dy, <span class="keywordtype">float</span> *dz, <span class="keywordtype">float</span> *qfac ) ; <a name="l00360"></a>00360 <a name="l00361"></a>00361 <a class="code" href="structmat44.html">mat44</a> <a class="code" href="nifti1__io_8c.html#a4b183639b2e242ac32210fe3437f60d2">nifti_quatern_to_mat44</a>( <span class="keywordtype">float</span> qb, <span class="keywordtype">float</span> qc, <span class="keywordtype">float</span> qd, <a name="l00362"></a>00362 <span class="keywordtype">float</span> qx, <span class="keywordtype">float</span> qy, <span class="keywordtype">float</span> qz, <a name="l00363"></a>00363 <span class="keywordtype">float</span> dx, <span class="keywordtype">float</span> dy, <span class="keywordtype">float</span> dz, <span class="keywordtype">float</span> qfac ); <a name="l00364"></a>00364 <a name="l00365"></a>00365 <a class="code" href="structmat44.html">mat44</a> <a class="code" href="nifti1__io_8c.html#a8c07c7b62ab67f0d0e901fdf4b755707">nifti_make_orthog_mat44</a>( <span class="keywordtype">float</span> r11, <span class="keywordtype">float</span> r12, <span class="keywordtype">float</span> r13 , <a name="l00366"></a>00366 <span class="keywordtype">float</span> r21, <span class="keywordtype">float</span> r22, <span class="keywordtype">float</span> r23 , <a name="l00367"></a>00367 <span class="keywordtype">float</span> r31, <span class="keywordtype">float</span> r32, <span class="keywordtype">float</span> r33 ) ; <a name="l00368"></a>00368 <a name="l00369"></a>00369 <span class="keywordtype">int</span> <a class="code" href="nifti1__io_8c.html#adf2a70eac549a80a246d380240a8d822">nifti_short_order</a>(<span class="keywordtype">void</span>) ; <span class="comment">/* CPU byte order */</span> <a name="l00370"></a>00370 <a name="l00371"></a>00371 <a name="l00372"></a>00372 <span class="comment">/* Orientation codes that might be returned from nifti_mat44_to_orientation().*/</span> <a name="l00373"></a>00373 <a name="l00374"></a>00374 <span class="preprocessor">#define NIFTI_L2R 1 </span><span class="comment">/* Left to Right */</span> <a name="l00375"></a>00375 <span class="preprocessor">#define NIFTI_R2L 2 </span><span class="comment">/* Right to Left */</span> <a name="l00376"></a>00376 <span class="preprocessor">#define NIFTI_P2A 3 </span><span class="comment">/* Posterior to Anterior */</span> <a name="l00377"></a>00377 <span class="preprocessor">#define NIFTI_A2P 4 </span><span class="comment">/* Anterior to Posterior */</span> <a name="l00378"></a>00378 <span class="preprocessor">#define NIFTI_I2S 5 </span><span class="comment">/* Inferior to Superior */</span> <a name="l00379"></a>00379 <span class="preprocessor">#define NIFTI_S2I 6 </span><span class="comment">/* Superior to Inferior */</span> <a name="l00380"></a>00380 <a name="l00381"></a>00381 <span class="keywordtype">void</span> <a class="code" href="nifti1__io_8c.html#ad8ba2d4a127c3ee26af9909ce2aa59e8">nifti_mat44_to_orientation</a>( <a class="code" href="structmat44.html">mat44</a> R , <span class="keywordtype">int</span> *icod, <span class="keywordtype">int</span> *jcod, <span class="keywordtype">int</span> *kcod ) ; <a name="l00382"></a>00382 <a name="l00383"></a>00383 <span class="comment">/*--------------------- Low level IO routines ------------------------------*/</span> <a name="l00384"></a>00384 <a name="l00385"></a>00385 <span class="keywordtype">char</span> * <a class="code" href="nifti1__io_8c.html#acde0b000cd0b4c5edbe33454ebc0c86f">nifti_findhdrname</a> (<span class="keyword">const</span> <span class="keywordtype">char</span>* fname); <a name="l00386"></a>00386 <span class="keywordtype">char</span> * <a class="code" href="nifti1__io_8c.html#a166171eee037df0d1f28a824e35faea5">nifti_findimgname</a> (<span class="keyword">const</span> <span class="keywordtype">char</span>* fname , <span class="keywordtype">int</span> nifti_type); <a name="l00387"></a>00387 <span class="keywordtype">int</span> <a class="code" href="nifti1__io_8c.html#a6c17ed984533a4dede09b3bb6fa1fa17">nifti_is_gzfile</a> (<span class="keyword">const</span> <span class="keywordtype">char</span>* fname); <a name="l00388"></a>00388 <a name="l00389"></a>00389 <span class="keywordtype">char</span> * <a class="code" href="nifti1__io_8c.html#a19cb2bca24ab79a5f0a0ec9b770d7454">nifti_makebasename</a>(<span class="keyword">const</span> <span class="keywordtype">char</span>* fname); <a name="l00390"></a>00390 <a name="l00391"></a>00391 <a name="l00392"></a>00392 <span class="comment">/* other routines */</span> <a name="l00393"></a>00393 <span class="keyword">struct </span><a class="code" href="structnifti__1__header.html" title="Data structure defining the fields in the nifti1 header. This binary header should be found at the be...">nifti_1_header</a> <a class="code" href="nifti1__io_8c.html#ad1d2054b280d453c7bf680fc21b587a3">nifti_convert_nim2nhdr</a>(const <a class="code" href="structnifti__image.html" title="High level data structure for open nifti datasets in the nifti1_io API. Note that this structure is n...">nifti_image</a>* nim); <a name="l00394"></a>00394 <a class="code" href="structnifti__1__header.html" title="Data structure defining the fields in the nifti1 header. This binary header should be found at the be...">nifti_1_header</a> * <a class="code" href="nifti1__io_8c.html#a2fde930d314f2fea6ce083c4db0412ee">nifti_make_new_header</a>(<span class="keyword">const</span> <span class="keywordtype">int</span> arg_dims[], <span class="keywordtype">int</span> arg_dtype); <a name="l00395"></a>00395 <a class="code" href="structnifti__1__header.html" title="Data structure defining the fields in the nifti1 header. This binary header should be found at the be...">nifti_1_header</a> * <a class="code" href="nifti1__io_8c.html#a5708391aec2c027b721fa0d40851d288">nifti_read_header</a>(<span class="keyword">const</span> <span class="keywordtype">char</span> *hname, <span class="keywordtype">int</span> *swapped, <span class="keywordtype">int</span> check); <a name="l00396"></a>00396 <a class="code" href="structnifti__image.html" title="High level data structure for open nifti datasets in the nifti1_io API. Note that this structure is n...">nifti_image</a> * <a class="code" href="nifti1__io_8c.html#a795557a96c6144716d0636879cf02bd5">nifti_copy_nim_info</a>(<span class="keyword">const</span> <a class="code" href="structnifti__image.html" title="High level data structure for open nifti datasets in the nifti1_io API. Note that this structure is n...">nifti_image</a> * src); <a name="l00397"></a>00397 <a class="code" href="structnifti__image.html" title="High level data structure for open nifti datasets in the nifti1_io API. Note that this structure is n...">nifti_image</a> * <a class="code" href="nifti1__io_8c.html#ab18d6d70c046482f92fb802b74aafb11">nifti_make_new_nim</a>(<span class="keyword">const</span> <span class="keywordtype">int</span> dims[], <span class="keywordtype">int</span> <a class="code" href="structnifti__1__header.html#ad5f8888fcc5fde14d3e387653721e270">datatype</a>, <a name="l00398"></a>00398 <span class="keywordtype">int</span> data_fill); <a name="l00399"></a>00399 <a class="code" href="structnifti__image.html" title="High level data structure for open nifti datasets in the nifti1_io API. Note that this structure is n...">nifti_image</a> * <a class="code" href="nifti1__io_8c.html#a2fa149a7af0a94b2718035809c3bf930">nifti_simple_init_nim</a>(<span class="keywordtype">void</span>); <a name="l00400"></a>00400 <a class="code" href="structnifti__image.html" title="High level data structure for open nifti datasets in the nifti1_io API. Note that this structure is n...">nifti_image</a> * <a class="code" href="nifti1__io_8c.html#aa7bd8fbb331c8d278506afb6f37fdbc2">nifti_convert_nhdr2nim</a>(<span class="keyword">struct</span> <a class="code" href="structnifti__1__header.html" title="Data structure defining the fields in the nifti1 header. This binary header should be found at the be...">nifti_1_header</a> nhdr, <a name="l00401"></a>00401 <span class="keyword">const</span> <span class="keywordtype">char</span> * fname); <a name="l00402"></a>00402 <a name="l00403"></a>00403 <span class="keywordtype">int</span> <a class="code" href="nifti1__io_8c.html#a963647a644c757bf79652cf79d69ae18">nifti_hdr_looks_good</a> (<span class="keyword">const</span> <a class="code" href="structnifti__1__header.html" title="Data structure defining the fields in the nifti1 header. This binary header should be found at the be...">nifti_1_header</a> * hdr); <a name="l00404"></a>00404 <span class="keywordtype">int</span> <a class="code" href="nifti1__io_8c.html#ab03e74e929ca87ec226bd2e59899fc95">nifti_is_valid_datatype</a> (<span class="keywordtype">int</span> dtype); <a name="l00405"></a>00405 <span class="keywordtype">int</span> <a class="code" href="nifti1__io_8c.html#affc673e2c2768319574e46169462f115">nifti_is_valid_ecode</a> (<span class="keywordtype">int</span> ecode); <a name="l00406"></a>00406 <span class="keywordtype">int</span> <a class="code" href="nifti1__io_8c.html#a8cb200f44ed38709f534827ecf0aebed">nifti_nim_is_valid</a> (<a class="code" href="structnifti__image.html" title="High level data structure for open nifti datasets in the nifti1_io API. Note that this structure is n...">nifti_image</a> * nim, <span class="keywordtype">int</span> complain); <a name="l00407"></a>00407 <span class="keywordtype">int</span> <a class="code" href="nifti1__io_8c.html#ad9d44ba79bad0716b08d2888c5874012">nifti_nim_has_valid_dims</a> (<a class="code" href="structnifti__image.html" title="High level data structure for open nifti datasets in the nifti1_io API. Note that this structure is n...">nifti_image</a> * nim, <span class="keywordtype">int</span> complain); <a name="l00408"></a>00408 <span class="keywordtype">int</span> <a class="code" href="nifti1__io_8c.html#a5c42d2b1cf63b30950078ec5562e1f58">is_valid_nifti_type</a> (<span class="keywordtype">int</span> nifti_type); <a name="l00409"></a>00409 <span class="keywordtype">int</span> <a class="code" href="nifti1__io_8c.html#af31bef0754f87cbc281f3db357314e0c">nifti_test_datatype_sizes</a> (<span class="keywordtype">int</span> verb); <a name="l00410"></a>00410 <span class="keywordtype">int</span> <a class="code" href="nifti1__io_8c.html#a46c9636636122200ee108fb179dc23de">nifti_type_and_names_match</a> (<a class="code" href="structnifti__image.html" title="High level data structure for open nifti datasets in the nifti1_io API. Note that this structure is n...">nifti_image</a> * nim, <span class="keywordtype">int</span> show_warn); <a name="l00411"></a>00411 <span class="keywordtype">int</span> <a class="code" href="nifti1__io_8c.html#af6c9efd3e09141592c41803377c689a9">nifti_update_dims_from_array</a>(<a class="code" href="structnifti__image.html" title="High level data structure for open nifti datasets in the nifti1_io API. Note that this structure is n...">nifti_image</a> * nim); <a name="l00412"></a>00412 <span class="keywordtype">void</span> <a class="code" href="nifti1__io_8c.html#af37b47d8dcd832f0a2ea9758001ac622">nifti_set_iname_offset</a> (<a class="code" href="structnifti__image.html" title="High level data structure for open nifti datasets in the nifti1_io API. Note that this structure is n...">nifti_image</a> *nim); <a name="l00413"></a>00413 <span class="keywordtype">int</span> <a class="code" href="nifti1__io_8c.html#a5cb621a9f499db8c3f9de3c73628cc76">nifti_set_type_from_names</a> (<a class="code" href="structnifti__image.html" title="High level data structure for open nifti datasets in the nifti1_io API. Note that this structure is n...">nifti_image</a> * nim); <a name="l00414"></a>00414 <span class="keywordtype">int</span> <a class="code" href="nifti1__io_8c.html#af302324afc85693788cd7483b054fc86">nifti_add_extension</a>(<a class="code" href="structnifti__image.html" title="High level data structure for open nifti datasets in the nifti1_io API. Note that this structure is n...">nifti_image</a> * nim, <span class="keyword">const</span> <span class="keywordtype">char</span> * data, <span class="keywordtype">int</span> len, <a name="l00415"></a>00415 <span class="keywordtype">int</span> ecode ); <a name="l00416"></a>00416 <span class="keywordtype">int</span> <a class="code" href="nifti1__io_8c.html#a64c9a0bd020345de7e07606f07dcb960">nifti_compiled_with_zlib</a> (<span class="keywordtype">void</span>); <a name="l00417"></a>00417 <span class="keywordtype">int</span> nifti_copy_extensions (<a class="code" href="structnifti__image.html" title="High level data structure for open nifti datasets in the nifti1_io API. Note that this structure is n...">nifti_image</a> *nim_dest,<span class="keyword">const</span> <a class="code" href="structnifti__image.html" title="High level data structure for open nifti datasets in the nifti1_io API. Note that this structure is n...">nifti_image</a> *nim_src); <a name="l00418"></a>00418 <span class="keywordtype">int</span> <a class="code" href="nifti1__io_8c.html#afd96262c6dd96e05ceaa08b3fbdff2c9">nifti_free_extensions</a> (<a class="code" href="structnifti__image.html" title="High level data structure for open nifti datasets in the nifti1_io API. Note that this structure is n...">nifti_image</a> *nim); <a name="l00419"></a>00419 <span class="keywordtype">int</span> * <a class="code" href="nifti1__io_8c.html#af07be076f40f7b4bd284488221c6d26f">nifti_get_intlist</a> (<span class="keywordtype">int</span> nvals , <span class="keyword">const</span> <span class="keywordtype">char</span> *str); <a name="l00420"></a>00420 <span class="keywordtype">char</span> * <a class="code" href="nifti1__io_8c.html#a98f42fe4268d9fff8a5b8c984f8731f1">nifti_strdup</a> (<span class="keyword">const</span> <span class="keywordtype">char</span> *str); <a name="l00421"></a>00421 <span class="keywordtype">int</span> <a class="code" href="nifti1__io_8c.html#ae4827bde194fb79b17406da16216f81f">valid_nifti_extensions</a>(<span class="keyword">const</span> <a class="code" href="structnifti__image.html" title="High level data structure for open nifti datasets in the nifti1_io API. Note that this structure is n...">nifti_image</a> *nim); <a name="l00422"></a>00422 <a name="l00423"></a>00423 <a name="l00424"></a>00424 <span class="comment">/*-------------------- Some C convenience macros ----------------------------*/</span> <a name="l00425"></a>00425 <a name="l00426"></a>00426 <span class="comment">/* NIfTI-1.1 extension codes:</span> <a name="l00427"></a>00427 <span class="comment"> see http://nifti.nimh.nih.gov/nifti-1/documentation/faq#Q21 */</span> <a name="l00428"></a>00428 <a name="l00429"></a>00429 <span class="preprocessor">#define NIFTI_ECODE_IGNORE 0 </span><span class="comment">/* changed from UNKNOWN, 29 June 2005 */</span> <a name="l00430"></a>00430 <a name="l00431"></a>00431 <span class="preprocessor">#define NIFTI_ECODE_DICOM 2 </span><span class="comment">/* intended for raw DICOM attributes */</span> <a name="l00432"></a>00432 <a name="l00433"></a>00433 <span class="preprocessor">#define NIFTI_ECODE_AFNI 4 </span><span class="comment">/* Robert W Cox: rwcox@nih.gov</span> <a name="l00434"></a>00434 <span class="comment"> http://afni.nimh.nih.gov/afni */</span> <a name="l00435"></a>00435 <a name="l00436"></a>00436 <span class="preprocessor">#define NIFTI_ECODE_COMMENT 6 </span><span class="comment">/* plain ASCII text only */</span> <a name="l00437"></a>00437 <a name="l00438"></a>00438 <span class="preprocessor">#define NIFTI_ECODE_XCEDE 8 </span><span class="comment">/* David B Keator: dbkeator@uci.edu </span> <a name="l00439"></a>00439 <span class="comment"> http://www.nbirn.net/Resources</span> <a name="l00440"></a>00440 <span class="comment"> /Users/Applications/</span> <a name="l00441"></a>00441 <span class="comment"> /xcede/index.htm */</span> <a name="l00442"></a>00442 <a name="l00443"></a>00443 <span class="preprocessor">#define NIFTI_ECODE_JIMDIMINFO 10 </span><span class="comment">/* Mark A Horsfield:</span> <a name="l00444"></a>00444 <span class="comment"> mah5@leicester.ac.uk</span> <a name="l00445"></a>00445 <span class="comment"> http://someplace/something */</span> <a name="l00446"></a>00446 <a name="l00447"></a>00447 <span class="preprocessor">#define NIFTI_ECODE_WORKFLOW_FWDS 12 </span><span class="comment">/* Kate Fissell: fissell@pitt.edu</span> <a name="l00448"></a>00448 <span class="comment"> http://kraepelin.wpic.pitt.edu</span> <a name="l00449"></a>00449 <span class="comment"> /~fissell/NIFTI_ECODE_WORKFLOW_FWDS</span> <a name="l00450"></a>00450 <span class="comment"> /NIFTI_ECODE_WORKFLOW_FWDS.html */</span> <a name="l00451"></a>00451 <a name="l00452"></a>00452 <span class="preprocessor">#define NIFTI_ECODE_FREESURFER 14 </span><span class="comment">/* http://surfer.nmr.mgh.harvard.edu */</span> <a name="l00453"></a>00453 <a name="l00454"></a>00454 <span class="preprocessor">#define NIFTI_ECODE_PYPICKLE 16 </span><span class="comment">/* embedded Python objects</span> <a name="l00455"></a>00455 <span class="comment"> http://niftilib.sourceforge.net</span> <a name="l00456"></a>00456 <span class="comment"> /pynifti */</span> <a name="l00457"></a>00457 <a name="l00458"></a>00458 <span class="comment">/* LONI MiND codes: http://www.loni.ucla.edu/twiki/bin/view/Main/MiND */</span> <a name="l00459"></a>00459 <span class="preprocessor">#define NIFTI_ECODE_MIND_IDENT 18 </span><span class="comment">/* Vishal Patel: vishal.patel@ucla.edu*/</span> <a name="l00460"></a>00460 <span class="preprocessor">#define NIFTI_ECODE_B_VALUE 20</span> <a name="l00461"></a>00461 <span class="preprocessor"></span><span class="preprocessor">#define NIFTI_ECODE_SPHERICAL_DIRECTION 22</span> <a name="l00462"></a>00462 <span class="preprocessor"></span><span class="preprocessor">#define NIFTI_ECODE_DT_COMPONENT 24</span> <a name="l00463"></a>00463 <span class="preprocessor"></span><span class="preprocessor">#define NIFTI_ECODE_SHC_DEGREEORDER 26 </span><span class="comment">/* end LONI MiND codes */</span> <a name="l00464"></a>00464 <a name="l00465"></a>00465 <span class="preprocessor">#define NIFTI_ECODE_VOXBO 28 </span><span class="comment">/* Dan Kimberg: www.voxbo.org */</span> <a name="l00466"></a>00466 <a name="l00467"></a>00467 <span class="preprocessor">#define NIFTI_ECODE_CARET 30 </span><span class="comment">/* John Harwell: john@brainvis.wustl.edu</span> <a name="l00468"></a>00468 <span class="comment"> http://brainvis.wustl.edu/wiki</span> <a name="l00469"></a>00469 <span class="comment"> /index.php/Caret:Documentation</span> <a name="l00470"></a>00470 <span class="comment"> :CaretNiftiExtension */</span> <a name="l00471"></a>00471 <a name="l00472"></a>00472 <span class="preprocessor">#define NIFTI_MAX_ECODE 30 </span><span class="comment">/******* maximum extension code *******/</span> <a name="l00473"></a>00473 <a name="l00474"></a>00474 <span class="comment">/* nifti_type file codes */</span> <a name="l00475"></a>00475 <span class="preprocessor">#define NIFTI_FTYPE_ANALYZE 0</span> <a name="l00476"></a>00476 <span class="preprocessor"></span><span class="preprocessor">#define NIFTI_FTYPE_NIFTI1_1 1</span> <a name="l00477"></a>00477 <span class="preprocessor"></span><span class="preprocessor">#define NIFTI_FTYPE_NIFTI1_2 2</span> <a name="l00478"></a>00478 <span class="preprocessor"></span><span class="preprocessor">#define NIFTI_FTYPE_ASCII 3</span> <a name="l00479"></a>00479 <span class="preprocessor"></span><span class="preprocessor">#define NIFTI_MAX_FTYPE 3 </span><span class="comment">/* this should match the maximum code */</span> <a name="l00480"></a>00480 <a name="l00481"></a>00481 <span class="comment">/*------------------------------------------------------------------------*/</span> <a name="l00482"></a>00482 <span class="comment">/*-- the rest of these apply only to nifti1_io.c, check for _NIFTI1_IO_C_ */</span> <a name="l00483"></a>00483 <span class="comment">/* Feb 9, 2005 [rickr] */</span> <a name="l00484"></a>00484 <span class="preprocessor">#ifdef _NIFTI1_IO_C_</span> <a name="l00485"></a>00485 <span class="preprocessor"></span> <a name="l00486"></a>00486 <span class="keyword">typedef</span> <span class="keyword">struct </span>{ <a name="l00487"></a>00487 <span class="keywordtype">int</span> debug; <a name="l00488"></a>00488 <span class="keywordtype">int</span> skip_blank_ext; <a name="l00489"></a>00489 <span class="keywordtype">int</span> allow_upper_fext; <a name="l00490"></a>00490 } nifti_global_options; <a name="l00491"></a>00491 <a name="l00492"></a>00492 <span class="keyword">typedef</span> <span class="keyword">struct </span>{ <a name="l00493"></a>00493 <span class="keywordtype">int</span> type; <span class="comment">/* should match the NIFTI_TYPE_ #define */</span> <a name="l00494"></a>00494 <span class="keywordtype">int</span> nbyper; <span class="comment">/* bytes per value, matches nifti_image */</span> <a name="l00495"></a>00495 <span class="keywordtype">int</span> swapsize; <span class="comment">/* bytes per swap piece, matches nifti_image */</span> <a name="l00496"></a>00496 <span class="keywordtype">char</span> * name; <span class="comment">/* text string to match #define */</span> <a name="l00497"></a>00497 } nifti_type_ele; <a name="l00498"></a>00498 <a name="l00499"></a>00499 <span class="preprocessor">#undef LNI_FERR </span><span class="comment">/* local nifti file error, to be compact and repetative */</span> <a name="l00500"></a>00500 <span class="preprocessor">#define LNI_FERR(func,msg,file) \</span> <a name="l00501"></a>00501 <span class="preprocessor"> fprintf(stderr,"** ERROR (%s): %s '%s'\n",func,msg,file)</span> <a name="l00502"></a>00502 <span class="preprocessor"></span> <a name="l00503"></a>00503 <span class="preprocessor">#undef swap_2</span> <a name="l00504"></a>00504 <span class="preprocessor"></span><span class="preprocessor">#undef swap_4</span> <a name="l00505"></a>00505 <span class="preprocessor"></span><span class="preprocessor">#define swap_2(s) nifti_swap_2bytes(1,&(s)) </span><span class="comment">/* s: 2-byte short; swap in place */</span> <a name="l00506"></a>00506 <span class="preprocessor">#define swap_4(v) nifti_swap_4bytes(1,&(v)) </span><span class="comment">/* v: 4-byte value; swap in place */</span> <a name="l00507"></a>00507 <a name="l00508"></a>00508 <span class="comment">/***** isfinite() is a C99 macro, which is</span> <a name="l00509"></a>00509 <span class="comment"> present in many C implementations already *****/</span> <a name="l00510"></a>00510 <a name="l00511"></a>00511 <span class="preprocessor">#undef IS_GOOD_FLOAT</span> <a name="l00512"></a>00512 <span class="preprocessor"></span><span class="preprocessor">#undef FIXED_FLOAT</span> <a name="l00513"></a>00513 <span class="preprocessor"></span> <a name="l00514"></a>00514 <span class="preprocessor">#ifdef isfinite </span><span class="comment">/* use isfinite() to check floats/doubles for goodness */</span> <a name="l00515"></a>00515 <span class="preprocessor"># define IS_GOOD_FLOAT(x) isfinite(x) </span><span class="comment">/* check if x is a "good" float */</span> <a name="l00516"></a>00516 <span class="preprocessor"># define FIXED_FLOAT(x) (isfinite(x) ? (x) : 0) </span><span class="comment">/* fixed if bad */</span> <a name="l00517"></a>00517 <span class="preprocessor">#else</span> <a name="l00518"></a>00518 <span class="preprocessor"></span><span class="preprocessor"># define IS_GOOD_FLOAT(x) 1 </span><span class="comment">/* don't check it */</span> <a name="l00519"></a>00519 <span class="preprocessor"># define FIXED_FLOAT(x) (x) </span><span class="comment">/* don't fix it */</span> <a name="l00520"></a>00520 <span class="preprocessor">#endif</span> <a name="l00521"></a>00521 <span class="preprocessor"></span> <a name="l00522"></a>00522 <span class="preprocessor">#undef ASSIF </span><span class="comment">/* assign v to *p, if possible */</span> <a name="l00523"></a>00523 <span class="preprocessor">#define ASSIF(p,v) if( (p)!=NULL ) *(p) = (v)</span> <a name="l00524"></a>00524 <span class="preprocessor"></span> <a name="l00525"></a>00525 <span class="preprocessor">#undef MSB_FIRST</span> <a name="l00526"></a>00526 <span class="preprocessor"></span><span class="preprocessor">#undef LSB_FIRST</span> <a name="l00527"></a>00527 <span class="preprocessor"></span><span class="preprocessor">#undef REVERSE_ORDER</span> <a name="l00528"></a>00528 <span class="preprocessor"></span><span class="preprocessor">#define LSB_FIRST 1</span> <a name="l00529"></a>00529 <span class="preprocessor"></span><span class="preprocessor">#define MSB_FIRST 2</span> <a name="l00530"></a>00530 <span class="preprocessor"></span><span class="preprocessor">#define REVERSE_ORDER(x) (3-(x)) </span><span class="comment">/* convert MSB_FIRST <--> LSB_FIRST */</span> <a name="l00531"></a>00531 <a name="l00532"></a>00532 <span class="preprocessor">#define LNI_MAX_NIA_EXT_LEN 100000 </span><span class="comment">/* consider a longer extension invalid */</span> <a name="l00533"></a>00533 <a name="l00534"></a>00534 <span class="preprocessor">#endif </span><span class="comment">/* _NIFTI1_IO_C_ section */</span> <a name="l00535"></a>00535 <span class="comment">/*------------------------------------------------------------------------*/</span> <a name="l00536"></a>00536 <a name="l00537"></a>00537 <span class="comment">/*=================*/</span> <a name="l00538"></a>00538 <span class="preprocessor">#ifdef __cplusplus</span> <a name="l00539"></a>00539 <span class="preprocessor"></span>} <a name="l00540"></a>00540 <span class="preprocessor">#endif</span> <a name="l00541"></a>00541 <span class="preprocessor"></span><span class="comment">/*=================*/</span> <a name="l00542"></a>00542 <a name="l00543"></a>00543 <span class="preprocessor">#endif </span><span class="comment">/* _NIFTI_IO_HEADER_ */</span> </pre></div></div> </div> <!-- window showing the filter options --> <div id="MSearchSelectWindow" onmouseover="return searchBox.OnSearchSelectShow()" onmouseout="return searchBox.OnSearchSelectHide()" onkeydown="return searchBox.OnSearchSelectKey(event)"> <a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark"> </span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark"> </span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark"> </span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark"> </span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark"> </span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark"> </span>Defines</a></div> <!-- iframe showing the search results (closed by default) --> <div id="MSearchResultsWindow"> <iframe src="javascript:void(0)" frameborder="0" name="MSearchResults" id="MSearchResults"> </iframe> </div> <hr class="footer"/><address class="footer"><small>Generated on Tue Jul 26 2011 for nifti1_io by  <a href="http://www.doxygen.org/index.html"> <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.4 </small></address> </body> </html>