v2.0.0
Loading...
Searching...
No Matches
MRILIB::MriSlicer Class Reference

MRI volume slicer. More...

#include <mri_slicer.h>

Static Public Member Functions

static MriSliceImage extractSlice (const QVector< float > &volData, const QVector< int > &dims, const Eigen::Matrix4f &vox2ras, SliceOrientation orientation, int sliceIndex)
static QVector< MriSliceImageextractOrthogonal (const QVector< float > &volData, const QVector< int > &dims, const Eigen::Matrix4f &vox2ras, const Eigen::Vector3f &rasPoint)
static Eigen::Vector3i rasToVoxel (const Eigen::Matrix4f &vox2ras, const Eigen::Vector3f &rasPoint)
static Eigen::Vector3f voxelToRas (const Eigen::Matrix4f &vox2ras, const Eigen::Vector3i &voxel)
static MriSliceImage extractSlice (const MriVolData &vol, SliceOrientation orientation, int sliceIndex)
static QVector< MriSliceImageextractOrthogonal (const MriVolData &vol, const Eigen::Vector3f &rasPoint)
static Eigen::Vector3i rasToVoxel (const MriVolData &vol, const Eigen::Vector3f &rasPoint)
static Eigen::Vector3f voxelToRas (const MriVolData &vol, const Eigen::Vector3i &voxel)

Detailed Description

MRI volume slicer.

Provides static methods for extracting 2D slices from 3D MRI volumes.

Supports axial, coronal, and sagittal slice extraction with automatic normalisation and RAS coordinate mapping.

Definition at line 99 of file mri_slicer.h.

Member Function Documentation

◆ extractOrthogonal() [1/2]

QVector< MriSliceImage > MRILIB::MriSlicer::extractOrthogonal ( const MriVolData & vol,
const Eigen::Vector3f & rasPoint )
static

Extract all three orthogonal slices at a given RAS point.

Parameters
[in]volLoaded MRI volume.
[in]rasPointRAS coordinate to slice through.
Returns
Vector of three MriSliceImage (axial, coronal, sagittal).

◆ extractOrthogonal() [2/2]

QVector< MriSliceImage > MRILIB::MriSlicer::extractOrthogonal ( const QVector< float > & volData,
const QVector< int > & dims,
const Eigen::Matrix4f & vox2ras,
const Eigen::Vector3f & rasPoint )
static

Extract all three orthogonal slices at a given RAS point.

Parameters
[in]volDataFlat array of voxel intensities.
[in]dimsVolume dimensions {dimX, dimY, dimZ}.
[in]vox2ras4x4 voxel-to-RAS transform.
[in]rasPointRAS coordinate to slice through.
Returns
Vector of three MriSliceImage (axial, coronal, sagittal).

◆ extractSlice() [1/2]

MriSliceImage MriSlicer::extractSlice ( const MriVolData & vol,
SliceOrientation orientation,
int sliceIndex )
static

Extract a 2D slice from an MriVolData volume.

Parameters
[in]volLoaded MRI volume.
[in]orientationSlice orientation.
[in]sliceIndexIndex along the slicing axis.
Returns
The extracted slice image.

Definition at line 212 of file mri_slicer.cpp.

◆ extractSlice() [2/2]

MriSliceImage MRILIB::MriSlicer::extractSlice ( const QVector< float > & volData,
const QVector< int > & dims,
const Eigen::Matrix4f & vox2ras,
SliceOrientation orientation,
int sliceIndex )
static

Extract a 2D slice from a 3D volume stored as a flat array.

Parameters
[in]volDataFlat array of voxel intensities (dimX x dimY x dimZ, x-fastest).
[in]dimsVolume dimensions {dimX, dimY, dimZ}.
[in]vox2ras4x4 voxel-to-RAS transform.
[in]orientationSlice orientation (Axial, Coronal, or Sagittal).
[in]sliceIndexIndex along the slicing axis.
Returns
The extracted slice image.

◆ rasToVoxel() [1/2]

Eigen::Vector3i MRILIB::MriSlicer::rasToVoxel ( const Eigen::Matrix4f & vox2ras,
const Eigen::Vector3f & rasPoint )
static

Convert RAS coordinate to voxel index.

Parameters
[in]vox2ras4x4 voxel-to-RAS transform.
[in]rasPointRAS coordinate.
Returns
Voxel index (rounded to nearest integer).

◆ rasToVoxel() [2/2]

Eigen::Vector3i MRILIB::MriSlicer::rasToVoxel ( const MriVolData & vol,
const Eigen::Vector3f & rasPoint )
static

Convert RAS coordinate to voxel index using a volume's transform.

Parameters
[in]volLoaded MRI volume.
[in]rasPointRAS coordinate.
Returns
Voxel index (rounded to nearest integer).

◆ voxelToRas() [1/2]

Eigen::Vector3f MRILIB::MriSlicer::voxelToRas ( const Eigen::Matrix4f & vox2ras,
const Eigen::Vector3i & voxel )
static

Convert voxel index to RAS coordinate.

Parameters
[in]vox2ras4x4 voxel-to-RAS transform.
[in]voxelVoxel index.
Returns
RAS coordinate.

◆ voxelToRas() [2/2]

Eigen::Vector3f MRILIB::MriSlicer::voxelToRas ( const MriVolData & vol,
const Eigen::Vector3i & voxel )
static

Convert voxel index to RAS coordinate using a volume's transform.

Parameters
[in]volLoaded MRI volume.
[in]voxelVoxel index.
Returns
RAS coordinate.

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