RTK  1.4.0
Reconstruction Toolkit
Public Types | Public Member Functions | Static Public Member Functions | Static Public Attributes | Protected Member Functions | Private Member Functions | List of all members
rtk::JosephForwardAttenuatedProjectionImageFilter< TInputImage, TOutputImage, TInterpolationWeightMultiplication, TProjectedValueAccumulation, TSumAlongRay > Class Template Reference

#include <rtkJosephForwardAttenuatedProjectionImageFilter.h>

+ Inheritance diagram for rtk::JosephForwardAttenuatedProjectionImageFilter< TInputImage, TOutputImage, TInterpolationWeightMultiplication, TProjectedValueAccumulation, TSumAlongRay >:
+ Collaboration diagram for rtk::JosephForwardAttenuatedProjectionImageFilter< TInputImage, TOutputImage, TInterpolationWeightMultiplication, TProjectedValueAccumulation, TSumAlongRay >:

Public Types

typedef itk::SmartPointer< const SelfConstPointer
 
typedef double CoordRepType
 
typedef TInputImage::PixelType InputPixelType
 
typedef TOutputImage::RegionType OutputImageRegionType
 
typedef TOutputImage::PixelType OutputPixelType
 
typedef itk::SmartPointer< SelfPointer
 
typedef JosephForwardAttenuatedProjectionImageFilter Self
 
typedef JosephForwardProjectionImageFilter< TInputImage, TOutputImage, TInterpolationWeightMultiplication, TProjectedValueAccumulation, TSumAlongRay > Superclass
 
typedef itk::Vector< CoordRepType, TInputImage::ImageDimension > VectorType
 
- Public Types inherited from rtk::JosephForwardProjectionImageFilter< TInputImage, TOutputImage, TInterpolationWeightMultiplication, TProjectedValueAccumulation, TSumAlongRay >
typedef itk::SmartPointer< const SelfConstPointer
 
typedef double CoordRepType
 
typedef TInputImage::PixelType InputPixelType
 
typedef TOutputImage::RegionType OutputImageRegionType
 
typedef TOutputImage::PixelType OutputPixelType
 
typedef itk::SmartPointer< SelfPointer
 
typedef JosephForwardProjectionImageFilter Self
 
typedef ForwardProjectionImageFilter< TInputImage, TOutputImage > Superclass
 
typedef itk::Vector< CoordRepType, TInputImage::ImageDimension > VectorType
 
- Public Types inherited from rtk::ForwardProjectionImageFilter< TInputImage, TOutputImage >
typedef itk::SmartPointer< const SelfConstPointer
 
typedef GeometryType::ConstPointer GeometryPointer
 
typedef rtk::ThreeDCircularProjectionGeometry GeometryType
 
typedef itk::SmartPointer< SelfPointer
 
typedef ForwardProjectionImageFilter Self
 
typedef itk::InPlaceImageFilter< TInputImage, TOutputImage > Superclass
 

Public Member Functions

virtual ::itk::LightObject::Pointer CreateAnother () const
 
virtual const char * GetNameOfClass () const
 
- Public Member Functions inherited from rtk::JosephForwardProjectionImageFilter< TInputImage, TOutputImage, TInterpolationWeightMultiplication, TProjectedValueAccumulation, TSumAlongRay >
virtual ::itk::LightObject::Pointer CreateAnother () const
 
virtual double GetInferiorClip ()
 
virtual double GetSuperiorClip ()
 
virtual void SetInferiorClip (double _arg)
 
virtual void SetSuperiorClip (double _arg)
 
TInterpolationWeightMultiplication & GetInterpolationWeightMultiplication ()
 
const TInterpolationWeightMultiplication & GetInterpolationWeightMultiplication () const
 
void SetInterpolationWeightMultiplication (const TInterpolationWeightMultiplication &_arg)
 
TProjectedValueAccumulation & GetProjectedValueAccumulation ()
 
const TProjectedValueAccumulation & GetProjectedValueAccumulation () const
 
void SetProjectedValueAccumulation (const TProjectedValueAccumulation &_arg)
 
TSumAlongRay & GetSumAlongRay ()
 
const TSumAlongRay & GetSumAlongRay () const
 
void SetSumAlongRay (const TSumAlongRay &_arg)
 
- Public Member Functions inherited from rtk::ForwardProjectionImageFilter< TInputImage, TOutputImage >
virtual const GeometryTypeGetGeometry () const
 
virtual void SetGeometry (const GeometryType *_arg)
 

Static Public Member Functions

static Pointer New ()
 
- Static Public Member Functions inherited from rtk::JosephForwardProjectionImageFilter< TInputImage, TOutputImage, TInterpolationWeightMultiplication, TProjectedValueAccumulation, TSumAlongRay >
static Pointer New ()
 

Static Public Attributes

static constexpr unsigned int InputImageDimension = TInputImage::ImageDimension
 

Protected Member Functions

void BeforeThreadedGenerateData () override
 
void GenerateInputRequestedRegion () override
 
 JosephForwardAttenuatedProjectionImageFilter ()
 
virtual ~JosephForwardAttenuatedProjectionImageFilter () override
 
void VerifyInputInformation () override
 
- Protected Member Functions inherited from rtk::JosephForwardProjectionImageFilter< TInputImage, TOutputImage, TInterpolationWeightMultiplication, TProjectedValueAccumulation, TSumAlongRay >
OutputPixelType BilinearInterpolation (const ThreadIdType threadId, const double stepLengthInVoxel, const InputPixelType *pxiyi, const InputPixelType *pxsyi, const InputPixelType *pxiys, const InputPixelType *pxsys, const double x, const double y, const int ox, const int oy)
 
OutputPixelType BilinearInterpolationOnBorders (const ThreadIdType threadId, const double stepLengthInVoxel, const InputPixelType *pxiyi, const InputPixelType *pxsyi, const InputPixelType *pxiys, const InputPixelType *pxsys, const double x, const double y, const int ox, const int oy, const double minx, const double miny, const double maxx, const double maxy)
 
 JosephForwardProjectionImageFilter ()
 
void ThreadedGenerateData (const OutputImageRegionType &outputRegionForThread, ThreadIdType threadId) override
 
virtual ~JosephForwardProjectionImageFilter () override
 
void VerifyInputInformation () override
 
- Protected Member Functions inherited from rtk::ForwardProjectionImageFilter< TInputImage, TOutputImage >
 ForwardProjectionImageFilter ()
 
void GenerateInputRequestedRegion () override
 
virtual ~ForwardProjectionImageFilter () override
 
void VerifyInputInformation () override
 

Private Member Functions

 JosephForwardAttenuatedProjectionImageFilter (const Self &)
 
void operator= (const Self &)
 

Detailed Description

template<class TInputImage, class TOutputImage, class TInterpolationWeightMultiplication = Functor::InterpolationWeightMultiplicationAttenuated<typename TInputImage::PixelType,typename itk::PixelTraits<typename TInputImage::PixelType>::ValueType>, class TProjectedValueAccumulation = Functor::ProjectedValueAccumulationAttenuated<typename TInputImage::PixelType, typename TOutputImage::PixelType>, class TSumAlongRay = Functor::ComputeAttenuationCorrection<typename TInputImage::PixelType, typename TOutputImage::PixelType>>
class rtk::JosephForwardAttenuatedProjectionImageFilter< TInputImage, TOutputImage, TInterpolationWeightMultiplication, TProjectedValueAccumulation, TSumAlongRay >

Joseph forward projection.

Performs a attenuated Joseph forward projection, i.e. accumulation along x-ray lines, using [Joseph, IEEE TMI, 1982] and [Gullberg, Phys. Med. Biol., 1985]. The forward projector tests if the detector has been placed after the source and the volume. If the detector is in the volume the ray tracing is performed only until that point.

Test:
rtkforwardattenuatedprojectiontest.cxx
Author
Antoine Robert

Definition at line 217 of file rtkJosephForwardAttenuatedProjectionImageFilter.h.

Member Typedef Documentation

template<class TInputImage , class TOutputImage , class TInterpolationWeightMultiplication = Functor::InterpolationWeightMultiplicationAttenuated<typename TInputImage::PixelType,typename itk::PixelTraits<typename TInputImage::PixelType>::ValueType>, class TProjectedValueAccumulation = Functor::ProjectedValueAccumulationAttenuated<typename TInputImage::PixelType, typename TOutputImage::PixelType>, class TSumAlongRay = Functor::ComputeAttenuationCorrection<typename TInputImage::PixelType, typename TOutputImage::PixelType>>
typedef itk::SmartPointer<const Self> rtk::JosephForwardAttenuatedProjectionImageFilter< TInputImage, TOutputImage, TInterpolationWeightMultiplication, TProjectedValueAccumulation, TSumAlongRay >::ConstPointer
template<class TInputImage , class TOutputImage , class TInterpolationWeightMultiplication = Functor::InterpolationWeightMultiplicationAttenuated<typename TInputImage::PixelType,typename itk::PixelTraits<typename TInputImage::PixelType>::ValueType>, class TProjectedValueAccumulation = Functor::ProjectedValueAccumulationAttenuated<typename TInputImage::PixelType, typename TOutputImage::PixelType>, class TSumAlongRay = Functor::ComputeAttenuationCorrection<typename TInputImage::PixelType, typename TOutputImage::PixelType>>
typedef double rtk::JosephForwardAttenuatedProjectionImageFilter< TInputImage, TOutputImage, TInterpolationWeightMultiplication, TProjectedValueAccumulation, TSumAlongRay >::CoordRepType
template<class TInputImage , class TOutputImage , class TInterpolationWeightMultiplication = Functor::InterpolationWeightMultiplicationAttenuated<typename TInputImage::PixelType,typename itk::PixelTraits<typename TInputImage::PixelType>::ValueType>, class TProjectedValueAccumulation = Functor::ProjectedValueAccumulationAttenuated<typename TInputImage::PixelType, typename TOutputImage::PixelType>, class TSumAlongRay = Functor::ComputeAttenuationCorrection<typename TInputImage::PixelType, typename TOutputImage::PixelType>>
typedef TInputImage::PixelType rtk::JosephForwardAttenuatedProjectionImageFilter< TInputImage, TOutputImage, TInterpolationWeightMultiplication, TProjectedValueAccumulation, TSumAlongRay >::InputPixelType
template<class TInputImage , class TOutputImage , class TInterpolationWeightMultiplication = Functor::InterpolationWeightMultiplicationAttenuated<typename TInputImage::PixelType,typename itk::PixelTraits<typename TInputImage::PixelType>::ValueType>, class TProjectedValueAccumulation = Functor::ProjectedValueAccumulationAttenuated<typename TInputImage::PixelType, typename TOutputImage::PixelType>, class TSumAlongRay = Functor::ComputeAttenuationCorrection<typename TInputImage::PixelType, typename TOutputImage::PixelType>>
typedef TOutputImage::RegionType rtk::JosephForwardAttenuatedProjectionImageFilter< TInputImage, TOutputImage, TInterpolationWeightMultiplication, TProjectedValueAccumulation, TSumAlongRay >::OutputImageRegionType
template<class TInputImage , class TOutputImage , class TInterpolationWeightMultiplication = Functor::InterpolationWeightMultiplicationAttenuated<typename TInputImage::PixelType,typename itk::PixelTraits<typename TInputImage::PixelType>::ValueType>, class TProjectedValueAccumulation = Functor::ProjectedValueAccumulationAttenuated<typename TInputImage::PixelType, typename TOutputImage::PixelType>, class TSumAlongRay = Functor::ComputeAttenuationCorrection<typename TInputImage::PixelType, typename TOutputImage::PixelType>>
typedef TOutputImage::PixelType rtk::JosephForwardAttenuatedProjectionImageFilter< TInputImage, TOutputImage, TInterpolationWeightMultiplication, TProjectedValueAccumulation, TSumAlongRay >::OutputPixelType
template<class TInputImage , class TOutputImage , class TInterpolationWeightMultiplication = Functor::InterpolationWeightMultiplicationAttenuated<typename TInputImage::PixelType,typename itk::PixelTraits<typename TInputImage::PixelType>::ValueType>, class TProjectedValueAccumulation = Functor::ProjectedValueAccumulationAttenuated<typename TInputImage::PixelType, typename TOutputImage::PixelType>, class TSumAlongRay = Functor::ComputeAttenuationCorrection<typename TInputImage::PixelType, typename TOutputImage::PixelType>>
typedef itk::SmartPointer<Self> rtk::JosephForwardAttenuatedProjectionImageFilter< TInputImage, TOutputImage, TInterpolationWeightMultiplication, TProjectedValueAccumulation, TSumAlongRay >::Pointer
template<class TInputImage , class TOutputImage , class TInterpolationWeightMultiplication = Functor::InterpolationWeightMultiplicationAttenuated<typename TInputImage::PixelType,typename itk::PixelTraits<typename TInputImage::PixelType>::ValueType>, class TProjectedValueAccumulation = Functor::ProjectedValueAccumulationAttenuated<typename TInputImage::PixelType, typename TOutputImage::PixelType>, class TSumAlongRay = Functor::ComputeAttenuationCorrection<typename TInputImage::PixelType, typename TOutputImage::PixelType>>
typedef JosephForwardAttenuatedProjectionImageFilter rtk::JosephForwardAttenuatedProjectionImageFilter< TInputImage, TOutputImage, TInterpolationWeightMultiplication, TProjectedValueAccumulation, TSumAlongRay >::Self

Standard class typedefs.

Definition at line 222 of file rtkJosephForwardAttenuatedProjectionImageFilter.h.

template<class TInputImage , class TOutputImage , class TInterpolationWeightMultiplication = Functor::InterpolationWeightMultiplicationAttenuated<typename TInputImage::PixelType,typename itk::PixelTraits<typename TInputImage::PixelType>::ValueType>, class TProjectedValueAccumulation = Functor::ProjectedValueAccumulationAttenuated<typename TInputImage::PixelType, typename TOutputImage::PixelType>, class TSumAlongRay = Functor::ComputeAttenuationCorrection<typename TInputImage::PixelType, typename TOutputImage::PixelType>>
typedef JosephForwardProjectionImageFilter<TInputImage,TOutputImage,TInterpolationWeightMultiplication, TProjectedValueAccumulation, TSumAlongRay> rtk::JosephForwardAttenuatedProjectionImageFilter< TInputImage, TOutputImage, TInterpolationWeightMultiplication, TProjectedValueAccumulation, TSumAlongRay >::Superclass
template<class TInputImage , class TOutputImage , class TInterpolationWeightMultiplication = Functor::InterpolationWeightMultiplicationAttenuated<typename TInputImage::PixelType,typename itk::PixelTraits<typename TInputImage::PixelType>::ValueType>, class TProjectedValueAccumulation = Functor::ProjectedValueAccumulationAttenuated<typename TInputImage::PixelType, typename TOutputImage::PixelType>, class TSumAlongRay = Functor::ComputeAttenuationCorrection<typename TInputImage::PixelType, typename TOutputImage::PixelType>>
typedef itk::Vector<CoordRepType, TInputImage::ImageDimension> rtk::JosephForwardAttenuatedProjectionImageFilter< TInputImage, TOutputImage, TInterpolationWeightMultiplication, TProjectedValueAccumulation, TSumAlongRay >::VectorType

Constructor & Destructor Documentation

template<class TInputImage , class TOutputImage , class TInterpolationWeightMultiplication = Functor::InterpolationWeightMultiplicationAttenuated<typename TInputImage::PixelType,typename itk::PixelTraits<typename TInputImage::PixelType>::ValueType>, class TProjectedValueAccumulation = Functor::ProjectedValueAccumulationAttenuated<typename TInputImage::PixelType, typename TOutputImage::PixelType>, class TSumAlongRay = Functor::ComputeAttenuationCorrection<typename TInputImage::PixelType, typename TOutputImage::PixelType>>
rtk::JosephForwardAttenuatedProjectionImageFilter< TInputImage, TOutputImage, TInterpolationWeightMultiplication, TProjectedValueAccumulation, TSumAlongRay >::JosephForwardAttenuatedProjectionImageFilter ( )
protected
template<class TInputImage , class TOutputImage , class TInterpolationWeightMultiplication = Functor::InterpolationWeightMultiplicationAttenuated<typename TInputImage::PixelType,typename itk::PixelTraits<typename TInputImage::PixelType>::ValueType>, class TProjectedValueAccumulation = Functor::ProjectedValueAccumulationAttenuated<typename TInputImage::PixelType, typename TOutputImage::PixelType>, class TSumAlongRay = Functor::ComputeAttenuationCorrection<typename TInputImage::PixelType, typename TOutputImage::PixelType>>
virtual rtk::JosephForwardAttenuatedProjectionImageFilter< TInputImage, TOutputImage, TInterpolationWeightMultiplication, TProjectedValueAccumulation, TSumAlongRay >::~JosephForwardAttenuatedProjectionImageFilter ( )
inlineoverrideprotectedvirtual
template<class TInputImage , class TOutputImage , class TInterpolationWeightMultiplication = Functor::InterpolationWeightMultiplicationAttenuated<typename TInputImage::PixelType,typename itk::PixelTraits<typename TInputImage::PixelType>::ValueType>, class TProjectedValueAccumulation = Functor::ProjectedValueAccumulationAttenuated<typename TInputImage::PixelType, typename TOutputImage::PixelType>, class TSumAlongRay = Functor::ComputeAttenuationCorrection<typename TInputImage::PixelType, typename TOutputImage::PixelType>>
rtk::JosephForwardAttenuatedProjectionImageFilter< TInputImage, TOutputImage, TInterpolationWeightMultiplication, TProjectedValueAccumulation, TSumAlongRay >::JosephForwardAttenuatedProjectionImageFilter ( const Self )
private

Member Function Documentation

template<class TInputImage , class TOutputImage , class TInterpolationWeightMultiplication = Functor::InterpolationWeightMultiplicationAttenuated<typename TInputImage::PixelType,typename itk::PixelTraits<typename TInputImage::PixelType>::ValueType>, class TProjectedValueAccumulation = Functor::ProjectedValueAccumulationAttenuated<typename TInputImage::PixelType, typename TOutputImage::PixelType>, class TSumAlongRay = Functor::ComputeAttenuationCorrection<typename TInputImage::PixelType, typename TOutputImage::PixelType>>
void rtk::JosephForwardAttenuatedProjectionImageFilter< TInputImage, TOutputImage, TInterpolationWeightMultiplication, TProjectedValueAccumulation, TSumAlongRay >::BeforeThreadedGenerateData ( )
overrideprotected
template<class TInputImage , class TOutputImage , class TInterpolationWeightMultiplication = Functor::InterpolationWeightMultiplicationAttenuated<typename TInputImage::PixelType,typename itk::PixelTraits<typename TInputImage::PixelType>::ValueType>, class TProjectedValueAccumulation = Functor::ProjectedValueAccumulationAttenuated<typename TInputImage::PixelType, typename TOutputImage::PixelType>, class TSumAlongRay = Functor::ComputeAttenuationCorrection<typename TInputImage::PixelType, typename TOutputImage::PixelType>>
virtual::itk::LightObject::Pointer rtk::JosephForwardAttenuatedProjectionImageFilter< TInputImage, TOutputImage, TInterpolationWeightMultiplication, TProjectedValueAccumulation, TSumAlongRay >::CreateAnother ( ) const
template<class TInputImage , class TOutputImage , class TInterpolationWeightMultiplication = Functor::InterpolationWeightMultiplicationAttenuated<typename TInputImage::PixelType,typename itk::PixelTraits<typename TInputImage::PixelType>::ValueType>, class TProjectedValueAccumulation = Functor::ProjectedValueAccumulationAttenuated<typename TInputImage::PixelType, typename TOutputImage::PixelType>, class TSumAlongRay = Functor::ComputeAttenuationCorrection<typename TInputImage::PixelType, typename TOutputImage::PixelType>>
void rtk::JosephForwardAttenuatedProjectionImageFilter< TInputImage, TOutputImage, TInterpolationWeightMultiplication, TProjectedValueAccumulation, TSumAlongRay >::GenerateInputRequestedRegion ( )
overrideprotected

Apply changes to the input image requested region.

template<class TInputImage , class TOutputImage , class TInterpolationWeightMultiplication = Functor::InterpolationWeightMultiplicationAttenuated<typename TInputImage::PixelType,typename itk::PixelTraits<typename TInputImage::PixelType>::ValueType>, class TProjectedValueAccumulation = Functor::ProjectedValueAccumulationAttenuated<typename TInputImage::PixelType, typename TOutputImage::PixelType>, class TSumAlongRay = Functor::ComputeAttenuationCorrection<typename TInputImage::PixelType, typename TOutputImage::PixelType>>
virtual const char* rtk::JosephForwardAttenuatedProjectionImageFilter< TInputImage, TOutputImage, TInterpolationWeightMultiplication, TProjectedValueAccumulation, TSumAlongRay >::GetNameOfClass ( ) const
virtual
template<class TInputImage , class TOutputImage , class TInterpolationWeightMultiplication = Functor::InterpolationWeightMultiplicationAttenuated<typename TInputImage::PixelType,typename itk::PixelTraits<typename TInputImage::PixelType>::ValueType>, class TProjectedValueAccumulation = Functor::ProjectedValueAccumulationAttenuated<typename TInputImage::PixelType, typename TOutputImage::PixelType>, class TSumAlongRay = Functor::ComputeAttenuationCorrection<typename TInputImage::PixelType, typename TOutputImage::PixelType>>
static Pointer rtk::JosephForwardAttenuatedProjectionImageFilter< TInputImage, TOutputImage, TInterpolationWeightMultiplication, TProjectedValueAccumulation, TSumAlongRay >::New ( )
static

Method for creation through the object factory.

template<class TInputImage , class TOutputImage , class TInterpolationWeightMultiplication = Functor::InterpolationWeightMultiplicationAttenuated<typename TInputImage::PixelType,typename itk::PixelTraits<typename TInputImage::PixelType>::ValueType>, class TProjectedValueAccumulation = Functor::ProjectedValueAccumulationAttenuated<typename TInputImage::PixelType, typename TOutputImage::PixelType>, class TSumAlongRay = Functor::ComputeAttenuationCorrection<typename TInputImage::PixelType, typename TOutputImage::PixelType>>
void rtk::JosephForwardAttenuatedProjectionImageFilter< TInputImage, TOutputImage, TInterpolationWeightMultiplication, TProjectedValueAccumulation, TSumAlongRay >::operator= ( const Self )
private
template<class TInputImage , class TOutputImage , class TInterpolationWeightMultiplication = Functor::InterpolationWeightMultiplicationAttenuated<typename TInputImage::PixelType,typename itk::PixelTraits<typename TInputImage::PixelType>::ValueType>, class TProjectedValueAccumulation = Functor::ProjectedValueAccumulationAttenuated<typename TInputImage::PixelType, typename TOutputImage::PixelType>, class TSumAlongRay = Functor::ComputeAttenuationCorrection<typename TInputImage::PixelType, typename TOutputImage::PixelType>>
void rtk::JosephForwardAttenuatedProjectionImageFilter< TInputImage, TOutputImage, TInterpolationWeightMultiplication, TProjectedValueAccumulation, TSumAlongRay >::VerifyInputInformation ( )
overrideprotected

Only the last two inputs should be in the same space so we need to overwrite the method.

Member Data Documentation

template<class TInputImage , class TOutputImage , class TInterpolationWeightMultiplication = Functor::InterpolationWeightMultiplicationAttenuated<typename TInputImage::PixelType,typename itk::PixelTraits<typename TInputImage::PixelType>::ValueType>, class TProjectedValueAccumulation = Functor::ProjectedValueAccumulationAttenuated<typename TInputImage::PixelType, typename TOutputImage::PixelType>, class TSumAlongRay = Functor::ComputeAttenuationCorrection<typename TInputImage::PixelType, typename TOutputImage::PixelType>>
constexpr unsigned int rtk::JosephForwardAttenuatedProjectionImageFilter< TInputImage, TOutputImage, TInterpolationWeightMultiplication, TProjectedValueAccumulation, TSumAlongRay >::InputImageDimension = TInputImage::ImageDimension
static

ImageDimension constants

Definition at line 233 of file rtkJosephForwardAttenuatedProjectionImageFilter.h.


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