Sophie

Sophie

distrib > Fedora > 14 > x86_64 > media > updates > by-pkgid > 515e79bfec5ff5a8329551762e6f811b > files > 15

nifticlib-docs-2.0.0-2.fc14.x86_64.rpm

<!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/fsliolib/fslio.h File Reference</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&#160;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&#160;List</span></a></li>
      <li><a href="globals.html"><span>File&#160;Members</span></a></li>
    </ul>
  </div>
</div>
<div class="header">
  <div class="summary">
<a href="#nested-classes">Classes</a> &#124;
<a href="#define-members">Defines</a> &#124;
<a href="#typedef-members">Typedefs</a> &#124;
<a href="#func-members">Functions</a>  </div>
  <div class="headertitle">
<div class="title">/builddir/build/BUILD/nifticlib-2.0.0/fsliolib/fslio.h File Reference</div>  </div>
</div>
<div class="contents">

<p>Data structures for using the fslio API. Written by Mark Jenkinson, FMRIB.  
<a href="#details">More...</a></p>
<div class="textblock"><code>#include &lt;stdio.h&gt;</code><br/>
<code>#include &lt;<a class="el" href="nifti1__io_8h_source.html">nifti1_io.h</a>&gt;</code><br/>
<code>#include &lt;znzlib.h&gt;</code><br/>
<code>#include &quot;dbh.h&quot;</code><br/>
</div>
<p><a href="fslio_8h_source.html">Go to the source code of this file.</a></p>
<table class="memberdecls">
<tr><td colspan="2"><h2><a name="nested-classes"></a>
Classes</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structFSLIO.html">FSLIO</a></td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">High level data structure for open datasets in the fslio API.  <a href="structFSLIO.html#details">More...</a><br/></td></tr>
<tr><td colspan="2"><h2><a name="define-members"></a>
Defines</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gadfdbd0a14f5f2fcaf344ca0b2b88244a"></a><!-- doxytag: member="fslio.h::FSL_TYPE_ANALYZE" ref="gadfdbd0a14f5f2fcaf344ca0b2b88244a" args="" -->
#define&#160;</td><td class="memItemRight" valign="bottom"><b>FSL_TYPE_ANALYZE</b>&#160;&#160;&#160;0</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gac2e3d3d0ea2061e0689b4cc6bd65f01a"></a><!-- doxytag: member="fslio.h::FSL_TYPE_NIFTI" ref="gac2e3d3d0ea2061e0689b4cc6bd65f01a" args="" -->
#define&#160;</td><td class="memItemRight" valign="bottom"><b>FSL_TYPE_NIFTI</b>&#160;&#160;&#160;1</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gab5eb6f30b1a3a85a92191c23f724e02f"></a><!-- doxytag: member="fslio.h::FSL_TYPE_NIFTI_PAIR" ref="gab5eb6f30b1a3a85a92191c23f724e02f" args="" -->
#define&#160;</td><td class="memItemRight" valign="bottom"><b>FSL_TYPE_NIFTI_PAIR</b>&#160;&#160;&#160;2</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga93fa8fc3396fb1dfe2c899b873647fb4"></a><!-- doxytag: member="fslio.h::FSL_TYPE_MINC" ref="ga93fa8fc3396fb1dfe2c899b873647fb4" args="" -->
#define&#160;</td><td class="memItemRight" valign="bottom"><b>FSL_TYPE_MINC</b>&#160;&#160;&#160;4</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gaa92daa78cc96fd739b02f2f2ce1d8469"></a><!-- doxytag: member="fslio.h::FSL_TYPE_ANALYZE_GZ" ref="gaa92daa78cc96fd739b02f2f2ce1d8469" args="" -->
#define&#160;</td><td class="memItemRight" valign="bottom"><b>FSL_TYPE_ANALYZE_GZ</b>&#160;&#160;&#160;100</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gab383bb224e153f8cf8c93059ae1720a7"></a><!-- doxytag: member="fslio.h::FSL_TYPE_NIFTI_GZ" ref="gab383bb224e153f8cf8c93059ae1720a7" args="" -->
#define&#160;</td><td class="memItemRight" valign="bottom"><b>FSL_TYPE_NIFTI_GZ</b>&#160;&#160;&#160;101</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ga561daba828d783d701e36e8ff9f2b32b"></a><!-- doxytag: member="fslio.h::FSL_TYPE_NIFTI_PAIR_GZ" ref="ga561daba828d783d701e36e8ff9f2b32b" args="" -->
#define&#160;</td><td class="memItemRight" valign="bottom"><b>FSL_TYPE_NIFTI_PAIR_GZ</b>&#160;&#160;&#160;102</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="gaea62a03d95699332d6ae4335d213e40e"></a><!-- doxytag: member="fslio.h::FSL_TYPE_MINC_GZ" ref="gaea62a03d95699332d6ae4335d213e40e" args="" -->
#define&#160;</td><td class="memItemRight" valign="bottom"><b>FSL_TYPE_MINC_GZ</b>&#160;&#160;&#160;104</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ac3d102bdd2cd99aaf6f03432f0e0aa8b"></a><!-- doxytag: member="fslio.h::FSL_RADIOLOGICAL" ref="ac3d102bdd2cd99aaf6f03432f0e0aa8b" args="" -->
#define&#160;</td><td class="memItemRight" valign="bottom"><b>FSL_RADIOLOGICAL</b>&#160;&#160;&#160;-1</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af4931d197cbe3fa69d41e839ccda7aec"></a><!-- doxytag: member="fslio.h::FSL_NEUROLOGICAL" ref="af4931d197cbe3fa69d41e839ccda7aec" args="" -->
#define&#160;</td><td class="memItemRight" valign="bottom"><b>FSL_NEUROLOGICAL</b>&#160;&#160;&#160;1</td></tr>
<tr><td colspan="2"><h2><a name="typedef-members"></a>
Typedefs</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ac44acfe0020cd4bbc6b97a844e09add9"></a><!-- doxytag: member="fslio.h::THIS_UINT8" ref="ac44acfe0020cd4bbc6b97a844e09add9" args="" -->
typedef unsigned char&#160;</td><td class="memItemRight" valign="bottom"><b>THIS_UINT8</b></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ad071f1c0d6d24ddfc7c86a522ec3dffc"></a><!-- doxytag: member="fslio.h::THIS_INT8" ref="ad071f1c0d6d24ddfc7c86a522ec3dffc" args="" -->
typedef char&#160;</td><td class="memItemRight" valign="bottom"><b>THIS_INT8</b></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a011ebac0d10c40b57271ff7fed505bc1"></a><!-- doxytag: member="fslio.h::THIS_UINT16" ref="a011ebac0d10c40b57271ff7fed505bc1" args="" -->
typedef unsigned short&#160;</td><td class="memItemRight" valign="bottom"><b>THIS_UINT16</b></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="afc3f6bd5252f562c0955a9bd94b5e211"></a><!-- doxytag: member="fslio.h::THIS_INT16" ref="afc3f6bd5252f562c0955a9bd94b5e211" args="" -->
typedef short&#160;</td><td class="memItemRight" valign="bottom"><b>THIS_INT16</b></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a606edb7f8ee3a2980abf0c3ad7b09979"></a><!-- doxytag: member="fslio.h::THIS_UINT32" ref="a606edb7f8ee3a2980abf0c3ad7b09979" args="" -->
typedef unsigned int&#160;</td><td class="memItemRight" valign="bottom"><b>THIS_UINT32</b></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a263c0f0d881c982a65b520ed04210c4b"></a><!-- doxytag: member="fslio.h::THIS_INT32" ref="a263c0f0d881c982a65b520ed04210c4b" args="" -->
typedef int&#160;</td><td class="memItemRight" valign="bottom"><b>THIS_INT32</b></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ac100a7d6373cf7f591b2c261ee7ae07b"></a><!-- doxytag: member="fslio.h::THIS_UINT64" ref="ac100a7d6373cf7f591b2c261ee7ae07b" args="" -->
typedef unsigned long&#160;</td><td class="memItemRight" valign="bottom"><b>THIS_UINT64</b></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a83de0931f02a2f6d208d74a6e08925d5"></a><!-- doxytag: member="fslio.h::THIS_INT64" ref="a83de0931f02a2f6d208d74a6e08925d5" args="" -->
typedef long&#160;</td><td class="memItemRight" valign="bottom"><b>THIS_INT64</b></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af2f14efe566f53e375ff46a78dd1dca0"></a><!-- doxytag: member="fslio.h::THIS_FLOAT32" ref="af2f14efe566f53e375ff46a78dd1dca0" args="" -->
typedef float&#160;</td><td class="memItemRight" valign="bottom"><b>THIS_FLOAT32</b></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a14d8a767cac078cb632a44f1322817c6"></a><!-- doxytag: member="fslio.h::THIS_FLOAT64" ref="a14d8a767cac078cb632a44f1322817c6" args="" -->
typedef double&#160;</td><td class="memItemRight" valign="bottom"><b>THIS_FLOAT64</b></td></tr>
<tr><td colspan="2"><h2><a name="func-members"></a>
Functions</h2></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="structFSLIO.html">FSLIO</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="fslio_8h.html#a4a0001ad59578a36848d15d82be08d3b">FslOpen</a> (const char *filename, const char *opts)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Opens a file for either reading or writing.  <a href="#a4a0001ad59578a36848d15d82be08d3b"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="structFSLIO.html">FSLIO</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="fslio_8h.html#acc87624213e935a987984d8f6a23c750">FslXOpen</a> (const char *filename, const char *opts, int filetype)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Opens a file for either reading or writing.  <a href="#acc87624213e935a987984d8f6a23c750"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a158b32d10fb04df93d04e8f7589ebc0a"></a><!-- doxytag: member="fslio.h::FslSeekVolume" ref="a158b32d10fb04df93d04e8f7589ebc0a" args="(FSLIO *fslio, size_t vols)" -->
int&#160;</td><td class="memItemRight" valign="bottom"><b>FslSeekVolume</b> (<a class="el" href="structFSLIO.html">FSLIO</a> *fslio, size_t vols)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="fslio_8h.html#a417d6fbf3035e9d028a4e3dafa7a7f18">FslClose</a> (<a class="el" href="structFSLIO.html">FSLIO</a> *fslio)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Write header and image data if this dataset was open for writing. Close the dataset header and data files.  <a href="#a417d6fbf3035e9d028a4e3dafa7a7f18"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="fslio_8h.html#a150dccb3af6a0494409ee72a5292614b">FslReadAllVolumes</a> (<a class="el" href="structFSLIO.html">FSLIO</a> *fslio, char *filename)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Read the header and all data into the <a class="el" href="structFSLIO.html" title="High level data structure for open datasets in the fslio API.">FSLIO</a> structure.  <a href="#a150dccb3af6a0494409ee72a5292614b"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="fslio_8h.html#aa7b3ec44398ccdec59cd42e026e57dd3">FslWriteAllVolumes</a> (<a class="el" href="structFSLIO.html">FSLIO</a> *fslio, const void *buffer)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Writes all data from buffer (using size info from fslio) to file.  <a href="#aa7b3ec44398ccdec59cd42e026e57dd3"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="fslio_8h.html#aec173c9ecb7af93bea8365dd37cc9901">FslReadVolumes</a> (<a class="el" href="structFSLIO.html">FSLIO</a> *fslio, void *buffer, size_t nvols)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Read the first nvols Volumes from a 4D dataset.  <a href="#aec173c9ecb7af93bea8365dd37cc9901"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="fslio_8h.html#af49ad010bf6d549a64952a8c1314e0d5">FslWriteVolumes</a> (<a class="el" href="structFSLIO.html">FSLIO</a> *fslio, const void *buffer, size_t nvols)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Write the first nvols volumes in buffer to disk.  <a href="#af49ad010bf6d549a64952a8c1314e0d5"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="fslio_8h.html#a97f42cbeda1175ea20456d3de7802964">FslWriteHeader</a> (<a class="el" href="structFSLIO.html">FSLIO</a> *fslio)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Writes nifti/anz header and opens img file ready for writing.  <a href="#a97f42cbeda1175ea20456d3de7802964"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a2886627f8feaf0d637dad15a381da5ac"></a><!-- doxytag: member="fslio.h::FslFileExists" ref="a2886627f8feaf0d637dad15a381da5ac" args="(const char *filename)" -->
int&#160;</td><td class="memItemRight" valign="bottom"><b>FslFileExists</b> (const char *filename)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a523644b47bfcc83d6957c19c5fde3f54"></a><!-- doxytag: member="fslio.h::FslMakeBaseName" ref="a523644b47bfcc83d6957c19c5fde3f54" args="(const char *fname)" -->
char *&#160;</td><td class="memItemRight" valign="bottom"><b>FslMakeBaseName</b> (const char *fname)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a3b56cba4df4a94421559bd2fe6cf08b7"></a><!-- doxytag: member="fslio.h::FslCheckForMultipleFileNames" ref="a3b56cba4df4a94421559bd2fe6cf08b7" args="(const char *filename)" -->
int&#160;</td><td class="memItemRight" valign="bottom"><b>FslCheckForMultipleFileNames</b> (const char *filename)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af5f48f23a94b170ae738d5212645dedc"></a><!-- doxytag: member="fslio.h::FslGetEnvOutputType" ref="af5f48f23a94b170ae738d5212645dedc" args="(void)" -->
int&#160;</td><td class="memItemRight" valign="bottom"><b>FslGetEnvOutputType</b> (void)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a602e30a8bcb8335854a22853f7fb379a"></a><!-- doxytag: member="fslio.h::FslSetIgnoreMFQ" ref="a602e30a8bcb8335854a22853f7fb379a" args="(int flag)" -->
void&#160;</td><td class="memItemRight" valign="bottom"><b>FslSetIgnoreMFQ</b> (int flag)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a95e87e5a3f0b55f056b8eba0f74caddc"></a><!-- doxytag: member="fslio.h::FslGetIgnoreMFQ" ref="a95e87e5a3f0b55f056b8eba0f74caddc" args="(void)" -->
int&#160;</td><td class="memItemRight" valign="bottom"><b>FslGetIgnoreMFQ</b> (void)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a829ae729f596c3a1c5358faac061832a"></a><!-- doxytag: member="fslio.h::FslSetOverrideOutputType" ref="a829ae729f596c3a1c5358faac061832a" args="(int type)" -->
void&#160;</td><td class="memItemRight" valign="bottom"><b>FslSetOverrideOutputType</b> (int type)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="acfdde7c0362026d7ba1f4588005bd9f1"></a><!-- doxytag: member="fslio.h::FslGetOverrideOutputType" ref="acfdde7c0362026d7ba1f4588005bd9f1" args="(void)" -->
int&#160;</td><td class="memItemRight" valign="bottom"><b>FslGetOverrideOutputType</b> (void)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af3ae2d16f49956064c52ac01907447d9"></a><!-- doxytag: member="fslio.h::FslGetFileType" ref="af3ae2d16f49956064c52ac01907447d9" args="(const FSLIO *fslio)" -->
int&#160;</td><td class="memItemRight" valign="bottom"><b>FslGetFileType</b> (const <a class="el" href="structFSLIO.html">FSLIO</a> *fslio)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ac8ceede9522ba4a99253a3bc921e3f25"></a><!-- doxytag: member="fslio.h::FslSetFileType" ref="ac8ceede9522ba4a99253a3bc921e3f25" args="(FSLIO *fslio, int filetype)" -->
void&#160;</td><td class="memItemRight" valign="bottom"><b>FslSetFileType</b> (<a class="el" href="structFSLIO.html">FSLIO</a> *fslio, int filetype)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a4be066dca498a6639b83b66b15f546d8"></a><!-- doxytag: member="fslio.h::FslIsSingleFileType" ref="a4be066dca498a6639b83b66b15f546d8" args="(int filetype)" -->
int&#160;</td><td class="memItemRight" valign="bottom"><b>FslIsSingleFileType</b> (int filetype)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a3d98f6e0e56597fa45cc303059d4b70a"></a><!-- doxytag: member="fslio.h::FslIsCompressedFileType" ref="a3d98f6e0e56597fa45cc303059d4b70a" args="(int filetype)" -->
int&#160;</td><td class="memItemRight" valign="bottom"><b>FslIsCompressedFileType</b> (int filetype)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aea10e0b6b8c3dbf1ba617dab0271f9ce"></a><!-- doxytag: member="fslio.h::FslBaseFileType" ref="aea10e0b6b8c3dbf1ba617dab0271f9ce" args="(int filetype)" -->
int&#160;</td><td class="memItemRight" valign="bottom"><b>FslBaseFileType</b> (int filetype)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">char *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="fslio_8h.html#afbdb0046a66be821a93c9af12c842ad5">FslFileTypeString</a> (int filetype)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Return a string describing the format of the dataset.  <a href="#afbdb0046a66be821a93c9af12c842ad5"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aac861c331ba1debb08dc781b336e1b3b"></a><!-- doxytag: member="fslio.h::FslGetWriteMode" ref="aac861c331ba1debb08dc781b336e1b3b" args="(const FSLIO *fslio)" -->
int&#160;</td><td class="memItemRight" valign="bottom"><b>FslGetWriteMode</b> (const <a class="el" href="structFSLIO.html">FSLIO</a> *fslio)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af513a0b820a9633b42e62342ed40ff38"></a><!-- doxytag: member="fslio.h::FslSetWriteMode" ref="af513a0b820a9633b42e62342ed40ff38" args="(FSLIO *fslio, int mode)" -->
void&#160;</td><td class="memItemRight" valign="bottom"><b>FslSetWriteMode</b> (<a class="el" href="structFSLIO.html">FSLIO</a> *fslio, int mode)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a6ccfd23598066a4d925f7c90a519b426"></a><!-- doxytag: member="fslio.h::AvwSwapHeader" ref="a6ccfd23598066a4d925f7c90a519b426" args="(struct dsr *avw)" -->
void&#160;</td><td class="memItemRight" valign="bottom"><b>AvwSwapHeader</b> (struct <a class="el" href="structdsr.html">dsr</a> *avw)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ac18bc56a2ac9c1fb0ca078a59c17e478"></a><!-- doxytag: member="fslio.h::FslReadRawHeader" ref="ac18bc56a2ac9c1fb0ca078a59c17e478" args="(void *buffer, const char *filename)" -->
int&#160;</td><td class="memItemRight" valign="bottom"><b>FslReadRawHeader</b> (void *buffer, const char *filename)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="structFSLIO.html">FSLIO</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="fslio_8h.html#aa87d1f58ce713150eb4d470005cfb321">FslInit</a> (void)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">allocate space for the <a class="el" href="structFSLIO.html" title="High level data structure for open datasets in the fslio API.">FSLIO</a> struct and set some sensible defaults  <a href="#aa87d1f58ce713150eb4d470005cfb321"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ad9fb00926911a8b55eff1837880648a7"></a><!-- doxytag: member="fslio.h::FslInitHeader" ref="ad9fb00926911a8b55eff1837880648a7" args="(FSLIO *fslio, short t, size_t x, size_t y, size_t z, size_t v, float vx, float vy, float vz, float tr, size_t dim, const char *units)" -->
void&#160;</td><td class="memItemRight" valign="bottom"><b>FslInitHeader</b> (<a class="el" href="structFSLIO.html">FSLIO</a> *fslio, short t, size_t x, size_t y, size_t z, size_t v, float vx, float vy, float vz, float tr, size_t dim, const char *units)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a0da2ff4bb49a915ec9c76e97b746582f"></a><!-- doxytag: member="fslio.h::FslSetInit" ref="a0da2ff4bb49a915ec9c76e97b746582f" args="(FSLIO *fslio)" -->
void&#160;</td><td class="memItemRight" valign="bottom"><b>FslSetInit</b> (<a class="el" href="structFSLIO.html">FSLIO</a> *fslio)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a9bccceb837a96dc4444080bdecc0c951"></a><!-- doxytag: member="fslio.h::FslCloneHeader" ref="a9bccceb837a96dc4444080bdecc0c951" args="(FSLIO *dest, const FSLIO *src)" -->
void&#160;</td><td class="memItemRight" valign="bottom"><b>FslCloneHeader</b> (<a class="el" href="structFSLIO.html">FSLIO</a> *dest, const <a class="el" href="structFSLIO.html">FSLIO</a> *src)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="abb0cbc812fb17ea6b33faac2443c3779"></a><!-- doxytag: member="fslio.h::FslGetVolSize" ref="abb0cbc812fb17ea6b33faac2443c3779" args="(FSLIO *fslio)" -->
size_t&#160;</td><td class="memItemRight" valign="bottom"><b>FslGetVolSize</b> (<a class="el" href="structFSLIO.html">FSLIO</a> *fslio)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a01058e6d0a666332c971e817b4d7363a"></a><!-- doxytag: member="fslio.h::FslSetDim" ref="a01058e6d0a666332c971e817b4d7363a" args="(FSLIO *fslio, short x, short y, short z, short v)" -->
void&#160;</td><td class="memItemRight" valign="bottom"><b>FslSetDim</b> (<a class="el" href="structFSLIO.html">FSLIO</a> *fslio, short x, short y, short z, short v)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a20a6eb1069c8bcfcd0e15fab352354f6"></a><!-- doxytag: member="fslio.h::FslGetDim" ref="a20a6eb1069c8bcfcd0e15fab352354f6" args="(FSLIO *fslio, short *x, short *y, short *z, short *v)" -->
void&#160;</td><td class="memItemRight" valign="bottom"><b>FslGetDim</b> (<a class="el" href="structFSLIO.html">FSLIO</a> *fslio, short *x, short *y, short *z, short *v)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="abb4146a9821ed6503798a427e709300b"></a><!-- doxytag: member="fslio.h::FslSetDimensionality" ref="abb4146a9821ed6503798a427e709300b" args="(FSLIO *fslio, size_t dim)" -->
void&#160;</td><td class="memItemRight" valign="bottom"><b>FslSetDimensionality</b> (<a class="el" href="structFSLIO.html">FSLIO</a> *fslio, size_t dim)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aa7c4cd7ffa0deb6468d215ea14cbf0cd"></a><!-- doxytag: member="fslio.h::FslGetDimensionality" ref="aa7c4cd7ffa0deb6468d215ea14cbf0cd" args="(FSLIO *fslio, size_t *dim)" -->
void&#160;</td><td class="memItemRight" valign="bottom"><b>FslGetDimensionality</b> (<a class="el" href="structFSLIO.html">FSLIO</a> *fslio, size_t *dim)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a44ee16287431682cd43e1e76b0b109af"></a><!-- doxytag: member="fslio.h::FslSetVoxDim" ref="a44ee16287431682cd43e1e76b0b109af" args="(FSLIO *fslio, float x, float y, float z, float tr)" -->
void&#160;</td><td class="memItemRight" valign="bottom"><b>FslSetVoxDim</b> (<a class="el" href="structFSLIO.html">FSLIO</a> *fslio, float x, float y, float z, float tr)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a9c1cd716646c1bb32f8bd0891cbcdc76"></a><!-- doxytag: member="fslio.h::FslGetVoxDim" ref="a9c1cd716646c1bb32f8bd0891cbcdc76" args="(FSLIO *fslio, float *x, float *y, float *z, float *tr)" -->
void&#160;</td><td class="memItemRight" valign="bottom"><b>FslGetVoxDim</b> (<a class="el" href="structFSLIO.html">FSLIO</a> *fslio, float *x, float *y, float *z, float *tr)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aae5bff2e315e511a8cde7b975b58cfdc"></a><!-- doxytag: member="fslio.h::FslGetCalMinMax" ref="aae5bff2e315e511a8cde7b975b58cfdc" args="(FSLIO *fslio, float *min, float *max)" -->
void&#160;</td><td class="memItemRight" valign="bottom"><b>FslGetCalMinMax</b> (<a class="el" href="structFSLIO.html">FSLIO</a> *fslio, float *min, float *max)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aeac7b1dbd122f66f53c76405bd7e2107"></a><!-- doxytag: member="fslio.h::FslSetCalMinMax" ref="aeac7b1dbd122f66f53c76405bd7e2107" args="(FSLIO *fslio, float min, float max)" -->
void&#160;</td><td class="memItemRight" valign="bottom"><b>FslSetCalMinMax</b> (<a class="el" href="structFSLIO.html">FSLIO</a> *fslio, float min, float max)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ac62efcfd65707ec1acb1abc03f1c2480"></a><!-- doxytag: member="fslio.h::FslGetAuxFile" ref="ac62efcfd65707ec1acb1abc03f1c2480" args="(FSLIO *fslio, char *aux_file)" -->
void&#160;</td><td class="memItemRight" valign="bottom"><b>FslGetAuxFile</b> (<a class="el" href="structFSLIO.html">FSLIO</a> *fslio, char *aux_file)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a226888d9d515a33985e58525ca0d96b3"></a><!-- doxytag: member="fslio.h::FslSetAuxFile" ref="a226888d9d515a33985e58525ca0d96b3" args="(FSLIO *fslio, const char *aux_file)" -->
void&#160;</td><td class="memItemRight" valign="bottom"><b>FslSetAuxFile</b> (<a class="el" href="structFSLIO.html">FSLIO</a> *fslio, const char *aux_file)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a563b00a7f2963c5f9e49c23c87e8366f"></a><!-- doxytag: member="fslio.h::FslSetTimeUnits" ref="a563b00a7f2963c5f9e49c23c87e8366f" args="(FSLIO *fslio, const char *units)" -->
void&#160;</td><td class="memItemRight" valign="bottom"><b>FslSetTimeUnits</b> (<a class="el" href="structFSLIO.html">FSLIO</a> *fslio, const char *units)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a7e9615385ee3a1606feec3184683a9a1"></a><!-- doxytag: member="fslio.h::FslGetTimeUnits" ref="a7e9615385ee3a1606feec3184683a9a1" args="(FSLIO *fslio, char *units)" -->
void&#160;</td><td class="memItemRight" valign="bottom"><b>FslGetTimeUnits</b> (<a class="el" href="structFSLIO.html">FSLIO</a> *fslio, char *units)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a7b3f3b646378fbc3fb167f045a2dc317"></a><!-- doxytag: member="fslio.h::FslSetDataType" ref="a7b3f3b646378fbc3fb167f045a2dc317" args="(FSLIO *fslio, short t)" -->
void&#160;</td><td class="memItemRight" valign="bottom"><b>FslSetDataType</b> (<a class="el" href="structFSLIO.html">FSLIO</a> *fslio, short t)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a931b453d562e0bfbc68c36a21b259b56"></a><!-- doxytag: member="fslio.h::FslGetDataType" ref="a931b453d562e0bfbc68c36a21b259b56" args="(FSLIO *fslio, short *t)" -->
size_t&#160;</td><td class="memItemRight" valign="bottom"><b>FslGetDataType</b> (<a class="el" href="structFSLIO.html">FSLIO</a> *fslio, short *t)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a84df1235ae5b9840c6d22a6f6b93a090"></a><!-- doxytag: member="fslio.h::FslGetIntensityScaling" ref="a84df1235ae5b9840c6d22a6f6b93a090" args="(FSLIO *fslio, float *slope, float *intercept)" -->
int&#160;</td><td class="memItemRight" valign="bottom"><b>FslGetIntensityScaling</b> (<a class="el" href="structFSLIO.html">FSLIO</a> *fslio, float *slope, float *intercept)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aebcea765a8418abbef2b733f0a2c2f68"></a><!-- doxytag: member="fslio.h::FslSetIntent" ref="aebcea765a8418abbef2b733f0a2c2f68" args="(FSLIO *fslio, short intent_code, float p1, float p2, float p3)" -->
void&#160;</td><td class="memItemRight" valign="bottom"><b>FslSetIntent</b> (<a class="el" href="structFSLIO.html">FSLIO</a> *fslio, short intent_code, float p1, float p2, float p3)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ac54ef3c79d38a562fd0ca91697e17628"></a><!-- doxytag: member="fslio.h::FslGetIntent" ref="ac54ef3c79d38a562fd0ca91697e17628" args="(FSLIO *fslio, short *intent_code, float *p1, float *p2, float *p3)" -->
short&#160;</td><td class="memItemRight" valign="bottom"><b>FslGetIntent</b> (<a class="el" href="structFSLIO.html">FSLIO</a> *fslio, short *intent_code, float *p1, float *p2, float *p3)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a662569f197b7cbdfd54b5f3a7431a62b"></a><!-- doxytag: member="fslio.h::FslGetStdXform" ref="a662569f197b7cbdfd54b5f3a7431a62b" args="(FSLIO *fslio, mat44 *stdmat)" -->
short&#160;</td><td class="memItemRight" valign="bottom"><b>FslGetStdXform</b> (<a class="el" href="structFSLIO.html">FSLIO</a> *fslio, <a class="el" href="structmat44.html">mat44</a> *stdmat)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a68bcf2825302dc4e72603250ed8be939"></a><!-- doxytag: member="fslio.h::FslSetStdXform" ref="a68bcf2825302dc4e72603250ed8be939" args="(FSLIO *fslio, short sform_code, mat44 stdmat)" -->
void&#160;</td><td class="memItemRight" valign="bottom"><b>FslSetStdXform</b> (<a class="el" href="structFSLIO.html">FSLIO</a> *fslio, short sform_code, <a class="el" href="structmat44.html">mat44</a> stdmat)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="af21ae50c44b4c5cb656b606421add477"></a><!-- doxytag: member="fslio.h::FslGetMMCoord" ref="af21ae50c44b4c5cb656b606421add477" args="(mat44 stdmat, float voxx, float voxy, float voxz, float *mmx, float *mmy, float *mmz)" -->
void&#160;</td><td class="memItemRight" valign="bottom"><b>FslGetMMCoord</b> (<a class="el" href="structmat44.html">mat44</a> stdmat, float voxx, float voxy, float voxz, float *mmx, float *mmy, float *mmz)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aa71b64c2079e5fdcc89ca27fac5962c0"></a><!-- doxytag: member="fslio.h::FslGetVoxCoord" ref="aa71b64c2079e5fdcc89ca27fac5962c0" args="(mat44 stdmat, float mmx, float mmy, float mmz, float *voxx, float *voxy, float *voxz)" -->
void&#160;</td><td class="memItemRight" valign="bottom"><b>FslGetVoxCoord</b> (<a class="el" href="structmat44.html">mat44</a> stdmat, float mmx, float mmy, float mmz, float *voxx, float *voxy, float *voxz)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a66e0bf0a2bfafc63b1ee39540a332e1c"></a><!-- doxytag: member="fslio.h::FslGetRigidXform" ref="a66e0bf0a2bfafc63b1ee39540a332e1c" args="(FSLIO *fslio, mat44 *rigidmat)" -->
short&#160;</td><td class="memItemRight" valign="bottom"><b>FslGetRigidXform</b> (<a class="el" href="structFSLIO.html">FSLIO</a> *fslio, <a class="el" href="structmat44.html">mat44</a> *rigidmat)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ac60a4e064382e663e02f9462b812f1e6"></a><!-- doxytag: member="fslio.h::FslSetRigidXform" ref="ac60a4e064382e663e02f9462b812f1e6" args="(FSLIO *fslio, short qform_code, mat44 rigidmat)" -->
void&#160;</td><td class="memItemRight" valign="bottom"><b>FslSetRigidXform</b> (<a class="el" href="structFSLIO.html">FSLIO</a> *fslio, short qform_code, <a class="el" href="structmat44.html">mat44</a> rigidmat)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a07f95415ca830c956a3a0214ec7ba69a"></a><!-- doxytag: member="fslio.h::FslGetLeftRightOrder" ref="a07f95415ca830c956a3a0214ec7ba69a" args="(FSLIO *fslio)" -->
int&#160;</td><td class="memItemRight" valign="bottom"><b>FslGetLeftRightOrder</b> (<a class="el" href="structFSLIO.html">FSLIO</a> *fslio)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="aaba5a11ecc513e802cd5c07ff0180907"></a><!-- doxytag: member="fslio.h::FslSetAnalyzeSform" ref="aaba5a11ecc513e802cd5c07ff0180907" args="(FSLIO *fslio, const short *orig, float dx, float dy, float dz)" -->
void&#160;</td><td class="memItemRight" valign="bottom"><b>FslSetAnalyzeSform</b> (<a class="el" href="structFSLIO.html">FSLIO</a> *fslio, const short *orig, float dx, float dy, float dz)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="a6219a3d0a62ac90902ac77c7b301a7ec"></a><!-- doxytag: member="fslio.h::FslGetAnalyzeOrigin" ref="a6219a3d0a62ac90902ac77c7b301a7ec" args="(FSLIO *fslio, short orig[5])" -->
void&#160;</td><td class="memItemRight" valign="bottom"><b>FslGetAnalyzeOrigin</b> (<a class="el" href="structFSLIO.html">FSLIO</a> *fslio, short orig[5])</td></tr>
<tr><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="fslio_8h.html#ab2fcd2b0ccb4f917552adb27a28245ee">FslReadSliceSeries</a> (<a class="el" href="structFSLIO.html">FSLIO</a> *fslio, void *buffer, short slice, size_t nvols)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Read one slice from each of the first nvols volumes in the dataset, ie get an xyt buffer.  <a href="#ab2fcd2b0ccb4f917552adb27a28245ee"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="fslio_8h.html#aabc65d9d33f78cad78438a8fe30f2047">FslReadRowSeries</a> (<a class="el" href="structFSLIO.html">FSLIO</a> *fslio, void *buffer, short row, short slice, size_t nvols)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Read one row from one slice for first nvols volumes in dataset; ie get an xt buffer.  <a href="#aabc65d9d33f78cad78438a8fe30f2047"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">size_t&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="fslio_8h.html#a9bf6475860f2a1f4baa5b2cd43ac08a0">FslReadTimeSeries</a> (<a class="el" href="structFSLIO.html">FSLIO</a> *fslio, void *buffer, short xVox, short yVox, short zVox, size_t nvols)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Read one voxel (xyz location) from first nvols volumes in dataset; ie get a t dim buffer.  <a href="#a9bf6475860f2a1f4baa5b2cd43ac08a0"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="anchor" id="ae391c01efff92b410a5a6d71fd488845"></a><!-- doxytag: member="fslio.h::mat44_to_mat33" ref="ae391c01efff92b410a5a6d71fd488845" args="(mat44 x)" -->
<a class="el" href="structmat33.html">mat33</a>&#160;</td><td class="memItemRight" valign="bottom"><b>mat44_to_mat33</b> (<a class="el" href="structmat44.html">mat44</a> x)</td></tr>
<tr><td class="memItemLeft" align="right" valign="top"><a class="el" href="structFSLIO.html">FSLIO</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="fslio_8h.html#a51a468d8cf99eed1dda61d192a5ea8d2">FslReadHeader</a> (char *fname)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Reads nifti/anz header, no data is read.  <a href="#a51a468d8cf99eed1dda61d192a5ea8d2"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">double ****&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="fslio_8h.html#a64ec86d1d2f8e4d0d4b12384ca1ca721">FslGetBufferAsScaledDouble</a> (<a class="el" href="structFSLIO.html">FSLIO</a> *fslio)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Return the fslio data buffer of a 1-4D dataset as a 4D array of scaled doubles.  <a href="#a64ec86d1d2f8e4d0d4b12384ca1ca721"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">double ***&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="fslio_8h.html#a1cd2a1f1b8fdf42ecf6f60eeb61c1608">FslGetVolumeAsScaledDouble</a> (<a class="el" href="structFSLIO.html">FSLIO</a> *fslio, int vol)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">Return volume #vol (0-based) as a 3D array of scaled doubles.  <a href="#a1cd2a1f1b8fdf42ecf6f60eeb61c1608"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="fslio_8h.html#ab49bea537966913a5c87768a8a073a40">convertBufferToScaledDouble</a> (double *outbuf, void *inbuf, long len, float slope, float inter, int nifti_datatype)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">allocate a 4D buffer, use 1 contiguous buffer for the data  <a href="#ab49bea537966913a5c87768a8a073a40"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">double ****&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="fslio_8h.html#a2291e0ab618a23969124cb17da2aff27">d4matrix</a> (int th, int zh, int yh, int xh)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">allocate a 4D buffer, use 1 contiguous buffer for the data  <a href="#a2291e0ab618a23969124cb17da2aff27"></a><br/></td></tr>
<tr><td class="memItemLeft" align="right" valign="top">double ***&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="fslio_8h.html#aa826fd45d3abcff5a4e3ea0061d1cf6e">d3matrix</a> (int zh, int yh, int xh)</td></tr>
<tr><td class="mdescLeft">&#160;</td><td class="mdescRight">allocate a 3D buffer, use 1 contiguous buffer for the data  <a href="#aa826fd45d3abcff5a4e3ea0061d1cf6e"></a><br/></td></tr>
</table>
<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
<div class="textblock"><p>Data structures for using the fslio API. Written by Mark Jenkinson, FMRIB. </p>
</div><hr/><h2>Function Documentation</h2>
<a class="anchor" id="ab49bea537966913a5c87768a8a073a40"></a><!-- doxytag: member="fslio.h::convertBufferToScaledDouble" ref="ab49bea537966913a5c87768a8a073a40" args="(double *outbuf, void *inbuf, long len, float slope, float inter, int nifti_datatype)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int convertBufferToScaledDouble </td>
          <td>(</td>
          <td class="paramtype">double *&#160;</td>
          <td class="paramname"><em>outbuf</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">void *&#160;</td>
          <td class="paramname"><em>inbuf</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">long&#160;</td>
          <td class="paramname"><em>len</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float&#160;</td>
          <td class="paramname"><em>slope</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float&#160;</td>
          <td class="paramname"><em>inter</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>nifti_datatype</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>allocate a 4D buffer, use 1 contiguous buffer for the data </p>
<p>Array is indexed as buf[0..th-1][0..zh-1][0..yh-1][0..xh-1]. <br/>
To access all elements as a vector, use buf[0][0][0][i] where i can range from 0 to th*zh*yh*xh - 1.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">outbuf</td><td>pointer to array of doubles of size len </td></tr>
    <tr><td class="paramname">inbuf</td><td>void pointer to an array of len items of datatype nifti_datatype </td></tr>
    <tr><td class="paramname">len</td><td>number of elements in outbuf and inbuf </td></tr>
    <tr><td class="paramname">slope</td><td>slope term of scaling to be applied </td></tr>
    <tr><td class="paramname">inter</td><td>intercept term of scaling to be applied: out = (in*slope)+inter </td></tr>
    <tr><td class="paramname">nifti_datatype</td><td>NIFTI datatype code for the datatype of the elements in inbuf </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>error code: 0=OK -1=error </dd></dl>

<p><p>fill the buffer </p>
</p>

</div>
</div>
<a class="anchor" id="aa826fd45d3abcff5a4e3ea0061d1cf6e"></a><!-- doxytag: member="fslio.h::d3matrix" ref="aa826fd45d3abcff5a4e3ea0061d1cf6e" args="(int zh, int yh, int xh)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">double*** d3matrix </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>zh</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>yh</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>xh</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>allocate a 3D buffer, use 1 contiguous buffer for the data </p>
<p>Array is indexed as buf[0..zh][0..yh][0..xh]. <br/>
To access all elements as a vector, use buf[0][0][i] where i can range from 0 to zh*yh*xh - 1. Adaptation of Numerical Recipes in C nrutil.c allocation routines.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">zh</td><td>slowest changing dimension </td></tr>
    <tr><td class="paramname">yh</td><td>2nd fastest changing dimension </td></tr>
    <tr><td class="paramname">xh</td><td>fastest changing dimension </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>Pointer to 3D double array </dd></dl>

<p><p>allocate pointers to slices</p>
<p>allocate pointers for ydim</p>
<p>allocate the data blob</p>
<p>point everything to the data blob </p>
</p>

</div>
</div>
<a class="anchor" id="a2291e0ab618a23969124cb17da2aff27"></a><!-- doxytag: member="fslio.h::d4matrix" ref="a2291e0ab618a23969124cb17da2aff27" args="(int th, int zh, int yh, int xh)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">double**** d4matrix </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>th</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>zh</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>yh</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>xh</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>allocate a 4D buffer, use 1 contiguous buffer for the data </p>
<p>Array is indexed as buf[0..th][0..zh][0..yh][0..xh]. <br/>
To access all elements as a vector, use buf[0][0][0][i] where i can range from 0 to th*zh*yh*xh - 1. Adaptation of Numerical Recipes in C nrutil.c allocation routines.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">th</td><td>slowest changing dimension </td></tr>
    <tr><td class="paramname">zh</td><td>2nd slowest changing dimension </td></tr>
    <tr><td class="paramname">yh</td><td>2nd fastest changing dimension </td></tr>
    <tr><td class="paramname">xh</td><td>fastest changing dimension </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>Pointer to 4D double array </dd></dl>

<p><p>allocate pointers to vols</p>
<p>allocate pointers to slices</p>
<p>allocate pointers for ydim</p>
<p>allocate the data blob</p>
<p>point everything to the data blob </p>
</p>

</div>
</div>
<a class="anchor" id="a417d6fbf3035e9d028a4e3dafa7a7f18"></a><!-- doxytag: member="fslio.h::FslClose" ref="a417d6fbf3035e9d028a4e3dafa7a7f18" args="(FSLIO *fslio)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int FslClose </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structFSLIO.html">FSLIO</a> *&#160;</td>
          <td class="paramname"><em>fslio</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Write header and image data if this dataset was open for writing. Close the dataset header and data files. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">fslio</td><td>pointer to <a class="el" href="structFSLIO.html" title="High level data structure for open datasets in the fslio API.">FSLIO</a> data structure </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>-1 on error, 0 OK ???. </dd></dl>

<p><p>----- if writing the image, need to worry about the header bit ----- </p>
</p>

</div>
</div>
<a class="anchor" id="afbdb0046a66be821a93c9af12c842ad5"></a><!-- doxytag: member="fslio.h::FslFileTypeString" ref="afbdb0046a66be821a93c9af12c842ad5" args="(int filetype)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">char* FslFileTypeString </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>filetype</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Return a string describing the format of the dataset. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">filetype</td><td>FSL data format code. Legal values are as defined by FSL_TYPE. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>A string with the data format name, e.g. "ANALYZE-7.5" </dd></dl>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="group__FSL__TYPE.html" title="FSL data format type codes.">FSL_TYPE</a> </dd></dl>

</div>
</div>
<a class="anchor" id="a64ec86d1d2f8e4d0d4b12384ca1ca721"></a><!-- doxytag: member="fslio.h::FslGetBufferAsScaledDouble" ref="a64ec86d1d2f8e4d0d4b12384ca1ca721" args="(FSLIO *fslio)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">double**** FslGetBufferAsScaledDouble </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structFSLIO.html">FSLIO</a> *&#160;</td>
          <td class="paramname"><em>fslio</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Return the fslio data buffer of a 1-4D dataset as a 4D array of scaled doubles. </p>
<p>Array is indexed as buf[0..tdim-1][0..zdim-1][0..ydim-1][0..xdim-1]. <br/>
The array will be byteswapped to native-endian. <br/>
Array values are scaled as per fslio header slope and intercept fields.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">fslio</td><td>pointer to open dataset </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>Pointer to 4D double array, NULL on error </dd></dl>

<p><p>allocate new 4D buffer</p>
<p>cvt it </p>
</p>

</div>
</div>
<a class="anchor" id="a1cd2a1f1b8fdf42ecf6f60eeb61c1608"></a><!-- doxytag: member="fslio.h::FslGetVolumeAsScaledDouble" ref="a1cd2a1f1b8fdf42ecf6f60eeb61c1608" args="(FSLIO *fslio, int vol)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">double*** FslGetVolumeAsScaledDouble </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structFSLIO.html">FSLIO</a> *&#160;</td>
          <td class="paramname"><em>fslio</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>vol</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Return volume #vol (0-based) as a 3D array of scaled doubles. </p>
<p>Volume Array is indexed as [0..zdim-1][0..ydim-1][0..xdim-1]. <br/>
The array will be byteswapped to native-endian. <br/>
Array values are scaled as per fslio header slope and intercept fields.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">fslio</td><td>pointer to open dataset </td></tr>
    <tr><td class="paramname">vol</td><td>volume number to read (legal range [0..tdim-1]) </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>Pointer to 3D double array, NULL on error </dd></dl>

<p><p>allocate new 3D buffer</p>
<p>read in the data in disk format</p>
<p>cvt disk buffer to scaled double buffer </p>
</p>

</div>
</div>
<a class="anchor" id="aa87d1f58ce713150eb4d470005cfb321"></a><!-- doxytag: member="fslio.h::FslInit" ref="aa87d1f58ce713150eb4d470005cfb321" args="(void)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structFSLIO.html">FSLIO</a>* FslInit </td>
          <td>(</td>
          <td class="paramtype">void&#160;</td>
          <td class="paramname"></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>allocate space for the <a class="el" href="structFSLIO.html" title="High level data structure for open datasets in the fslio API.">FSLIO</a> struct and set some sensible defaults </p>
<dl class="return"><dt><b>Returns:</b></dt><dd>A pointer to an initialized <a class="el" href="structFSLIO.html" title="High level data structure for open datasets in the fslio API.">FSLIO</a> data structure </dd></dl>

</div>
</div>
<a class="anchor" id="a4a0001ad59578a36848d15d82be08d3b"></a><!-- doxytag: member="fslio.h::FslOpen" ref="a4a0001ad59578a36848d15d82be08d3b" args="(const char *filename, const char *opts)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structFSLIO.html">FSLIO</a>* FslOpen </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>filename</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>opts</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Opens a file for either reading or writing. </p>
<p>The format of the output dataset is determined automatically by passing filetype -1 to FslXOpen. </p>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="fslio_8h.html#acc87624213e935a987984d8f6a23c750" title="Opens a file for either reading or writing.">FslXOpen</a> </dd></dl>

</div>
</div>
<a class="anchor" id="a150dccb3af6a0494409ee72a5292614b"></a><!-- doxytag: member="fslio.h::FslReadAllVolumes" ref="a150dccb3af6a0494409ee72a5292614b" args="(FSLIO *fslio, char *filename)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void* FslReadAllVolumes </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structFSLIO.html">FSLIO</a> *&#160;</td>
          <td class="paramname"><em>fslio</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">char *&#160;</td>
          <td class="paramname"><em>filename</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Read the header and all data into the <a class="el" href="structFSLIO.html" title="High level data structure for open datasets in the fslio API.">FSLIO</a> structure. </p>
<p>There is no need for FslOpen or FslClose calls when <a class="el" href="fslio_8c.html#aee57f4c5d77fad8382354ee3c6ab9895" title="Read the header and all data into the FSLIO structure.">FslReadAllVolumes()</a> is called. <br/>
This routine allocates the buffer to hold the entire dataset. <br/>
The data block returned will contain the data in whatever datatype it is stored as on disk (therefore it is a void *). <br/>
The data buffer will be byteswapped to native-endian. <br/>
The data buffer will not be scaled. <br/>
The best call to make before this is <a class="el" href="fslio_8c.html#acc3ed701d5eff4e5c2f7fb829e754396" title="allocate space for the FSLIO struct and set some sensible defaults">FslInit()</a> or a calloc() for fslio. (??? why calloc if this allocates the buffer ???)</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">fslio</td><td>pointer to an open dataset </td></tr>
    <tr><td class="paramname">filename</td><td>Name of the dataset to read. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>A pointer to the data block buffer (allocated by this function). <br/>
 Return Null on error ??? is this true ??? <ul>
<li>
Note this pointer is also in the <a class="el" href="structFSLIO.html" title="High level data structure for open datasets in the fslio API.">FSLIO</a> structure as fslio-&gt;niftiptr-&gt;data. </li>
<li>
Note a void pointer is returned, as the datablock is of variable datatype. </li>
</ul>
</dd></dl>

<p><p>otherwise it is a nifti file - so read it! </p>
</p>

</div>
</div>
<a class="anchor" id="a51a468d8cf99eed1dda61d192a5ea8d2"></a><!-- doxytag: member="fslio.h::FslReadHeader" ref="a51a468d8cf99eed1dda61d192a5ea8d2" args="(char *fname)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structFSLIO.html">FSLIO</a>* FslReadHeader </td>
          <td>(</td>
          <td class="paramtype">char *&#160;</td>
          <td class="paramname"><em>fname</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Reads nifti/anz header, no data is read. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">fname</td><td>filename specification (could be .img,.hdr,.nii, or no ext </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd><a class="el" href="structFSLIO.html" title="High level data structure for open datasets in the fslio API.">FSLIO</a> data structure with the <a class="el" 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> structure fields filled as per fname header. NULL on error </dd></dl>

<p><p>get header file name</p>
<p>read header information </p>
</p>

</div>
</div>
<a class="anchor" id="aabc65d9d33f78cad78438a8fe30f2047"></a><!-- doxytag: member="fslio.h::FslReadRowSeries" ref="aabc65d9d33f78cad78438a8fe30f2047" args="(FSLIO *fslio, void *buffer, short row, short slice, size_t nvols)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">size_t FslReadRowSeries </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structFSLIO.html">FSLIO</a> *&#160;</td>
          <td class="paramname"><em>fslio</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">void *&#160;</td>
          <td class="paramname"><em>buffer</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">short&#160;</td>
          <td class="paramname"><em>row</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">short&#160;</td>
          <td class="paramname"><em>slice</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>nvols</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Read one row from one slice for first nvols volumes in dataset; ie get an xt buffer. </p>
<p>Dimension and datatype of buffer are as is specified in <a class="el" 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> structure fslio-&gt;niftiptr. Note: filepointer in file data array is restored to its initial position.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">fslio</td><td>pointer to open dataset </td></tr>
    <tr><td class="paramname">buffer</td><td>buffer to hold one row from each volume. </td></tr>
    <tr><td class="paramname">row</td><td>row number (0 based) to read [0 y-1] </td></tr>
    <tr><td class="paramname">slice</td><td>slice number (0 based) to read </td></tr>
    <tr><td class="paramname">nvols</td><td>number of volumes to read a row from </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>Number of volumes from which a row was successfully read. 0 on error. </dd></dl>

</div>
</div>
<a class="anchor" id="ab2fcd2b0ccb4f917552adb27a28245ee"></a><!-- doxytag: member="fslio.h::FslReadSliceSeries" ref="ab2fcd2b0ccb4f917552adb27a28245ee" args="(FSLIO *fslio, void *buffer, short slice, size_t nvols)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">size_t FslReadSliceSeries </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structFSLIO.html">FSLIO</a> *&#160;</td>
          <td class="paramname"><em>fslio</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">void *&#160;</td>
          <td class="paramname"><em>buffer</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">short&#160;</td>
          <td class="paramname"><em>slice</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>nvols</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Read one slice from each of the first nvols volumes in the dataset, ie get an xyt buffer. </p>
<p>Dimension and datatype of buffer are as is specified in <a class="el" 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> structure fslio-&gt;niftiptr. Note: filepointer in file data array is restored to its initial position.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">fslio</td><td>pointer to open dataset </td></tr>
    <tr><td class="paramname">buffer</td><td>buffer large enough to hold 1 slice from each volume </td></tr>
    <tr><td class="paramname">slice</td><td>slice number (0 based) to read [0 z-1] </td></tr>
    <tr><td class="paramname">nvols</td><td>number of volumes to read a slice from </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>Number of volumes from which a slice was successfully read. 0 on error. </dd></dl>

</div>
</div>
<a class="anchor" id="a9bf6475860f2a1f4baa5b2cd43ac08a0"></a><!-- doxytag: member="fslio.h::FslReadTimeSeries" ref="a9bf6475860f2a1f4baa5b2cd43ac08a0" args="(FSLIO *fslio, void *buffer, short xVox, short yVox, short zVox, size_t nvols)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">size_t FslReadTimeSeries </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structFSLIO.html">FSLIO</a> *&#160;</td>
          <td class="paramname"><em>fslio</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">void *&#160;</td>
          <td class="paramname"><em>buffer</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">short&#160;</td>
          <td class="paramname"><em>xVox</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">short&#160;</td>
          <td class="paramname"><em>yVox</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">short&#160;</td>
          <td class="paramname"><em>zVox</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>nvols</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Read one voxel (xyz location) from first nvols volumes in dataset; ie get a t dim buffer. </p>
<p>Dimension and datatype of buffer are as is specified in <a class="el" 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> structure fslio-&gt;niftiptr. Note: filepointer in file data array is restored to its initial position.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">fslio</td><td>pointer to open dataset </td></tr>
    <tr><td class="paramname">buffer</td><td>buffer to hold one timeseries vector </td></tr>
    <tr><td class="paramname">xVox</td><td>x voxel [0 x-1] </td></tr>
    <tr><td class="paramname">yVox</td><td>y voxel [0 y-1] </td></tr>
    <tr><td class="paramname">zVox</td><td>z voxel [0 z-1] </td></tr>
    <tr><td class="paramname">nvols</td><td>number of volumes to read a voxel from </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>Number of volumes from which a voxel was successfully read. 0 on error. </dd></dl>

</div>
</div>
<a class="anchor" id="aec173c9ecb7af93bea8365dd37cc9901"></a><!-- doxytag: member="fslio.h::FslReadVolumes" ref="aec173c9ecb7af93bea8365dd37cc9901" args="(FSLIO *fslio, void *buffer, size_t nvols)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">size_t FslReadVolumes </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structFSLIO.html">FSLIO</a> *&#160;</td>
          <td class="paramname"><em>fslio</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">void *&#160;</td>
          <td class="paramname"><em>buffer</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>nvols</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Read the first nvols Volumes from a 4D dataset. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">fslio</td><td>pointer to open dataset </td></tr>
    <tr><td class="paramname">buffer</td><td>buffer to read data into, allocated by ??? </td></tr>
    <tr><td class="paramname">nvols</td><td>number of volumes to read </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>Number of volumes read. </dd></dl>

</div>
</div>
<a class="anchor" id="aa7b3ec44398ccdec59cd42e026e57dd3"></a><!-- doxytag: member="fslio.h::FslWriteAllVolumes" ref="aa7b3ec44398ccdec59cd42e026e57dd3" args="(FSLIO *fslio, const void *buffer)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void FslWriteAllVolumes </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structFSLIO.html">FSLIO</a> *&#160;</td>
          <td class="paramname"><em>fslio</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const void *&#160;</td>
          <td class="paramname"><em>buffer</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Writes all data from buffer (using size info from fslio) to file. </p>
<p>Dimension and datatype of buffer are as is specified in <a class="el" 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> structure fslio-&gt;niftiptr. Note: If file format is Analyze (not nifti) and in Neurological order then SWAP DATA into Radiological order.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">fslio</td><td>pointer to open dataset </td></tr>
    <tr><td class="paramname">buffer</td><td>pointer to data array. Size and datatype of this buffer </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a97f42cbeda1175ea20456d3de7802964"></a><!-- doxytag: member="fslio.h::FslWriteHeader" ref="a97f42cbeda1175ea20456d3de7802964" args="(FSLIO *fslio)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void FslWriteHeader </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structFSLIO.html">FSLIO</a> *&#160;</td>
          <td class="paramname"><em>fslio</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Writes nifti/anz header and opens img file ready for writing. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">fslio</td><td>pointer to open dataset </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="af49ad010bf6d549a64952a8c1314e0d5"></a><!-- doxytag: member="fslio.h::FslWriteVolumes" ref="af49ad010bf6d549a64952a8c1314e0d5" args="(FSLIO *fslio, const void *buffer, size_t nvols)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">size_t FslWriteVolumes </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structFSLIO.html">FSLIO</a> *&#160;</td>
          <td class="paramname"><em>fslio</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const void *&#160;</td>
          <td class="paramname"><em>buffer</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>nvols</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Write the first nvols volumes in buffer to disk. </p>
<p>Dimension and datatype of buffer are as is specified in <a class="el" 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> structure fslio-&gt;niftiptr. Note: If file format is Analyze (not nifti) and in Neurological order then SWAP DATA into Radiological order.</p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">fslio</td><td>pointer to open dataset </td></tr>
    <tr><td class="paramname">buffer</td><td>pointer to data array. Size and datatype of this buffer </td></tr>
    <tr><td class="paramname">nvols</td><td>number of volumes to write </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>??? looks like return of retval is missing ??? 0 on error. </dd></dl>

</div>
</div>
<a class="anchor" id="acc87624213e935a987984d8f6a23c750"></a><!-- doxytag: member="fslio.h::FslXOpen" ref="acc87624213e935a987984d8f6a23c750" args="(const char *filename, const char *opts, int filetype)" -->
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structFSLIO.html">FSLIO</a>* FslXOpen </td>
          <td>(</td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>filename</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const char *&#160;</td>
          <td class="paramname"><em>opts</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>filetype</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div>
<div class="memdoc">

<p>Opens a file for either reading or writing. </p>
<p>Files to be read are automatically read whether compressed or not. Also, reading uses the file extension and will fail if that file does not exist. For a more robust read, pass the basename in as then all types will be tried. </p>
<dl><dt><b>Parameters:</b></dt><dd>
  <table class="params">
    <tr><td class="paramname">filename</td><td>Name (or basename) of the file to open </td></tr>
    <tr><td class="paramname">opts</td><td>Flags for fopen() of dataset, eg "r", "wb", etc. </td></tr>
    <tr><td class="paramname">filetype</td><td>specifies the type of file to be written. Legal values are as defined by FSL_TYPE. If filetype is less than zero, then it is ignored and the type is determined by the filename extension or, failing that, the environment default. </td></tr>
  </table>
  </dd>
</dl>
<dl class="return"><dt><b>Returns:</b></dt><dd>pointer to <a class="el" href="structFSLIO.html" title="High level data structure for open datasets in the fslio API.">FSLIO</a> dataset datastructure </dd></dl>
<dl class="see"><dt><b>See also:</b></dt><dd><a class="el" href="structFSLIO.html" title="High level data structure for open datasets in the fslio API.">FSLIO</a> </dd>
<dd>
<a class="el" href="group__FSL__TYPE.html" title="FSL data format type codes.">FSL_TYPE</a> </dd></dl>

<p><p>====================== Open file for writing ======================</p>
<p>======================== Open file for reading ====================== </p>
</p>

</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">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Files</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</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&#160;
<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.7.4 </small></address>
</body>
</html>