20 #ifndef MIRTK_NiftiImageInfo_H    21 #define MIRTK_NiftiImageInfo_H    23 #include "mirtk/String.h"    24 #include "mirtk/Matrix.h"    36   NIFTI_TYPE_FLOAT32    =   16,
    37   NIFTI_TYPE_COMPLEX64  =   32,
    38   NIFTI_TYPE_FLOAT64    =   64,
    39   NIFTI_TYPE_RGB24      =  128,
    40   NIFTI_TYPE_INT8       =  256,
    41   NIFTI_TYPE_UINT16     =  512,
    42   NIFTI_TYPE_UINT32     =  768,
    43   NIFTI_TYPE_INT64      = 1024,
    44   NIFTI_TYPE_UINT64     = 1280,
    45   NIFTI_TYPE_FLOAT128   = 1536,
    46   NIFTI_TYPE_COMPLEX128 = 1792,
    47   NIFTI_TYPE_COMPLEX256 = 2048,
    48   NIFTI_TYPE_RGBA32     = 2304
    54   NIFTI_INTENT_NONE         =    0,
    55   NIFTI_FIRST_STATCODE      =    2,
    56   NIFTI_INTENT_CORREL       =    2,
    57   NIFTI_INTENT_TTEST        =    3,
    58   NIFTI_INTENT_FTEST        =    4,
    59   NIFTI_INTENT_ZSCORE       =    5,
    60   NIFTI_INTENT_CHISQ        =    6,
    61   NIFTI_INTENT_BETA         =    7,
    62   NIFTI_INTENT_BINOM        =    8,
    63   NIFTI_INTENT_GAMMA        =    9,
    64   NIFTI_INTENT_POISSON      =   10,
    65   NIFTI_INTENT_NORMAL       =   11,
    66   NIFTI_INTENT_FTEST_NONC   =   12,
    67   NIFTI_INTENT_CHISQ_NONC   =   13,
    68   NIFTI_INTENT_LOGISTIC     =   14,
    69   NIFTI_INTENT_LAPLACE      =   15,
    70   NIFTI_INTENT_UNIFORM      =   16,
    71   NIFTI_INTENT_TTEST_NONC   =   17,
    72   NIFTI_INTENT_WEIBULL      =   18,
    73   NIFTI_INTENT_CHI          =   19,
    74   NIFTI_INTENT_INVGAUSS     =   20,
    75   NIFTI_INTENT_EXTVAL       =   21,
    76   NIFTI_INTENT_PVAL         =   22,
    77   NIFTI_INTENT_LOGPVAL      =   23,
    78   NIFTI_INTENT_LOG10PVAL    =   24,
    79   NIFTI_LAST_STATCODE       =   24,
    80   NIFTI_INTENT_ESTIMATE     = 1001,
    81   NIFTI_INTENT_LABEL        = 1002,
    82   NIFTI_INTENT_NEURONAME    = 1003,
    83   NIFTI_INTENT_GENMATRIX    = 1004,
    84   NIFTI_INTENT_SYMMATRIX    = 1005,
    85   NIFTI_INTENT_DISPVECT     = 1006,
    86   NIFTI_INTENT_VECTOR       = 1007,
    87   NIFTI_INTENT_POINTSET     = 1008,
    88   NIFTI_INTENT_TRIANGLE     = 1009,
    89   NIFTI_INTENT_QUATERNION   = 1010,
    90   NIFTI_INTENT_DIMLESS      = 1011,
    91   NIFTI_INTENT_TIME_SERIES  = 2001,
    92   NIFTI_INTENT_NODE_INDEX   = 2002,
    93   NIFTI_INTENT_RGB_VECTOR   = 2003,
    94   NIFTI_INTENT_RGBA_VECTOR  = 2004,
    95   NIFTI_INTENT_SHAPE        = 2005
   201 #endif // MIRTK_NiftiImageInfo_H string fname
header filename (.hdr or .nii) 
string descrip
optional text to describe dataset 
string intent_name
optional description of intent data 
double slice_duration
time between individual slices 
NiftiImageInfo(const char *=nullptr)
Constructor, reads header from NIfTI image file. 
NiftiIntent
NIfTI intent codes, to describe intended meaning of dataset contents. 
int nv
dimensions of grid array 
double cal_min
calibration parameter, minimum 
Matrix sto_ijk
sform: transform (x,y,z) to (i,j,k) 
int slice_end
index for end of slices 
int qform_code
codes for (x,y,z) space meaning 
int nu
dimensions of grid array 
int nw
dimensions of grid array 
int swapsize
swap unit in image data (might be 0) 
Arbitrary coordinates (Method 1) 
double scl_inter
scaling parameter - intercept 
double intent_p2
intent parameters 
MNI 152 normalized coordinates. 
int slice_code
code for slice timing pattern 
Matrix qto_xyz
qform: transform (i,j,k) to (x,y,z) 
NIFTI code for radians per second. 
int xyz_units
dx,dy,dz units: NIFTI_UNITS_* code 
int iname_offset
offset into iname where data starts 
Matrix sto_xyz
sform: transform (i,j,k) to (x,y,z) 
int slice_start
index for start of slices 
string aux_file
auxiliary filename 
double toffset
time coordinate offset 
NIFTI code for millimeters. 
double intent_p1
intent parameters 
int ndim
last dimension greater than 1 (1..7) 
size_t nvox
number of voxels = nx*ny*nz*...*nw 
Matrix qto_ijk
qform: transform (x,y,z) to (i,j,k) 
int ny
dimensions of grid array 
int time_units
dt units: NIFTI_UNITS_* code 
NiftiXForm
NIfTI xform codes to describe the "standard" coordinate system. 
int intent_code
statistic type (or something) 
int nx
dimensions of grid array 
string ToString(const EnergyMeasure &value, int w, char c, bool left)
Convert energy measure enumeration value to string. 
double intent_p3
intent parameters 
bool FromString(const char *str, EnergyMeasure &value)
Convert energy measure string to enumeration value. 
double cal_max
calibration parameter, maximum 
double scl_slope
scaling parameter - slope 
NIFTI code for microseconds. 
Scanner-based anatomical coordinates. 
int sform_code
codes for (x,y,z) space meaning 
string iname
image filename (.img or .nii) 
int nz
dimensions of grid array 
int byteorder
byte order on disk (MSB_ or LSB_FIRST) 
NIFTI code for unspecified units. 
int datatype
type of data in voxels: DT_* code 
int nt
dimensions of grid array 
NiftiDataType
NIfTI datatype codes. 
int nbyper
bytes per voxel, matches datatype 
NIFTI code for micrometers. 
NIFTI code for milliseconds.