NIfTI-1 Data Format
Introduction
NIfTI-1 is adapted from the widely used ANALYZE™ 7.5 file format. The hope is that older non-NIfTI-aware software that uses the ANALYZE 7.5 format will still be compatible with NIfTI-1. NIfTI-1 uses the "empty space" in the ANALYZE 7.5 header to add several new features. These innovations are summarized in the OHBM poster [PDF], and include
- Affine coordinate definitions relating voxel index (i,j,k) to spatial location (x,y,z);
- Codes to indicate spatio-temporal slice ordering for FMRI;
- "Complete" set of 8-128 bit data types;
- Standardized way to store vector-valued datasets over 1-4 dimensional domains;
- Codes to indicate data "meaning";
- A standardized way to add "extension" data to the header;
- Dual file (.hdr & .img) or single file (.nii) storage;
and many more. The goal is to foster interoperability at the file-exchange level between FMRI data analysis software packages. The authors of AFNI, BrainVoyager, FSL, and SPM have all committed to support this format for both input and output.
Note: The specification is now called NIfTI-1.1, with the finalization of the format for "extension" data, and a few other minor tweaks to the format that took place in early 2005.
Documentation
- Summary
- OHBM Poster (June 2004) [PDF] - A quick introduction to the NIfTI-1.1 Data Format.
- Diagrams of the NIfTI-1.1 file structure [PDF] (Author: Hester Breman)
- Formal Specification
- NIfTI-1 header file - C header file that defines the NIfTI-1.1 format (Author: RW Cox)
- Description of NIfTI-1.1 Fields with links to other useful cross references
- Statistical Codes [PDF] - Documentation for NIfTI-1 statistical codes and sample C library for statistical distributions.
- This file [PDF] shows how different FMRI software packages use the ANALYZE 7.5 fields in the .hdr file. (Deciding what was commonly used in FMRI data analysis was the first step in deciding which parts of the ANALYZE 7.5 format were "empty" and could be reclaimed for other purposes.)
- NIfTI-1.1 FAQ - Frequently Asked Questions (with answers!) - by the Data Format Working Group
Reference Implementation
- NIfTI-1 Source Code Directory with C I/O functions and sample program
- All NIfTI-1 C library code is released into the public domain.
- Sourceforge Project
- All NIfTI-1 C library code is released into the public domain.
- Java Library
- Java I/O Plugins
- Matlab Interface
Test Data Sets
- Test Data - Several valid structural (3D) and functional (4D) files in NIfTI-1.1 format.
Software that supports NIfTI-1.1
- Details of the promised timing and level of support for the NIfTI-1.1 format by major software packages.
- How AFNI supports NIfTI-1.1
- How FreeSurfer supports NIfTI-1.1
- How FSL supports NIFTI-1.1
- How MIPAV supports NIfTI-1.1
- How PLSgui supports NIfTI-1.1
- How SPM supports NIFTI-1.1
- How BrainVoyager supports NIfTI-1.1
- How Caret supports NIfTI-1.1
- Tools supporting NIfTI-1.1 in IATR (This is an external link).