RTK  2.5.0
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

◆ ConstPointer

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

Definition at line 50 of file rtkBoellaardScatterCorrectionImageFilter.h.

◆ InputImageType

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.

◆ OutputImageRegionType

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

Definition at line 55 of file rtkBoellaardScatterCorrectionImageFilter.h.

◆ OutputImageType

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

Definition at line 54 of file rtkBoellaardScatterCorrectionImageFilter.h.

◆ Pointer

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

Definition at line 49 of file rtkBoellaardScatterCorrectionImageFilter.h.

◆ Self

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.

◆ Superclass

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

◆ BoellaardScatterCorrectionImageFilter()

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

◆ ~BoellaardScatterCorrectionImageFilter()

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

Member Function Documentation

◆ CreateAnother()

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

Reimplemented from itk::Object.

◆ EnlargeOutputRequestedRegion()

template<class TInputImage , class TOutputImage = TInputImage>
void rtk::BoellaardScatterCorrectionImageFilter< TInputImage, TOutputImage >::EnlargeOutputRequestedRegion ( itk::DataObject )
overrideprotectedvirtual

Requires full projection images to estimate scatter

Reimplemented from itk::ProcessObject.

◆ GetAirThreshold()

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.

◆ GetNameOfClass()

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

◆ GetNonNegativityConstraintThreshold()

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.

◆ GetScatterToPrimaryRatio()

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.

◆ New()

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

Standard New method.

◆ SetAirThreshold()

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.

◆ SetNonNegativityConstraintThreshold()

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.

◆ SetScatterToPrimaryRatio()

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.

◆ SplitRequestedRegion() [1/2]

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

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

Reimplemented from itk::ImageSource< TOutputImage >.

◆ SplitRequestedRegion() [2/2]

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.

◆ ThreadedGenerateData()

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

Requires full projection images to estimate scatter

Reimplemented from itk::ImageSource< TOutputImage >.

Member Data Documentation

◆ m_AirThreshold

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

Air threshold on projection images.

Definition at line 109 of file rtkBoellaardScatterCorrectionImageFilter.h.

◆ m_NonNegativityConstraintThreshold

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

Non-negativity constraint threshold

Definition at line 115 of file rtkBoellaardScatterCorrectionImageFilter.h.

◆ m_ScatterToPrimaryRatio

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

Scatter to primary ratio

Definition at line 112 of file rtkBoellaardScatterCorrectionImageFilter.h.


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