RTK  2.0.1
Reconstruction Toolkit
Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | Private Attributes | List of all members
rtk::BoellaardScatterCorrectionImageFilter< TInputImage, TOutputImage > Class Template Reference

#include <rtkBoellaardScatterCorrectionImageFilter.h>

+ Inheritance diagram for rtk::BoellaardScatterCorrectionImageFilter< TInputImage, TOutputImage >:
+ Collaboration diagram for rtk::BoellaardScatterCorrectionImageFilter< TInputImage, TOutputImage >:

Public Types

using ConstPointer = itk::SmartPointer< const Self >
 
using InputImageType = TInputImage
 
using OutputImageRegionType = typename OutputImageType::RegionType
 
using OutputImageType = TOutputImage
 
using Pointer = itk::SmartPointer< Self >
 
using Self = BoellaardScatterCorrectionImageFilter
 
using Superclass = itk::ImageToImageFilter< TInputImage, TOutputImage >
 

Public Member Functions

virtual ::itk::LightObject::Pointer CreateAnother () const
 
virtual const char * GetNameOfClass () const
 
virtual double GetAirThreshold ()
 
virtual void SetAirThreshold (double _arg)
 
virtual double GetScatterToPrimaryRatio ()
 
virtual void SetScatterToPrimaryRatio (double _arg)
 
virtual double GetNonNegativityConstraintThreshold ()
 
virtual void SetNonNegativityConstraintThreshold (double _arg)
 

Static Public Member Functions

static Pointer New ()
 

Protected Member Functions

 BoellaardScatterCorrectionImageFilter ()
 
 ~BoellaardScatterCorrectionImageFilter () override=default
 
void EnlargeOutputRequestedRegion (itk::DataObject *) override
 
void ThreadedGenerateData (const OutputImageRegionType &outputRegionForThread, ThreadIdType threadId) override
 
unsigned int SplitRequestedRegion (unsigned int i, unsigned int num, OutputImageRegionType &splitRegion) override
 
virtual int SplitRequestedRegion (int i, int num, OutputImageRegionType &splitRegion)
 

Private Attributes

double m_AirThreshold {32000}
 
double m_NonNegativityConstraintThreshold {20}
 
double m_ScatterToPrimaryRatio {0.}
 

Detailed Description

template<class TInputImage, class TOutputImage = TInputImage>
class rtk::BoellaardScatterCorrectionImageFilter< TInputImage, TOutputImage >

Scatter correction for cone-beam CT reconstruction.

The scatter correction algorithm is based on the work of [Boellaard, Rad Onc, 1997]. It assumes a homogeneous contribution of scatter which is computed depending on the amount of tissues traversed by x-rays.

Author
Simon Rit

Definition at line 40 of file rtkBoellaardScatterCorrectionImageFilter.h.

Member Typedef Documentation

template<class TInputImage , class TOutputImage = TInputImage>
using rtk::BoellaardScatterCorrectionImageFilter< TInputImage, TOutputImage >::ConstPointer = itk::SmartPointer<const Self>

Definition at line 50 of file rtkBoellaardScatterCorrectionImageFilter.h.

template<class TInputImage , class TOutputImage = TInputImage>
using rtk::BoellaardScatterCorrectionImageFilter< TInputImage, TOutputImage >::InputImageType = TInputImage

Some convenient type alias.

Definition at line 53 of file rtkBoellaardScatterCorrectionImageFilter.h.

template<class TInputImage , class TOutputImage = TInputImage>
using rtk::BoellaardScatterCorrectionImageFilter< TInputImage, TOutputImage >::OutputImageRegionType = typename OutputImageType::RegionType

Definition at line 55 of file rtkBoellaardScatterCorrectionImageFilter.h.

template<class TInputImage , class TOutputImage = TInputImage>
using rtk::BoellaardScatterCorrectionImageFilter< TInputImage, TOutputImage >::OutputImageType = TOutputImage

Definition at line 54 of file rtkBoellaardScatterCorrectionImageFilter.h.

template<class TInputImage , class TOutputImage = TInputImage>
using rtk::BoellaardScatterCorrectionImageFilter< TInputImage, TOutputImage >::Pointer = itk::SmartPointer<Self>

Definition at line 49 of file rtkBoellaardScatterCorrectionImageFilter.h.

template<class TInputImage , class TOutputImage = TInputImage>
using rtk::BoellaardScatterCorrectionImageFilter< TInputImage, TOutputImage >::Self = BoellaardScatterCorrectionImageFilter

Standard class type alias.

Definition at line 47 of file rtkBoellaardScatterCorrectionImageFilter.h.

template<class TInputImage , class TOutputImage = TInputImage>
using rtk::BoellaardScatterCorrectionImageFilter< TInputImage, TOutputImage >::Superclass = itk::ImageToImageFilter<TInputImage, TOutputImage>

Definition at line 48 of file rtkBoellaardScatterCorrectionImageFilter.h.

Constructor & Destructor Documentation

template<class TInputImage , class TOutputImage = TInputImage>
rtk::BoellaardScatterCorrectionImageFilter< TInputImage, TOutputImage >::BoellaardScatterCorrectionImageFilter ( )
protected
template<class TInputImage , class TOutputImage = TInputImage>
rtk::BoellaardScatterCorrectionImageFilter< TInputImage, TOutputImage >::~BoellaardScatterCorrectionImageFilter ( )
overrideprotecteddefault

Member Function Documentation

template<class TInputImage , class TOutputImage = TInputImage>
virtual::itk::LightObject::Pointer rtk::BoellaardScatterCorrectionImageFilter< TInputImage, TOutputImage >::CreateAnother ( ) const
template<class TInputImage , class TOutputImage = TInputImage>
void rtk::BoellaardScatterCorrectionImageFilter< TInputImage, TOutputImage >::EnlargeOutputRequestedRegion ( itk::DataObject )
overrideprotected

Requires full projection images to estimate scatter

template<class TInputImage , class TOutputImage = TInputImage>
virtual double rtk::BoellaardScatterCorrectionImageFilter< TInputImage, TOutputImage >::GetAirThreshold ( )
virtual

Get / Set the air threshold on projection images. The threshold is used to evaluate which part of the x-rays have traversed the patient.

template<class TInputImage , class TOutputImage = TInputImage>
virtual const char* rtk::BoellaardScatterCorrectionImageFilter< TInputImage, TOutputImage >::GetNameOfClass ( ) const
virtual

Runtime information support.

Reimplemented from itk::InPlaceImageFilter< TInputImage, TOutputImage >.

template<class TInputImage , class TOutputImage = TInputImage>
virtual double rtk::BoellaardScatterCorrectionImageFilter< TInputImage, TOutputImage >::GetNonNegativityConstraintThreshold ( )
virtual

Get / Set the non-negativity constraint threshold. The pixels values will no be alowed below this signal to avoid nan when computing the log.

template<class TInputImage , class TOutputImage = TInputImage>
virtual double rtk::BoellaardScatterCorrectionImageFilter< TInputImage, TOutputImage >::GetScatterToPrimaryRatio ( )
virtual

Get / Set the scatter-to-primary ratio on projection images. This is used to measure the scatter level on the projection image from the total measure signal.

template<class TInputImage , class TOutputImage = TInputImage>
static Pointer rtk::BoellaardScatterCorrectionImageFilter< TInputImage, TOutputImage >::New ( )
static

Standard New method.

template<class TInputImage , class TOutputImage = TInputImage>
virtual void rtk::BoellaardScatterCorrectionImageFilter< TInputImage, TOutputImage >::SetAirThreshold ( double  _arg)
virtual

Get / Set the air threshold on projection images. The threshold is used to evaluate which part of the x-rays have traversed the patient.

template<class TInputImage , class TOutputImage = TInputImage>
virtual void rtk::BoellaardScatterCorrectionImageFilter< TInputImage, TOutputImage >::SetNonNegativityConstraintThreshold ( double  _arg)
virtual

Get / Set the non-negativity constraint threshold. The pixels values will no be alowed below this signal to avoid nan when computing the log.

template<class TInputImage , class TOutputImage = TInputImage>
virtual void rtk::BoellaardScatterCorrectionImageFilter< TInputImage, TOutputImage >::SetScatterToPrimaryRatio ( double  _arg)
virtual

Get / Set the scatter-to-primary ratio on projection images. This is used to measure the scatter level on the projection image from the total measure signal.

template<class TInputImage , class TOutputImage = TInputImage>
unsigned int rtk::BoellaardScatterCorrectionImageFilter< TInputImage, TOutputImage >::SplitRequestedRegion ( unsigned int  i,
unsigned int  num,
OutputImageRegionType splitRegion 
)
overrideprotected

Split the output's RequestedRegion into "num" pieces, returning region "i" as "splitRegion". Reimplemented from ImageSource to ensure that each thread covers entire projections.

template<class TInputImage , class TOutputImage = TInputImage>
virtual int rtk::BoellaardScatterCorrectionImageFilter< TInputImage, TOutputImage >::SplitRequestedRegion ( int  i,
int  num,
OutputImageRegionType splitRegion 
)
protectedvirtual

Split the output's RequestedRegion into "num" pieces, returning region "i" as "splitRegion". Reimplemented from ImageSource to ensure that each thread covers entire projections.

template<class TInputImage , class TOutputImage = TInputImage>
void rtk::BoellaardScatterCorrectionImageFilter< TInputImage, TOutputImage >::ThreadedGenerateData ( const OutputImageRegionType outputRegionForThread,
ThreadIdType  threadId 
)
overrideprotected

Requires full projection images to estimate scatter

Member Data Documentation

template<class TInputImage , class TOutputImage = TInputImage>
double rtk::BoellaardScatterCorrectionImageFilter< TInputImage, TOutputImage >::m_AirThreshold {32000}
private

Air threshold on projection images.

Definition at line 100 of file rtkBoellaardScatterCorrectionImageFilter.h.

template<class TInputImage , class TOutputImage = TInputImage>
double rtk::BoellaardScatterCorrectionImageFilter< TInputImage, TOutputImage >::m_NonNegativityConstraintThreshold {20}
private

Non-negativity constraint threshold

Definition at line 106 of file rtkBoellaardScatterCorrectionImageFilter.h.

template<class TInputImage , class TOutputImage = TInputImage>
double rtk::BoellaardScatterCorrectionImageFilter< TInputImage, TOutputImage >::m_ScatterToPrimaryRatio {0.}
private

Scatter to primary ratio

Definition at line 103 of file rtkBoellaardScatterCorrectionImageFilter.h.


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