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.