RTK  2.0.1
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

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

Definition at line 52 of file rtkProjectionGeometry.h.

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.

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

Definition at line 51 of file rtkProjectionGeometry.h.

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

Definition at line 59 of file rtkProjectionGeometry.h.

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

Definition at line 49 of file rtkProjectionGeometry.h.

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.

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

Definition at line 60 of file rtkProjectionGeometry.h.

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

Definition at line 50 of file rtkProjectionGeometry.h.

Constructor & Destructor Documentation

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

Member Function Documentation

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

Add projection matrix

Definition at line 89 of file rtkProjectionGeometry.h.

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

Empty the geometry object.

Reimplemented in rtk::ThreeDCircularProjectionGeometry.

Referenced by rtk::ProjectionGeometry< 3 >::GetMatrix().

template<unsigned int TDimension = 3>
virtual::itk::LightObject::Pointer rtk::ProjectionGeometry< TDimension >::CreateAnother ( ) const
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 70 of file rtkProjectionGeometry.h.

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 75 of file rtkProjectionGeometry.h.

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

Method for creation through the object factory.

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

Member Data Documentation

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

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