Diffusion MRI: Difference between revisions
| Line 15: | Line 15: | ||
==NIfTI== | ==NIfTI== | ||
Files ending in <tt>'''.nii'''</tt> are in the NIfTI medical image format; it is becoming a standard export format for many different software packages, including [http://www.fmrib.ox.ac.uk/fsl/ FSL]. <tt>.nii</tt> files combine the metadata header and image data into a single file, but NIfTI is a modified form of Analyze 7.5, so it sometimes comes in <tt>.hdr</tt>/<tt>.img</tt> pairs. You can test for the format by using the <code>is_nifti_file()</code> function in the I/O wrapper library. | Files ending in <tt>'''.nii'''</tt> are in the [http://nifti.nimh.nih.gov/nifti-1 NIfTI medical image format]; it is becoming a standard export format for many different software packages, including [http://www.fmrib.ox.ac.uk/fsl/ FSL]. <tt>.nii</tt> files combine the metadata header and image data into a single file, but NIfTI-1 is a modified form of Analyze 7.5, so it sometimes comes in <tt>.hdr</tt>/<tt>.img</tt> pairs. You can test for the format by using the <code>is_nifti_file()</code> function in the I/O wrapper library. | ||
The | The format was created by the [http://nifti.nimh.nih.gov Neuroimaging Informatics Technology Initiative] at NIH. It is a superset of Analyze 7.5, re-purposing empty fields in the Analyze format to support more features. Fortunately for us, the NIfTI reference library is available in the public domain, and <code>$G/src/nifti</code> is set up to download the latest version (with <code>make download</code>), build it, and install it in <code>$G/lib/nifti</code> and <code>$G/include/nifti</code>. You might also try snooping around <code>$G/doc/nifti</code> to see what they have to say in their documentation. <code>$G/src/nifti2mriimage/nifti2mriimage.cpp</code> demonstrates reading the header and extracting information from it, as well as reading the image data. | ||
To use the NIfTI I/O wrapper library, simply <code>#include <nifti1_io.h></code> in your code and add the following to the library list in your makefile: <code>niftiio znz m z</code>. | To use the NIfTI I/O wrapper library, simply <code>#include <nifti1_io.h></code> in your code and add the following to the library list in your makefile: <code>niftiio znz m z</code>. | ||
From the command line or shell scripts, the <code>nifti_tool</code> utility is pretty powerful and can read the header in a structured way. | |||
The online documentation for NIfTI is also pretty sweet: | The online documentation for NIfTI is also pretty sweet: | ||
Revision as of 14:07, 28 July 2008
Data
Software
File Formats
DICOM
DICOM Mosaic
Analyze
NIfTI
Files ending in .nii are in the NIfTI medical image format; it is becoming a standard export format for many different software packages, including FSL. .nii files combine the metadata header and image data into a single file, but NIfTI-1 is a modified form of Analyze 7.5, so it sometimes comes in .hdr/.img pairs. You can test for the format by using the is_nifti_file() function in the I/O wrapper library.
The format was created by the Neuroimaging Informatics Technology Initiative at NIH. It is a superset of Analyze 7.5, re-purposing empty fields in the Analyze format to support more features. Fortunately for us, the NIfTI reference library is available in the public domain, and $G/src/nifti is set up to download the latest version (with make download), build it, and install it in $G/lib/nifti and $G/include/nifti. You might also try snooping around $G/doc/nifti to see what they have to say in their documentation. $G/src/nifti2mriimage/nifti2mriimage.cpp demonstrates reading the header and extracting information from it, as well as reading the image data.
To use the NIfTI I/O wrapper library, simply #include <nifti1_io.h> in your code and add the following to the library list in your makefile: niftiio znz m z.
From the command line or shell scripts, the nifti_tool utility is pretty powerful and can read the header in a structured way.
The online documentation for NIfTI is also pretty sweet: