RTK  2.6.0
Reconstruction Toolkit
Public Types | Public Member Functions | Static Public Member Functions | Static Public Attributes | Protected 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

using ConstPointer = itk::SmartPointer< const Self >
 
using CoordRepType = double
 
using InputPixelType = typename TInputImage::PixelType
 
using OutputImageRegionType = typename TOutputImage::RegionType
 
using OutputPixelType = typename TOutputImage::PixelType
 
using Pointer = itk::SmartPointer< Self >
 
using Self = JosephForwardAttenuatedProjectionImageFilter
 
using Superclass = JosephForwardProjectionImageFilter< TInputImage, TOutputImage, TInterpolationWeightMultiplication, TProjectedValueAccumulation, TSumAlongRay >
 
using VectorType = itk::Vector< CoordRepType, TInputImage::ImageDimension >
 
- Public Types inherited from rtk::JosephForwardProjectionImageFilter< TInputImage, TOutputImage, TInterpolationWeightMultiplication, TProjectedValueAccumulation, TSumAlongRay >
using ConstPointer = itk::SmartPointer< const Self >
 
using CoordRepType = double
 
using InputPixelType = typename TInputImage::PixelType
 
using OutputImageRegionType = typename TOutputImage::RegionType
 
using OutputPixelType = typename TOutputImage::PixelType
 
using Pointer = itk::SmartPointer< Self >
 
using Self = JosephForwardProjectionImageFilter
 
using Superclass = ForwardProjectionImageFilter< TInputImage, TOutputImage >
 
using TClipImagePointer = typename TClipImageType::Pointer
 
using TClipImageType = itk::Image< double, TOutputImage::ImageDimension >
 
using VectorType = itk::Vector< CoordRepType, TInputImage::ImageDimension >
 
- Public Types inherited from rtk::ForwardProjectionImageFilter< TInputImage, TOutputImage >
using ConstPointer = itk::SmartPointer< const Self >
 
using GeometryPointer = typename GeometryType::ConstPointer
 
using GeometryType = rtk::ThreeDCircularProjectionGeometry
 
using Pointer = itk::SmartPointer< Self >
 
using Self = ForwardProjectionImageFilter
 
using Superclass = itk::InPlaceImageFilter< TInputImage, TOutputImage >
 

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
 
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)
 
void SetInferiorClipImage (const TClipImageType *inferiorClipImage)
 
TClipImageType::ConstPointer GetInferiorClipImage ()
 
void SetSuperiorClipImage (const TClipImageType *superiorClipImage)
 
TClipImageType::ConstPointer GetSuperiorClipImage ()
 
virtual double GetInferiorClip ()
 
virtual void SetInferiorClip (double _arg)
 
virtual double GetSuperiorClip ()
 
virtual void SetSuperiorClip (double _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 ()
 
void VerifyInputInformation () const override
 
 ~JosephForwardAttenuatedProjectionImageFilter () override=default
 
- 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)
 
void GenerateInputRequestedRegion () override
 
 JosephForwardProjectionImageFilter ()
 
void ThreadedGenerateData (const OutputImageRegionType &outputRegionForThread, ThreadIdType threadId) override
 
void VerifyInputInformation () const override
 
 ~JosephForwardProjectionImageFilter () override=default
 
- Protected Member Functions inherited from rtk::ForwardProjectionImageFilter< TInputImage, TOutputImage >
 ForwardProjectionImageFilter ()
 
void VerifyPreconditions () const override
 
 ~ForwardProjectionImageFilter () override=default
 

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 265 of file rtkJosephForwardAttenuatedProjectionImageFilter.h.

Member Typedef Documentation

◆ 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>>
using rtk::JosephForwardAttenuatedProjectionImageFilter< TInputImage, TOutputImage, TInterpolationWeightMultiplication, TProjectedValueAccumulation, TSumAlongRay >::ConstPointer = itk::SmartPointer<const Self>

◆ 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>>
using rtk::JosephForwardAttenuatedProjectionImageFilter< TInputImage, TOutputImage, TInterpolationWeightMultiplication, TProjectedValueAccumulation, TSumAlongRay >::CoordRepType = double

◆ 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>>
using rtk::JosephForwardAttenuatedProjectionImageFilter< TInputImage, TOutputImage, TInterpolationWeightMultiplication, TProjectedValueAccumulation, TSumAlongRay >::InputPixelType = typename TInputImage::PixelType

◆ 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>>
using rtk::JosephForwardAttenuatedProjectionImageFilter< TInputImage, TOutputImage, TInterpolationWeightMultiplication, TProjectedValueAccumulation, TSumAlongRay >::OutputImageRegionType = typename TOutputImage::RegionType

◆ 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>>
using rtk::JosephForwardAttenuatedProjectionImageFilter< TInputImage, TOutputImage, TInterpolationWeightMultiplication, TProjectedValueAccumulation, TSumAlongRay >::OutputPixelType = typename TOutputImage::PixelType

◆ 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>>
using rtk::JosephForwardAttenuatedProjectionImageFilter< TInputImage, TOutputImage, TInterpolationWeightMultiplication, TProjectedValueAccumulation, TSumAlongRay >::Pointer = itk::SmartPointer<Self>

◆ Self

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>>
using rtk::JosephForwardAttenuatedProjectionImageFilter< TInputImage, TOutputImage, TInterpolationWeightMultiplication, TProjectedValueAccumulation, TSumAlongRay >::Self = JosephForwardAttenuatedProjectionImageFilter

Standard class type alias.

Definition at line 276 of file rtkJosephForwardAttenuatedProjectionImageFilter.h.

◆ 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>>
using rtk::JosephForwardAttenuatedProjectionImageFilter< TInputImage, TOutputImage, TInterpolationWeightMultiplication, TProjectedValueAccumulation, TSumAlongRay >::Superclass = JosephForwardProjectionImageFilter<TInputImage, TOutputImage, TInterpolationWeightMultiplication, TProjectedValueAccumulation, TSumAlongRay>

◆ VectorType

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>>
using rtk::JosephForwardAttenuatedProjectionImageFilter< TInputImage, TOutputImage, TInterpolationWeightMultiplication, TProjectedValueAccumulation, TSumAlongRay >::VectorType = itk::Vector<CoordRepType, TInputImage::ImageDimension>

Constructor & Destructor Documentation

◆ JosephForwardAttenuatedProjectionImageFilter()

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

◆ ~JosephForwardAttenuatedProjectionImageFilter()

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 ( )
overrideprotecteddefault

Member Function Documentation

◆ BeforeThreadedGenerateData()

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 ( )
overrideprotectedvirtual

Reimplemented from itk::ImageSource< TOutputImage >.

◆ CreateAnother()

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
virtual

Reimplemented from itk::Object.

◆ GenerateInputRequestedRegion()

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 ( )
overrideprotectedvirtual

Apply changes to the input image requested region.

Reimplemented from rtk::ForwardProjectionImageFilter< TInputImage, TOutputImage >.

◆ GetNameOfClass()

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

◆ New()

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

◆ VerifyInputInformation()

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 ( ) const
overrideprotectedvirtual

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

Reimplemented from rtk::ForwardProjectionImageFilter< TInputImage, TOutputImage >.

Member Data Documentation

◆ InputImageDimension

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 291 of file rtkJosephForwardAttenuatedProjectionImageFilter.h.


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