67,
x_ras(-1.0f, 0.0f, 0.0f)
68,
y_ras( 0.0f, 0.0f, -1.0f)
69,
z_ras( 0.0f, 1.0f, 0.0f)
70,
c_ras( 0.0f, 0.0f, 0.0f)
90 QVector<FIFFLIB::FiffCoordTrans> additionalTrans;
104 for (
int k = 0; k <
depth && k <
slices.size(); ++k) {
106 int offset = k * nPixels;
110 for (
int p = 0; p < qMin(nPixels, slice.
pixels.size()); ++p)
111 result[offset + p] =
static_cast<float>(slice.
pixels[p]);
114 for (
int p = 0; p < qMin(nPixels, slice.
pixelsWord.size()); ++p)
115 result[offset + p] =
static_cast<float>(slice.
pixelsWord[p]);
118 for (
int p = 0; p < qMin(nPixels, slice.
pixelsFloat.size()); ++p)
159 Vector3f center(
static_cast<float>(
width) / 2.0f,
160 static_cast<float>(
height) / 2.0f,
161 static_cast<float>(
depth) / 2.0f);
164 Vector3f P0 =
c_ras - M * center;
167 Matrix4f vox2ras = Matrix4f::Identity();
168 vox2ras.block<3, 3>(0, 0) = M / 1000.0f;
169 vox2ras.block<3, 1>(0, 3) = P0 / 1000.0f;
MriMghIO class declaration.
MriVolData class declaration.
Header file describing the numerical values used in fif files.
#define FIFFV_MRI_PIXEL_BYTE
#define FIFFV_MRI_PIXEL_FLOAT
#define FIFFV_MRI_PIXEL_WORD
MRI volume and coordinate-system I/O (volumes, voxel geometry, transforms).
constexpr int MRI_MGH_VERSION
static bool read(const QString &mgzFile, MriVolData &volData, QVector< FIFFLIB::FiffCoordTrans > &additionalTrans, const QString &subjectMriDir=QString(), bool verbose=false)
QVector< unsigned char > pixels
QVector< unsigned short > pixelsWord
QVector< float > pixelsFloat
bool read(const QString &path)
QVector< MriSlice > slices
Eigen::Matrix4f computeVox2Ras() const
QVector< float > voxelDataAsFloat() const