nifti1_io
Loading...
Searching...
No Matches
nifti1.h File Reference

Official definition of the nifti1 header. Written by Bob Cox, SSCC, NIMH. More...

Go to the source code of this file.

Classes

struct  nifti_1_header
 Data structure defining the fields in the nifti1 header. This binary header should be found at the beginning of a valid NIFTI-1 header file. More...
 
struct  nifti1_extender
 This structure represents a 4-byte string that should follow the binary nifti_1_header data in a NIFTI-1 header file. If the char values are {1,0,0,0}, the file is expected to contain extensions, values of {0,0,0,0} imply the file does not contain extensions. Other sequences of values are not currently defined. More...
 
struct  nifti1_extension
 Data structure defining the fields of a header extension. More...
 

Macros

#define DT_NONE   0
 
#define DT_UNKNOWN   0 /* what it says, dude */
 
#define DT_BINARY   1 /* binary (1 bit/voxel) */
 
#define DT_UNSIGNED_CHAR   2 /* unsigned char (8 bits/voxel) */
 
#define DT_SIGNED_SHORT   4 /* signed short (16 bits/voxel) */
 
#define DT_SIGNED_INT   8 /* signed int (32 bits/voxel) */
 
#define DT_FLOAT   16 /* float (32 bits/voxel) */
 
#define DT_COMPLEX   32 /* complex (64 bits/voxel) */
 
#define DT_DOUBLE   64 /* double (64 bits/voxel) */
 
#define DT_RGB   128 /* RGB triple (24 bits/voxel) */
 
#define DT_ALL   255 /* not very useful (?) */
 
#define DT_UINT8   2
 
#define DT_INT16   4
 
#define DT_INT32   8
 
#define DT_FLOAT32   16
 
#define DT_COMPLEX64   32
 
#define DT_FLOAT64   64
 
#define DT_RGB24   128
 
#define DT_INT8   256 /* signed char (8 bits) */
 
#define DT_UINT16   512 /* unsigned short (16 bits) */
 
#define DT_UINT32   768 /* unsigned int (32 bits) */
 
#define DT_INT64   1024 /* long long (64 bits) */
 
#define DT_UINT64   1280 /* unsigned long long (64 bits) */
 
#define DT_FLOAT128   1536 /* long double (128 bits) */
 
#define DT_COMPLEX128   1792 /* double pair (128 bits) */
 
#define DT_COMPLEX256   2048 /* long double pair (256 bits) */
 
#define DT_RGBA32   2304 /* 4 byte RGBA (32 bits/voxel) */
 
#define NIFTI_TYPE_UINT8   2
 
#define NIFTI_TYPE_INT16   4
 
#define NIFTI_TYPE_INT32   8
 
#define NIFTI_TYPE_FLOAT32   16
 
#define NIFTI_TYPE_COMPLEX64   32
 
#define NIFTI_TYPE_FLOAT64   64
 
#define NIFTI_TYPE_RGB24   128
 
#define NIFTI_TYPE_INT8   256
 
#define NIFTI_TYPE_UINT16   512
 
#define NIFTI_TYPE_UINT32   768
 
#define NIFTI_TYPE_INT64   1024
 
#define NIFTI_TYPE_UINT64   1280
 
#define NIFTI_TYPE_FLOAT128   1536
 
#define NIFTI_TYPE_COMPLEX128   1792
 
#define NIFTI_TYPE_COMPLEX256   2048
 
#define NIFTI_TYPE_RGBA32   2304
 
#define NIFTI_INTENT_NONE   0
 
#define NIFTI_INTENT_CORREL   2
 
#define NIFTI_INTENT_TTEST   3
 
#define NIFTI_INTENT_FTEST   4
 
#define NIFTI_INTENT_ZSCORE   5
 
#define NIFTI_INTENT_CHISQ   6
 
#define NIFTI_INTENT_BETA   7
 
#define NIFTI_INTENT_BINOM   8
 
#define NIFTI_INTENT_GAMMA   9
 
#define NIFTI_INTENT_POISSON   10
 
#define NIFTI_INTENT_NORMAL   11
 
#define NIFTI_INTENT_FTEST_NONC   12
 
#define NIFTI_INTENT_CHISQ_NONC   13
 
#define NIFTI_INTENT_LOGISTIC   14
 
#define NIFTI_INTENT_LAPLACE   15
 
#define NIFTI_INTENT_UNIFORM   16
 
#define NIFTI_INTENT_TTEST_NONC   17
 
#define NIFTI_INTENT_WEIBULL   18
 
#define NIFTI_INTENT_CHI   19
 
#define NIFTI_INTENT_INVGAUSS   20
 
#define NIFTI_INTENT_EXTVAL   21
 
#define NIFTI_INTENT_PVAL   22
 
#define NIFTI_INTENT_LOGPVAL   23
 
#define NIFTI_INTENT_LOG10PVAL   24
 
#define NIFTI_FIRST_STATCODE   2
 
#define NIFTI_LAST_STATCODE   24
 
#define NIFTI_INTENT_ESTIMATE   1001
 
#define NIFTI_INTENT_LABEL   1002
 
#define NIFTI_INTENT_NEURONAME   1003
 
#define NIFTI_INTENT_GENMATRIX   1004
 
#define NIFTI_INTENT_SYMMATRIX   1005
 
#define NIFTI_INTENT_DISPVECT   1006 /* specifically for displacements */
 
#define NIFTI_INTENT_VECTOR   1007 /* for any other type of vector */
 
#define NIFTI_INTENT_POINTSET   1008
 
#define NIFTI_INTENT_TRIANGLE   1009
 
#define NIFTI_INTENT_QUATERNION   1010
 
#define NIFTI_INTENT_DIMLESS   1011
 
#define NIFTI_INTENT_TIME_SERIES   2001
 
#define NIFTI_INTENT_NODE_INDEX   2002
 
#define NIFTI_INTENT_RGB_VECTOR   2003
 
#define NIFTI_INTENT_RGBA_VECTOR   2004
 
#define NIFTI_INTENT_SHAPE   2005
 
#define NIFTI_XFORM_UNKNOWN   0
 
#define NIFTI_XFORM_SCANNER_ANAT   1
 
#define NIFTI_XFORM_ALIGNED_ANAT   2
 
#define NIFTI_XFORM_TALAIRACH   3
 
#define NIFTI_XFORM_MNI_152   4
 
#define NIFTI_UNITS_UNKNOWN   0
 
#define NIFTI_UNITS_METER   1
 
#define NIFTI_UNITS_MM   2
 
#define NIFTI_UNITS_MICRON   3
 
#define NIFTI_UNITS_SEC   8
 
#define NIFTI_UNITS_MSEC   16
 
#define NIFTI_UNITS_USEC   24
 
#define NIFTI_UNITS_HZ   32
 
#define NIFTI_UNITS_PPM   40
 
#define NIFTI_UNITS_RADS   48
 
#define XYZT_TO_SPACE(xyzt)   ( (xyzt) & 0x07 )
 
#define XYZT_TO_TIME(xyzt)   ( (xyzt) & 0x38 )
 
#define SPACE_TIME_TO_XYZT(ss, tt)
 
#define DIM_INFO_TO_FREQ_DIM(di)   ( ((di) ) & 0x03 )
 
#define DIM_INFO_TO_PHASE_DIM(di)   ( ((di) >> 2) & 0x03 )
 
#define DIM_INFO_TO_SLICE_DIM(di)   ( ((di) >> 4) & 0x03 )
 
#define FPS_INTO_DIM_INFO(fd, pd, sd)
 
#define NIFTI_SLICE_UNKNOWN   0
 
#define NIFTI_SLICE_SEQ_INC   1
 
#define NIFTI_SLICE_SEQ_DEC   2
 
#define NIFTI_SLICE_ALT_INC   3
 
#define NIFTI_SLICE_ALT_DEC   4
 
#define NIFTI_SLICE_ALT_INC2   5 /* 05 May 2005: RWCox */
 
#define NIFTI_SLICE_ALT_DEC2   6 /* 05 May 2005: RWCox */
 
#define NIFTI_VERSION(h)
 
#define NIFTI_ONEFILE(h)   ( (h).magic[1] == '+' )
 
#define NIFTI_NEEDS_SWAP(h)   ( (h).dim[0] < 0 || (h).dim[0] > 7 )
 
#define NIFTI_5TH_DIM(h)   ( ((h).dim[0]>4 && (h).dim[5]>1) ? (h).dim[5] : 0 )
 

Typedefs

typedef struct nifti_1_header nifti_1_header
 
typedef struct nifti1_extender nifti1_extender
 
typedef struct nifti1_extension nifti1_extension
 

Detailed Description

Official definition of the nifti1 header. Written by Bob Cox, SSCC, NIMH.

HISTORY:

29 Nov 2007 [rickr]
   - added DT_RGBA32 and NIFTI_TYPE_RGBA32
   - added NIFTI_INTENT codes:
        TIME_SERIES, NODE_INDEX, RGB_VECTOR, RGBA_VECTOR, SHAPE