CiftiLib
A C++ library for CIFTI-2 and CIFTI-1 files
|
Public Types | |
enum | OrientTypes { LEFT_TO_RIGHT = 0 , RIGHT_TO_LEFT = 4 , POSTERIOR_TO_ANTERIOR = 1 , ANTERIOR_TO_POSTERIOR = 5 , INFERIOR_TO_SUPERIOR = 2 , SUPERIOR_TO_INFERIOR = 6 } |
Public Member Functions | |
VolumeSpace (const int64_t dims[3], const std::vector< std::vector< float > > &sform) | |
VolumeSpace (const int64_t dims[3], const float sform[12]) | |
void | setSpace (const int64_t dims[3], const std::vector< std::vector< float > > &sform) |
void | setSpace (const int64_t dims[3], const float sform[12]) |
const int64_t * | getDims () const |
const std::vector< std::vector< float > > & | getSform () const |
void | getSpacingVectors (Vector3D &iStep, Vector3D &jStep, Vector3D &kStep, Vector3D &origin) const |
bool | matchesVolumeSpace (const VolumeSpace &right) const |
bool | operator== (const VolumeSpace &right) const |
bool | operator!= (const VolumeSpace &right) const |
bool | isPlumb () const |
returns true if volume space is not skew, and each axis and index is separate | |
void | getOrientAndSpacingForPlumb (OrientTypes *orientOut, float *spacingOut, float *originOut) const |
returns orientation, spacing, and center (spacing/center can be negative, spacing/center is LPI rearranged to ijk (first dimension uses first element), will assert false if isOblique is true) | |
void | getOrientation (OrientTypes orientOut[3]) const |
get just orientation, even for non-plumb volumes | |
template<typename T > | |
void | indexToSpace (const T *indexIn, float *coordOut) const |
returns coordinate triplet of an index triplet | |
template<typename T > | |
void | indexToSpace (const T &indexIn1, const T &indexIn2, const T &indexIn3, float *coordOut) const |
returns coordinate triplet of three indices | |
template<typename T > | |
void | indexToSpace (const T *indexIn, float &coordOut1, float &coordOut2, float &coordOut3) const |
returns three coordinates of an index triplet | |
template<typename T > | |
void | indexToSpace (const T &indexIn1, const T &indexIn2, const T &indexIn3, float &coordOut1, float &coordOut2, float &coordOut3) const |
returns three coordinates of three indices | |
void | spaceToIndex (const float *coordIn, float *indexOut) const |
returns floating point index triplet of a given coordinate triplet | |
void | spaceToIndex (const float &coordIn1, const float &coordIn2, const float &coordIn3, float *indexOut) const |
returns floating point index triplet of three given coordinates | |
void | spaceToIndex (const float *coordIn, float &indexOut1, float &indexOut2, float &indexOut3) const |
returns three floating point indexes of a given coordinate triplet | |
void | spaceToIndex (const float &coordIn1, const float &coordIn2, const float &coordIn3, float &indexOut1, float &indexOut2, float &indexOut3) const |
returns three floating point indexes of three given coordinates | |
void | enclosingVoxel (const float *coordIn, int64_t *indexOut) const |
returns integer index triplet of voxel whose center is closest to the coordinate triplet | |
void | enclosingVoxel (const float &coordIn1, const float &coordIn2, const float &coordIn3, int64_t *indexOut) const |
returns integer index triplet of voxel whose center is closest to the three coordinates | |
void | enclosingVoxel (const float *coordIn, int64_t &indexOut1, int64_t &indexOut2, int64_t &indexOut3) const |
returns integer indexes of voxel whose center is closest to the coordinate triplet | |
void | enclosingVoxel (const float &coordIn1, const float &coordIn2, const float &coordIn3, int64_t &indexOut1, int64_t &indexOut2, int64_t &indexOut3) const |
returns integer indexes of voxel whose center is closest to the three coordinates | |
template<typename T > | |
bool | indexValid (const T *indexIn) const |
bool | indexValid (const int64_t &indexIn1, const int64_t &indexIn2, const int64_t &indexIn3) const |
checks if an index is within array dimensions | |
int64_t | getIndex (const int64_t &indexIn1, const int64_t &indexIn2, const int64_t &indexIn3) const |
template<typename T > | |
int64_t | getIndex (const T *indexIn) const |
void | readCiftiXML1 (XmlReader &xml) |
void | readCiftiXML2 (XmlReader &xml) |
void | writeCiftiXML1 (XmlWriter &xml) const |
void | writeCiftiXML2 (XmlWriter &xml) const |