RTK  2.0.1
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 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
 
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 ()
 
 ~JosephForwardAttenuatedProjectionImageFilter () override=default
 
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
 
 ~JosephForwardProjectionImageFilter () override=default
 
void VerifyInputInformation () override
 
- Protected Member Functions inherited from rtk::ForwardProjectionImageFilter< TInputImage, TOutputImage >
 ForwardProjectionImageFilter ()
 
 ~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 221 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>>
using rtk::JosephForwardAttenuatedProjectionImageFilter< TInputImage, TOutputImage, TInterpolationWeightMultiplication, TProjectedValueAccumulation, TSumAlongRay >::ConstPointer = itk::SmartPointer<const 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 >::CoordRepType = double
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
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
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
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>
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 228 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>>
using rtk::JosephForwardAttenuatedProjectionImageFilter< TInputImage, TOutputImage, TInterpolationWeightMultiplication, TProjectedValueAccumulation, TSumAlongRay >::Superclass = JosephForwardProjectionImageFilter<TInputImage,TOutputImage,TInterpolationWeightMultiplication, TProjectedValueAccumulation, TSumAlongRay>
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

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>>
rtk::JosephForwardAttenuatedProjectionImageFilter< TInputImage, TOutputImage, TInterpolationWeightMultiplication, TProjectedValueAccumulation, TSumAlongRay >::~JosephForwardAttenuatedProjectionImageFilter ( )
overrideprotecteddefault

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

Reimplemented from itk::ImageSource< TOutputImage >.

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.

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 >.

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

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


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