RTK
2.6.0
Reconstruction Toolkit
|
#include <rtkProjectionsRegionConstIteratorRayBased.h>
Public Types | |
using | HomogeneousMatrixType = itk::Matrix< double, 4, 4 > |
using | IndexValueType = typename Superclass::IndexValueType |
using | MatrixType = itk::Matrix< double, 3, 4 > |
using | OffsetValueType = typename Superclass::OffsetValueType |
using | PointType = typename itk::Vector< double, 3 > |
using | RegionType = typename Superclass::RegionType |
using | Self = ProjectionsRegionConstIteratorRayBased |
using | Superclass = itk::ImageConstIteratorWithIndex< TImage > |
Public Member Functions | |
const PointType | GetDirection () |
void | Next () |
Self & | operator++ () |
ProjectionsRegionConstIteratorRayBased (const TImage *ptr, const RegionType ®ion, const ThreeDCircularProjectionGeometry *geometry, const MatrixType &postMat) | |
const PointType & | GetSourcePosition () |
const PointType & | GetPixelPosition () |
const PointType & | GetSourceToPixel () |
Static Public Member Functions | |
static Self * | New (const TImage *ptr, const RegionType ®ion, const ThreeDCircularProjectionGeometry *geometry, const MatrixType &postMat) |
static Self * | New (const TImage *ptr, const RegionType ®ion, const ThreeDCircularProjectionGeometry *geometry, const HomogeneousMatrixType &postMat) |
static Self * | New (const TImage *ptr, const RegionType ®ion, 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 |
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.
Definition at line 54 of file rtkProjectionsRegionConstIteratorRayBased.h.
using rtk::ProjectionsRegionConstIteratorRayBased< TImage >::HomogeneousMatrixType = itk::Matrix<double, 4, 4> |
Definition at line 73 of file rtkProjectionsRegionConstIteratorRayBased.h.
using rtk::ProjectionsRegionConstIteratorRayBased< TImage >::IndexValueType = typename Superclass::IndexValueType |
Definition at line 70 of file rtkProjectionsRegionConstIteratorRayBased.h.
using rtk::ProjectionsRegionConstIteratorRayBased< TImage >::MatrixType = itk::Matrix<double, 3, 4> |
Definition at line 72 of file rtkProjectionsRegionConstIteratorRayBased.h.
using rtk::ProjectionsRegionConstIteratorRayBased< TImage >::OffsetValueType = typename Superclass::OffsetValueType |
Index type alias 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 67 of file rtkProjectionsRegionConstIteratorRayBased.h.
using rtk::ProjectionsRegionConstIteratorRayBased< TImage >::PointType = typename itk::Vector<double, 3> |
Definition at line 69 of file rtkProjectionsRegionConstIteratorRayBased.h.
using rtk::ProjectionsRegionConstIteratorRayBased< TImage >::RegionType = typename Superclass::RegionType |
Definition at line 68 of file rtkProjectionsRegionConstIteratorRayBased.h.
using rtk::ProjectionsRegionConstIteratorRayBased< TImage >::Self = ProjectionsRegionConstIteratorRayBased |
Standard class type alias.
Definition at line 58 of file rtkProjectionsRegionConstIteratorRayBased.h.
using rtk::ProjectionsRegionConstIteratorRayBased< TImage >::Superclass = itk::ImageConstIteratorWithIndex<TImage> |
Definition at line 59 of file rtkProjectionsRegionConstIteratorRayBased.h.
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.
|
inline |
Computes and returns a unit vector pointing from the source to the current pixel, i.e., GetSourceToPixel()/||GetSourceToPixel()||.
Definition at line 144 of file rtkProjectionsRegionConstIteratorRayBased.h.
|
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.
|
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 125 of file rtkProjectionsRegionConstIteratorRayBased.h.
|
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 135 of file rtkProjectionsRegionConstIteratorRayBased.h.
|
static |
|
static |
|
static |
|
protectedpure virtual |
Init a new pixel position in a 2D projection, assuming that the NewProjection method has already been called.
Implemented in rtk::ProjectionsRegionConstIteratorRayBasedWithCylindricalPanel< TImage >, rtk::ProjectionsRegionConstIteratorRayBasedParallel< TImage >, and rtk::ProjectionsRegionConstIteratorRayBasedWithFlatPanel< TImage >.
|
protectedpure virtual |
Init the parameters common to a new 2D projection in the 3D stack.
Implemented in rtk::ProjectionsRegionConstIteratorRayBasedWithCylindricalPanel< TImage >, rtk::ProjectionsRegionConstIteratorRayBasedParallel< TImage >, and rtk::ProjectionsRegionConstIteratorRayBasedWithFlatPanel< TImage >.
|
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 115 of file rtkProjectionsRegionConstIteratorRayBased.h.
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.
|
protected |
Definition at line 159 of file rtkProjectionsRegionConstIteratorRayBased.h.
|
protected |
Definition at line 162 of file rtkProjectionsRegionConstIteratorRayBased.h.
|
protected |
Definition at line 160 of file rtkProjectionsRegionConstIteratorRayBased.h.
|
protected |
Definition at line 161 of file rtkProjectionsRegionConstIteratorRayBased.h.
|
protected |
Definition at line 163 of file rtkProjectionsRegionConstIteratorRayBased.h.