RTK  2.5.0
Reconstruction Toolkit
Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | Private Attributes | List of all members
rtk::ProjectionGeometry< TDimension > Class Template Reference

#include <rtkProjectionGeometry.h>

+ Inheritance diagram for rtk::ProjectionGeometry< TDimension >:
+ Collaboration diagram for rtk::ProjectionGeometry< TDimension >:

Public Types

using ConstPointer = itk::SmartPointer< const Self >
 
using MatrixType = typename itk::Matrix< double, TDimension, TDimension+1 >
 
using Pointer = itk::SmartPointer< Self >
 
using PointType = typename itk::ImageBase< TDimension >::PointType
 
using Self = ProjectionGeometry< TDimension >
 
using SizeType = typename itk::ImageBase< TDimension >::SizeType
 
using SpacingType = typename itk::ImageBase< TDimension >::SpacingType
 
using Superclass = itk::DataObject
 

Public Member Functions

virtual void Clear ()
 
virtual ::itk::LightObject::Pointer CreateAnother () const
 
const std::vector< MatrixType > & GetMatrices () const
 
MatrixType GetMatrix (const unsigned int i) const
 

Static Public Member Functions

static Pointer New ()
 

Protected Member Functions

void PrintSelf (std::ostream &os, itk::Indent indent) const override
 
 ProjectionGeometry ()=default
 
 ~ProjectionGeometry () override=default
 
virtual void AddMatrix (const MatrixType &m)
 

Private Attributes

std::vector< MatrixTypem_Matrices
 

Detailed Description

template<unsigned int TDimension = 3>
class rtk::ProjectionGeometry< TDimension >

A templated class holding a vector of M x (M+1) matrices.

This class contains a vector of projection matrices. Each matrix corresponds to a different position of a projector, e.g. a detector and an x-ray source. The class is meant to be specialized for specific geometries.

Author
Simon Rit

Definition at line 44 of file rtkProjectionGeometry.h.

Member Typedef Documentation

◆ ConstPointer

template<unsigned int TDimension = 3>
using rtk::ProjectionGeometry< TDimension >::ConstPointer = itk::SmartPointer<const Self>

Definition at line 52 of file rtkProjectionGeometry.h.

◆ MatrixType

template<unsigned int TDimension = 3>
using rtk::ProjectionGeometry< TDimension >::MatrixType = typename itk::Matrix<double, TDimension, TDimension + 1>

Definition at line 62 of file rtkProjectionGeometry.h.

◆ Pointer

template<unsigned int TDimension = 3>
using rtk::ProjectionGeometry< TDimension >::Pointer = itk::SmartPointer<Self>

Definition at line 51 of file rtkProjectionGeometry.h.

◆ PointType

template<unsigned int TDimension = 3>
using rtk::ProjectionGeometry< TDimension >::PointType = typename itk::ImageBase<TDimension>::PointType

Definition at line 59 of file rtkProjectionGeometry.h.

◆ Self

template<unsigned int TDimension = 3>
using rtk::ProjectionGeometry< TDimension >::Self = ProjectionGeometry<TDimension>

Definition at line 49 of file rtkProjectionGeometry.h.

◆ SizeType

template<unsigned int TDimension = 3>
using rtk::ProjectionGeometry< TDimension >::SizeType = typename itk::ImageBase<TDimension>::SizeType

Convenient type alias

Definition at line 58 of file rtkProjectionGeometry.h.

◆ SpacingType

template<unsigned int TDimension = 3>
using rtk::ProjectionGeometry< TDimension >::SpacingType = typename itk::ImageBase<TDimension>::SpacingType

Definition at line 60 of file rtkProjectionGeometry.h.

◆ Superclass

template<unsigned int TDimension = 3>
using rtk::ProjectionGeometry< TDimension >::Superclass = itk::DataObject

Definition at line 50 of file rtkProjectionGeometry.h.

Constructor & Destructor Documentation

◆ ProjectionGeometry()

template<unsigned int TDimension = 3>
rtk::ProjectionGeometry< TDimension >::ProjectionGeometry ( )
protecteddefault

◆ ~ProjectionGeometry()

template<unsigned int TDimension = 3>
rtk::ProjectionGeometry< TDimension >::~ProjectionGeometry ( )
overrideprotecteddefault

Member Function Documentation

◆ AddMatrix()

template<unsigned int TDimension = 3>
virtual void rtk::ProjectionGeometry< TDimension >::AddMatrix ( const MatrixType m)
inlineprotectedvirtual

Add projection matrix

Definition at line 101 of file rtkProjectionGeometry.h.

◆ Clear()

template<unsigned int TDimension = 3>
virtual void rtk::ProjectionGeometry< TDimension >::Clear ( )
virtual

Empty the geometry object.

Reimplemented in rtk::ThreeDCircularProjectionGeometry.

◆ CreateAnother()

template<unsigned int TDimension = 3>
virtual::itk::LightObject::Pointer rtk::ProjectionGeometry< TDimension >::CreateAnother ( ) const
virtual

Reimplemented from itk::Object.

◆ GetMatrices()

template<unsigned int TDimension = 3>
const std::vector<MatrixType>& rtk::ProjectionGeometry< TDimension >::GetMatrices ( ) const
inline

Get the vector of projection matrices. A projection matrix is a M x (M+1) homogeneous matrix. The multiplication of a M-D point in physical coordinates with the i-th matrix provides the physical coordinate on the i-th projection.

Definition at line 71 of file rtkProjectionGeometry.h.

◆ GetMatrix()

template<unsigned int TDimension = 3>
MatrixType rtk::ProjectionGeometry< TDimension >::GetMatrix ( const unsigned int  i) const
inline

Get the i-th projection matrix.

Definition at line 78 of file rtkProjectionGeometry.h.

◆ New()

template<unsigned int TDimension = 3>
static Pointer rtk::ProjectionGeometry< TDimension >::New ( )
static

Method for creation through the object factory.

◆ PrintSelf()

template<unsigned int TDimension = 3>
void rtk::ProjectionGeometry< TDimension >::PrintSelf ( std::ostream &  os,
itk::Indent  indent 
) const
overrideprotectedvirtual

Reimplemented from itk::DataObject.

Member Data Documentation

◆ m_Matrices

template<unsigned int TDimension = 3>
std::vector<MatrixType> rtk::ProjectionGeometry< TDimension >::m_Matrices
private

Projection matrices

Definition at line 110 of file rtkProjectionGeometry.h.


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