v2.0.0
Loading...
Searching...
No Matches
FIFFLIB::FiffCoordTransSet Class Reference

The chain of transforms from MEG head coordinates to MNI and FreeSurfer Talairach coordinates. More...

#include <fiff_coord_trans_set.h>

Public Types

using SPtr = QSharedPointer<FiffCoordTransSet>
using ConstSPtr = QSharedPointer<const FiffCoordTransSet>
using UPtr = std::unique_ptr<FiffCoordTransSet>
using ConstUPtr = std::unique_ptr<const FiffCoordTransSet>

Public Member Functions

bool addTalairach (const QString &xfmPath)
int read (const QString &path)
void write (FiffStream &stream) const
Eigen::MatrixX3f headToMni (const Eigen::MatrixX3f &rr) const
Eigen::MatrixX3f mniToTalairach (const Eigen::MatrixX3f &rr) const

Static Public Member Functions

static FiffCoordTrans readMniTransform (const QString &path)

Public Attributes

FiffCoordTrans head_surf_RAS_t
FiffCoordTrans surf_RAS_RAS_t
FiffCoordTrans RAS_MNI_tal_t
FiffCoordTrans MNI_tal_tal_gtz_t
FiffCoordTrans MNI_tal_tal_ltz_t

Detailed Description

The chain of transforms from MEG head coordinates to MNI and FreeSurfer Talairach coordinates.

Head -> surface RAS (the FreeSurfer MRI frame) comes from the coregistration, surface RAS -> scanner RAS from the centre (c_ras) of the subject's MRI, scanner RAS -> MNI Talairach from mri/transforms/talairach.xfm, and MNI -> FreeSurfer Talairach from the fixed Brett approximations MNE-C uses (one matrix above and one below the AC-PC plane). Empty transforms mark links that are not known.

Definition at line 68 of file fiff_coord_trans_set.h.

Member Typedef Documentation

◆ ConstSPtr

Const shared pointer type for FiffCoordTransSet.

Definition at line 72 of file fiff_coord_trans_set.h.

◆ ConstUPtr

Const unique pointer type for FiffCoordTransSet.

Definition at line 74 of file fiff_coord_trans_set.h.

◆ SPtr

Shared pointer type for FiffCoordTransSet.

Definition at line 71 of file fiff_coord_trans_set.h.

◆ UPtr

Unique pointer type for FiffCoordTransSet.

Definition at line 73 of file fiff_coord_trans_set.h.

Member Function Documentation

◆ addTalairach()

bool FiffCoordTransSet::addTalairach ( const QString & xfmPath)

Sets the RAS -> MNI transform from a .xfm file and the two MNI -> FreeSurfer Talairach transforms (MNE-C mne_mri_add_talairach_transforms).

Parameters
[in]xfmPathPath to the talairach.xfm file.
Returns
True if the .xfm file could be read.

Definition at line 84 of file fiff_coord_trans_set.cpp.

◆ headToMni()

MatrixX3f FiffCoordTransSet::headToMni ( const Eigen::MatrixX3f & rr) const

Maps MEG head coordinates to MNI Talairach coordinates, as mne.head_to_mni does.

Parameters
[in]rrPoints in head coordinates (metres), one per row.
Returns
The points in MNI Talairach coordinates (metres), or an empty matrix if a link of the chain is missing.

Definition at line 156 of file fiff_coord_trans_set.cpp.

◆ mniToTalairach()

MatrixX3f FiffCoordTransSet::mniToTalairach ( const Eigen::MatrixX3f & rr) const

Maps MNI Talairach coordinates to FreeSurfer Talairach coordinates, using the transform for points above or below the AC-PC plane (MNI z > 0 or not).

Parameters
[in]rrPoints in MNI Talairach coordinates (metres), one per row.
Returns
The points in FreeSurfer Talairach coordinates (metres), or an empty matrix if the transforms are missing.

Definition at line 166 of file fiff_coord_trans_set.cpp.

◆ read()

int FiffCoordTransSet::read ( const QString & path)

Takes every transform of the chain stored in a FIFF file, such as a -trans.fif file or a COR.fif MRI set (MNE-C mne_collect_transforms). Transforms already in the set are replaced, so read the MRI set first and the coregistration last.

Parameters
[in]pathFIFF file path.
Returns
The number of transforms taken from the file, or -1 if the file cannot be opened.

Definition at line 103 of file fiff_coord_trans_set.cpp.

◆ readMniTransform()

FiffCoordTrans FiffCoordTransSet::readMniTransform ( const QString & path)
static

Reads the scanner RAS -> MNI Talairach transform of a FreeSurfer/MNI .xfm file (MNE-C read_mni_coord_transform_file).

Parameters
[in]pathPath to the .xfm file, usually mri/transforms/talairach.xfm in the subject directory.
Returns
The transform in metres, or an empty transform if the file holds no linear transform.

Definition at line 48 of file fiff_coord_trans_set.cpp.

◆ write()

void FiffCoordTransSet::write ( FiffStream & stream) const

Writes every non-empty transform, head -> MRI first.

Parameters
[in]streamAn open FIFF stream.

Definition at line 145 of file fiff_coord_trans_set.cpp.

Member Data Documentation

◆ head_surf_RAS_t

FiffCoordTrans FIFFLIB::FiffCoordTransSet::head_surf_RAS_t

Transform from MEG head coordinates to surface RAS.

Definition at line 139 of file fiff_coord_trans_set.h.

◆ MNI_tal_tal_gtz_t

FiffCoordTrans FIFFLIB::FiffCoordTransSet::MNI_tal_tal_gtz_t

Transform MNI Talairach to FreeSurfer Talairach coordinates (z > 0).

Definition at line 142 of file fiff_coord_trans_set.h.

◆ MNI_tal_tal_ltz_t

FiffCoordTrans FIFFLIB::FiffCoordTransSet::MNI_tal_tal_ltz_t

Transform MNI Talairach to FreeSurfer Talairach coordinates (z < 0).

Definition at line 143 of file fiff_coord_trans_set.h.

◆ RAS_MNI_tal_t

FiffCoordTrans FIFFLIB::FiffCoordTransSet::RAS_MNI_tal_t

Transform from RAS (nonzero origin) to MNI Talairach coordinates.

Definition at line 141 of file fiff_coord_trans_set.h.

◆ surf_RAS_RAS_t

FiffCoordTrans FIFFLIB::FiffCoordTransSet::surf_RAS_RAS_t

Transform from surface RAS to RAS (nonzero origin) coordinates.

Definition at line 140 of file fiff_coord_trans_set.h.


The documentation for this class was generated from the following files: