CortidQCT  1.2.2.52
Namespaces | Classes | Typedefs | Functions
CortidQCT Namespace Reference

Name namespace for CortidQCT library. More...

Namespaces

 ColorToLabelMaps
 Namespace containing color to label maps.
 
 IO
 Namespace for IO helper functions.
 
 LabelToColorMaps
 Namespace containing label to color maps.
 

Classes

struct  BarycentricPoint
 BarycentricPoint data type. Represents a points on triangulation in barycentric coordinates. More...
 
struct  Coordinate3D
 
struct  DiscreteRange
 Type representing a discrete closed, stridable range. More...
 
struct  MartrixIOWrapper
 Wrapper for Eigen matrices to support IO. More...
 
class  MeasurementModel
 Type representing the measurement model. More...
 
class  Mesh
 A triangle mesh class. More...
 
class  MeshFitter
 
class  ModelSampler
 
struct  Ray
 A basic ray datatype. More...
 
struct  RayMeshIntersection
 
class  VolumeSampler
 
struct  VolumeSize
 Size type for a 3D voxel. More...
 
struct  VoxelSize
 Size type for a 3D voxel. More...
 
class  VoxelVolume
 Type representing a voxel volume. More...
 

Typedefs

using ColorRGB = std::array< std::uint8_t, 3 >
 24-bit RGB color type
 
template<class Label , class Scalar >
using ColorToLabelMap = std::function< Label(Scalar, Scalar, Scalar)>
 Color to label map. More...
 
using DiscreteRangef = DiscreteRange< float >
 Alias for float valued ranges.
 
using DiscreteRanged = DiscreteRange< double >
 Alias for double valued ranges.
 
using DiescreteRangei = DiscreteRange< int >
 Alias for integer value ranges.
 
template<class Scalar , class Label >
using LabelToColorMap = std::function< std::array< Scalar, 3 >(Label)>
 Label to color map. More...
 
using Rayd = Ray< double >
 Alias for double precision rays.
 
using Rayf = Ray< float >
 Lias for single precision rays.
 

Functions

template<class T >
constexpr DiscreteRange< T > discreteRange (T min, T max, T stride) noexcept
 Convenient creator function.
 
template<class T >
constexpr DiscreteRange< T > discreteRange (T min, T max) noexcept
 Convenient creator function.
 
template<class MatrixType >
MartrixIOWrapper< MatrixType > io (Eigen::MatrixBase< MatrixType > &matrix)
 
template<class MatrixType >
MartrixIOWrapper< MatrixType > io (Eigen::MatrixBase< MatrixType > const &matrix)
 
template<class DerivedV , class DerivedN >
Eigen::Matrix< typename DerivedV::Scalar, Eigen::Dynamic, 3 > samplingPoints (Eigen::MatrixBase< DerivedV > const &V, Eigen::MatrixBase< DerivedN > const &N, MeasurementModel const &model)
 Returns a matrix containing positions to sample a voxel volume at. More...
 

Detailed Description

Name namespace for CortidQCT library.

Typedef Documentation

template<class Label , class Scalar >
using CortidQCT::ColorToLabelMap = typedef std::function<Label(Scalar, Scalar, Scalar)>

Color to label map.

A function mapping 3-component floating point RGB colors to integer labels. Takes three arguments of type Scalar: red, green, blue, Must return a label of type Label.

Template Parameters
LabelLabel type
ScalarScalar type of color components
template<class Scalar , class Label >
using CortidQCT::LabelToColorMap = typedef std::function<std::array<Scalar, 3>(Label)>

Label to color map.

A function mapping an integer label to a 3-component floating point RGB color. Takes the label as an argument and returns a std::array<Scalar, 3> RGB color.

Template Parameters
ScalarScalar type of color components
LabelLabel type

Function Documentation

template<class MatrixType >
MartrixIOWrapper<MatrixType> CortidQCT::io ( Eigen::MatrixBase< MatrixType > &  matrix)
inline

Wrappes an Eigen matrix for IO support

Template Parameters
MatrixTypeEigen matrix type
Parameters
matrixEigen matrix
Returns
Wrapper object
template<class MatrixType >
MartrixIOWrapper<MatrixType> CortidQCT::io ( Eigen::MatrixBase< MatrixType > const &  matrix)
inline

Wrappes an Eigen matrix for IO support

Template Parameters
MatrixTypeEigen matrix type
Parameters
matrixEigen matrix
Returns
Wrapper object (const)
template<class DerivedV , class DerivedN >
Eigen::Matrix<typename DerivedV::Scalar, Eigen::Dynamic, 3> CortidQCT::samplingPoints ( Eigen::MatrixBase< DerivedV > const &  V,
Eigen::MatrixBase< DerivedN > const &  N,
MeasurementModel const &  model 
)

Returns a matrix containing positions to sample a voxel volume at.

Let $N := |V|$ and let $M := |R|$, where $R$ represent model.samplingRange, then the returned NMx3 matrix contains N*M positions, where each M consecutive postitions represent a line through a vertex in V sampled along the surface normal in N.

Parameters
VNx3 matrix with vertex positions
NNx3 matrix of per-vertex surface normals
modelMeasurementModel instance
Returns
NMx3 matrix containing sampling positions