RTK  1.4.0
Reconstruction Toolkit
Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
rtk::ProjectionsRegionConstIteratorRayBased< TImage > Class Template Referenceabstract

#include <rtkProjectionsRegionConstIteratorRayBased.h>

+ Inheritance diagram for rtk::ProjectionsRegionConstIteratorRayBased< TImage >:
+ Collaboration diagram for rtk::ProjectionsRegionConstIteratorRayBased< TImage >:

Public Types

typedef itk::Matrix< double, 4, 4 > HomogeneousMatrixType
 
typedef Superclass::IndexValueType IndexValueType
 
typedef itk::Matrix< double, 3, 4 > MatrixType
 
typedef Superclass::OffsetValueType OffsetValueType
 
typedef itk::Vector< double, 3 > PointType
 
typedef Superclass::RegionType RegionType
 
typedef ProjectionsRegionConstIteratorRayBased Self
 
typedef itk::ImageConstIteratorWithIndex< TImage > Superclass
 

Public Member Functions

const PointType GetDirection ()
 
void Next ()
 
Selfoperator++ ()
 
 ProjectionsRegionConstIteratorRayBased (const TImage *ptr, const RegionType &region, const ThreeDCircularProjectionGeometry *geometry, const MatrixType &postMat)
 
const PointTypeGetSourcePosition ()
 
const PointTypeGetPixelPosition ()
 
const PointTypeGetSourceToPixel ()
 

Static Public Member Functions

static SelfNew (const TImage *ptr, const RegionType &region, const ThreeDCircularProjectionGeometry *geometry, const MatrixType &postMat)
 
static SelfNew (const TImage *ptr, const RegionType &region, const ThreeDCircularProjectionGeometry *geometry, const HomogeneousMatrixType &postMat)
 
static SelfNew (const TImage *ptr, const RegionType &region, const ThreeDCircularProjectionGeometry *geometry)
 

Protected Member Functions

virtual void NewPixel ()=0
 
virtual void NewProjection ()=0
 

Protected Attributes

ThreeDCircularProjectionGeometry::ConstPointer m_Geometry
 
PointType m_PixelPosition
 
MatrixType m_PostMultiplyMatrix
 
PointType m_SourcePosition
 
PointType m_SourceToPixel
 

Detailed Description

template<typename TImage>
class rtk::ProjectionsRegionConstIteratorRayBased< TImage >

Iterate over a projection stack with corresponding ray information.

Base class for iterating over the pixels of projection images with the and having at the same time the geometry information for the corresponding source to pixel ray, defined by a 3D source position and a 3D pixel position. The iterator provides this information in mm, unless a 3D matrix is provided to convert the mm value of the coordinates of the two points to some other coordinate system. A typical example is the mm to voxel matrix to work in voxel coordinates. The iterator only works with the ThreeDCircularProjectionGeometry is purely virtual because this geometry can handle parallel geometry with flat panels and cone-beam geometries with flat and curved detectors.

Author
Simon Rit

Definition at line 54 of file rtkProjectionsRegionConstIteratorRayBased.h.

Member Typedef Documentation

template<typename TImage >
typedef itk::Matrix< double, 4, 4 > rtk::ProjectionsRegionConstIteratorRayBased< TImage >::HomogeneousMatrixType

Definition at line 74 of file rtkProjectionsRegionConstIteratorRayBased.h.

template<typename TImage >
typedef Superclass::IndexValueType rtk::ProjectionsRegionConstIteratorRayBased< TImage >::IndexValueType

Definition at line 71 of file rtkProjectionsRegionConstIteratorRayBased.h.

template<typename TImage >
typedef itk::Matrix< double, 3, 4 > rtk::ProjectionsRegionConstIteratorRayBased< TImage >::MatrixType

Definition at line 73 of file rtkProjectionsRegionConstIteratorRayBased.h.

template<typename TImage >
typedef Superclass::OffsetValueType rtk::ProjectionsRegionConstIteratorRayBased< TImage >::OffsetValueType

Index typedef support. While these were already typdef'ed in the superclass they need to be redone here for this subclass to compile properly with gcc.Types inherited from the Superclass

Definition at line 68 of file rtkProjectionsRegionConstIteratorRayBased.h.

template<typename TImage >
typedef itk::Vector<double, 3> rtk::ProjectionsRegionConstIteratorRayBased< TImage >::PointType

Definition at line 70 of file rtkProjectionsRegionConstIteratorRayBased.h.

template<typename TImage >
typedef Superclass::RegionType rtk::ProjectionsRegionConstIteratorRayBased< TImage >::RegionType

Definition at line 69 of file rtkProjectionsRegionConstIteratorRayBased.h.

Standard class typedefs.

Definition at line 59 of file rtkProjectionsRegionConstIteratorRayBased.h.

template<typename TImage >
typedef itk::ImageConstIteratorWithIndex< TImage > rtk::ProjectionsRegionConstIteratorRayBased< TImage >::Superclass

Definition at line 60 of file rtkProjectionsRegionConstIteratorRayBased.h.

Constructor & Destructor Documentation

template<typename TImage >
rtk::ProjectionsRegionConstIteratorRayBased< TImage >::ProjectionsRegionConstIteratorRayBased ( const TImage *  ptr,
const RegionType region,
const ThreeDCircularProjectionGeometry geometry,
const MatrixType postMat 
)

Constructor establishes an iterator to walk a particular image and a particular region of that image. Set the matrix by which the 3D coordinates of the projection can be multiplied. A typical example is the conversion from 3D physical coordinates to voxel indices in an itk Image.

Member Function Documentation

template<typename TImage >
const PointType rtk::ProjectionsRegionConstIteratorRayBased< TImage >::GetDirection ( )
inline
template<typename TImage >
const PointType& rtk::ProjectionsRegionConstIteratorRayBased< TImage >::GetPixelPosition ( )
inline

Get ray information. A ray is described by the 3D coordinates of two points, the (current) SourcePosition and the (current) PixelPosition in the projection stack. The difference, SourceToPixel, is also computed and stored for every ray.

Definition at line 126 of file rtkProjectionsRegionConstIteratorRayBased.h.

References rtk::ProjectionsRegionConstIteratorRayBased< TImage >::m_PixelPosition.

template<typename TImage >
const PointType& rtk::ProjectionsRegionConstIteratorRayBased< TImage >::GetSourcePosition ( )
inline

Get ray information. A ray is described by the 3D coordinates of two points, the (current) SourcePosition and the (current) PixelPosition in the projection stack. The difference, SourceToPixel, is also computed and stored for every ray.

Definition at line 122 of file rtkProjectionsRegionConstIteratorRayBased.h.

References rtk::ProjectionsRegionConstIteratorRayBased< TImage >::m_SourcePosition.

template<typename TImage >
const PointType& rtk::ProjectionsRegionConstIteratorRayBased< TImage >::GetSourceToPixel ( )
inline

Get ray information. A ray is described by the 3D coordinates of two points, the (current) SourcePosition and the (current) PixelPosition in the projection stack. The difference, SourceToPixel, is also computed and stored for every ray.

Definition at line 130 of file rtkProjectionsRegionConstIteratorRayBased.h.

References rtk::ProjectionsRegionConstIteratorRayBased< TImage >::m_SourceToPixel.

template<typename TImage >
static Self* rtk::ProjectionsRegionConstIteratorRayBased< TImage >::New ( const TImage *  ptr,
const RegionType region,
const ThreeDCircularProjectionGeometry geometry,
const MatrixType postMat 
)
static
template<typename TImage >
static Self* rtk::ProjectionsRegionConstIteratorRayBased< TImage >::New ( const TImage *  ptr,
const RegionType region,
const ThreeDCircularProjectionGeometry geometry,
const HomogeneousMatrixType postMat 
)
static
template<typename TImage >
static Self* rtk::ProjectionsRegionConstIteratorRayBased< TImage >::New ( const TImage *  ptr,
const RegionType region,
const ThreeDCircularProjectionGeometry geometry 
)
static
template<typename TImage >
virtual void rtk::ProjectionsRegionConstIteratorRayBased< TImage >::NewPixel ( )
protectedpure virtual
template<typename TImage >
virtual void rtk::ProjectionsRegionConstIteratorRayBased< TImage >::NewProjection ( )
protectedpure virtual
template<typename TImage >
void rtk::ProjectionsRegionConstIteratorRayBased< TImage >::Next ( )
inline

Go to the next pixel by simply calling the ++ operator. Should not be the ++ operator should be. The function is provided for cosmetic reasons, because pointers to these iterators will be used more than the iterator itself.

Definition at line 116 of file rtkProjectionsRegionConstIteratorRayBased.h.

template<typename TImage >
Self& rtk::ProjectionsRegionConstIteratorRayBased< TImage >::operator++ ( )

Increment (prefix) the fastest moving dimension of the iterator's index. This operator will constrain the iterator within the region (i.e. the iterator will automatically wrap from the end of the row of the region to the beginning of the next row of the region) up until the iterator tries to moves past the last pixel of the region. Here, the iterator will be set to be one pixel past the end of the region.

See also
operator--

Member Data Documentation

template<typename TImage >
ThreeDCircularProjectionGeometry::ConstPointer rtk::ProjectionsRegionConstIteratorRayBased< TImage >::m_Geometry
protected

Definition at line 151 of file rtkProjectionsRegionConstIteratorRayBased.h.

template<typename TImage >
PointType rtk::ProjectionsRegionConstIteratorRayBased< TImage >::m_PixelPosition
protected
template<typename TImage >
MatrixType rtk::ProjectionsRegionConstIteratorRayBased< TImage >::m_PostMultiplyMatrix
protected

Definition at line 152 of file rtkProjectionsRegionConstIteratorRayBased.h.

template<typename TImage >
PointType rtk::ProjectionsRegionConstIteratorRayBased< TImage >::m_SourcePosition
protected
template<typename TImage >
PointType rtk::ProjectionsRegionConstIteratorRayBased< TImage >::m_SourceToPixel
protected

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