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::ScatterGlareCorrectionImageFilter< TInputImage, TOutputImage, TFFTPrecision > Class Template Reference

#include <rtkScatterGlareCorrectionImageFilter.h>

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

Public Types

using CoefficientVectorType = typename std::vector< float >
 
using ConstPointer = itk::SmartPointer< const Self >
 
using FFTInputImagePointer = typename FFTInputImageType::Pointer
 
using FFTInputImageType = typename Superclass::FFTInputImageType
 
using FFTOutputImagePointer = typename FFTOutputImageType::Pointer
 
using FFTOutputImageType = typename Superclass::FFTOutputImageType
 
using FFTPrecisionType = TFFTPrecision
 
using IndexType = typename InputImageType::IndexType
 
using InputImageType = TInputImage
 
using OutputImageType = TOutputImage
 
using Pointer = itk::SmartPointer< Self >
 
using Self = ScatterGlareCorrectionImageFilter
 
using SizeType = typename InputImageType::SizeType
 
using Superclass = rtk::FFTProjectionsConvolutionImageFilter< TInputImage, TOutputImage, TFFTPrecision >
 
- Public Types inherited from rtk::FFTProjectionsConvolutionImageFilter< TInputImage, TOutputImage, TFFTPrecision >
using ConstPointer = itk::SmartPointer< const Self >
 
using FFTInputImagePointer = typename FFTInputImageType::Pointer
 
using FFTInputImageType = typename itk::Image< TFFTPrecision, TInputImage::ImageDimension >
 
using FFTOutputImagePointer = typename FFTOutputImageType::Pointer
 
using FFTOutputImageType = typename itk::Image< std::complex< TFFTPrecision >, TInputImage::ImageDimension >
 
using IndexType = typename InputImageType::IndexType
 
using InputImageType = TInputImage
 
using OutputImageType = TOutputImage
 
using Pointer = itk::SmartPointer< Self >
 
using RegionType = typename InputImageType::RegionType
 
using Self = FFTProjectionsConvolutionImageFilter
 
using SizeType = typename InputImageType::SizeType
 
using Superclass = itk::ImageToImageFilter< TInputImage, TOutputImage >
 
using ZeroPadFactorsType = itk::Vector< int, 2 >
 

Public Member Functions

virtual ::itk::LightObject::Pointer CreateAnother () const
 
virtual CoefficientVectorType GetCoefficients () const
 
virtual void SetCoefficients (const CoefficientVectorType coefficients)
 
virtual const char * GetNameOfClass () const
 
- Public Member Functions inherited from rtk::FFTProjectionsConvolutionImageFilter< TInputImage, TOutputImage, TFFTPrecision >
virtual int GetGreatestPrimeFactor () const
 
virtual void SetGreatestPrimeFactor (int _arg)
 
virtual double GetTruncationCorrection () const
 
virtual void SetTruncationCorrection (double _arg)
 
virtual ZeroPadFactorsType GetZeroPadFactors () const
 
virtual void SetZeroPadFactors (ZeroPadFactorsType _arg)
 

Static Public Member Functions

static Pointer New ()
 

Protected Member Functions

 ScatterGlareCorrectionImageFilter ()
 
void UpdateFFTProjectionsConvolutionKernel (const SizeType size) override
 
 ~ScatterGlareCorrectionImageFilter () override=default
 
- Protected Member Functions inherited from rtk::FFTProjectionsConvolutionImageFilter< TInputImage, TOutputImage, TFFTPrecision >
void AfterThreadedGenerateData () override
 
void BeforeThreadedGenerateData () override
 
 FFTProjectionsConvolutionImageFilter ()
 
void GenerateInputRequestedRegion () override
 
int GreatestPrimeFactor (int n) const
 
bool IsPrime (int n) const
 
void PrintSelf (std::ostream &os, itk::Indent indent) const override
 
void ThreadedGenerateData (const RegionType &outputRegionForThread, ThreadIdType threadId) override
 
virtual void UpdateTruncationMirrorWeights ()
 
 ~FFTProjectionsConvolutionImageFilter () override=default
 
virtual FFTInputImagePointer PadInputImageRegion (const RegionType &inputRegion)
 
RegionType GetPaddedImageRegion (const RegionType &inputRegion)
 

Private Attributes

CoefficientVectorType m_Coefficients
 
CoefficientVectorType m_PreviousCoefficients
 

Additional Inherited Members

- Static Public Attributes inherited from rtk::FFTProjectionsConvolutionImageFilter< TInputImage, TOutputImage, TFFTPrecision >
static constexpr unsigned int ImageDimension = TOutputImage::ImageDimension
 
- Protected Attributes inherited from rtk::FFTProjectionsConvolutionImageFilter< TInputImage, TOutputImage, TFFTPrecision >
int m_KernelDimension { 1 }
 
FFTOutputImagePointer m_KernelFFT
 
std::vector< TFFTPrecision > m_TruncationMirrorWeights
 

Detailed Description

template<class TInputImage, class TOutputImage = TInputImage, class TFFTPrecision = double>
class rtk::ScatterGlareCorrectionImageFilter< TInputImage, TOutputImage, TFFTPrecision >

Implements the scatter glare correction as described in [Poludniowski, PMB 2011].

The filter code is based on FFTConvolutionImageFilter by Gaetan Lehmann (see https://hdl.handle.net/10380/3154)

Test:
rtkscatterglaretest.cxx
Author
Sebastien Brousmiche

Definition at line 42 of file rtkScatterGlareCorrectionImageFilter.h.

Member Typedef Documentation

◆ CoefficientVectorType

template<class TInputImage , class TOutputImage = TInputImage, class TFFTPrecision = double>
using rtk::ScatterGlareCorrectionImageFilter< TInputImage, TOutputImage, TFFTPrecision >::CoefficientVectorType = typename std::vector<float>

Definition at line 66 of file rtkScatterGlareCorrectionImageFilter.h.

◆ ConstPointer

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

Definition at line 52 of file rtkScatterGlareCorrectionImageFilter.h.

◆ FFTInputImagePointer

template<class TInputImage , class TOutputImage = TInputImage, class TFFTPrecision = double>
using rtk::ScatterGlareCorrectionImageFilter< TInputImage, TOutputImage, TFFTPrecision >::FFTInputImagePointer = typename FFTInputImageType::Pointer

Definition at line 62 of file rtkScatterGlareCorrectionImageFilter.h.

◆ FFTInputImageType

template<class TInputImage , class TOutputImage = TInputImage, class TFFTPrecision = double>
using rtk::ScatterGlareCorrectionImageFilter< TInputImage, TOutputImage, TFFTPrecision >::FFTInputImageType = typename Superclass::FFTInputImageType

Definition at line 61 of file rtkScatterGlareCorrectionImageFilter.h.

◆ FFTOutputImagePointer

template<class TInputImage , class TOutputImage = TInputImage, class TFFTPrecision = double>
using rtk::ScatterGlareCorrectionImageFilter< TInputImage, TOutputImage, TFFTPrecision >::FFTOutputImagePointer = typename FFTOutputImageType::Pointer

Definition at line 64 of file rtkScatterGlareCorrectionImageFilter.h.

◆ FFTOutputImageType

template<class TInputImage , class TOutputImage = TInputImage, class TFFTPrecision = double>
using rtk::ScatterGlareCorrectionImageFilter< TInputImage, TOutputImage, TFFTPrecision >::FFTOutputImageType = typename Superclass::FFTOutputImageType

Definition at line 63 of file rtkScatterGlareCorrectionImageFilter.h.

◆ FFTPrecisionType

template<class TInputImage , class TOutputImage = TInputImage, class TFFTPrecision = double>
using rtk::ScatterGlareCorrectionImageFilter< TInputImage, TOutputImage, TFFTPrecision >::FFTPrecisionType = TFFTPrecision

Definition at line 57 of file rtkScatterGlareCorrectionImageFilter.h.

◆ IndexType

template<class TInputImage , class TOutputImage = TInputImage, class TFFTPrecision = double>
using rtk::ScatterGlareCorrectionImageFilter< TInputImage, TOutputImage, TFFTPrecision >::IndexType = typename InputImageType::IndexType

Definition at line 58 of file rtkScatterGlareCorrectionImageFilter.h.

◆ InputImageType

template<class TInputImage , class TOutputImage = TInputImage, class TFFTPrecision = double>
using rtk::ScatterGlareCorrectionImageFilter< TInputImage, TOutputImage, TFFTPrecision >::InputImageType = TInputImage

Some convenient type alias.

Definition at line 55 of file rtkScatterGlareCorrectionImageFilter.h.

◆ OutputImageType

template<class TInputImage , class TOutputImage = TInputImage, class TFFTPrecision = double>
using rtk::ScatterGlareCorrectionImageFilter< TInputImage, TOutputImage, TFFTPrecision >::OutputImageType = TOutputImage

Definition at line 56 of file rtkScatterGlareCorrectionImageFilter.h.

◆ Pointer

template<class TInputImage , class TOutputImage = TInputImage, class TFFTPrecision = double>
using rtk::ScatterGlareCorrectionImageFilter< TInputImage, TOutputImage, TFFTPrecision >::Pointer = itk::SmartPointer<Self>

Definition at line 51 of file rtkScatterGlareCorrectionImageFilter.h.

◆ Self

template<class TInputImage , class TOutputImage = TInputImage, class TFFTPrecision = double>
using rtk::ScatterGlareCorrectionImageFilter< TInputImage, TOutputImage, TFFTPrecision >::Self = ScatterGlareCorrectionImageFilter

Standard class type alias.

Definition at line 49 of file rtkScatterGlareCorrectionImageFilter.h.

◆ SizeType

template<class TInputImage , class TOutputImage = TInputImage, class TFFTPrecision = double>
using rtk::ScatterGlareCorrectionImageFilter< TInputImage, TOutputImage, TFFTPrecision >::SizeType = typename InputImageType::SizeType

Definition at line 59 of file rtkScatterGlareCorrectionImageFilter.h.

◆ Superclass

template<class TInputImage , class TOutputImage = TInputImage, class TFFTPrecision = double>
using rtk::ScatterGlareCorrectionImageFilter< TInputImage, TOutputImage, TFFTPrecision >::Superclass = rtk::FFTProjectionsConvolutionImageFilter<TInputImage, TOutputImage, TFFTPrecision>

Definition at line 50 of file rtkScatterGlareCorrectionImageFilter.h.

Constructor & Destructor Documentation

◆ ScatterGlareCorrectionImageFilter()

template<class TInputImage , class TOutputImage = TInputImage, class TFFTPrecision = double>
rtk::ScatterGlareCorrectionImageFilter< TInputImage, TOutputImage, TFFTPrecision >::ScatterGlareCorrectionImageFilter ( )
protected

◆ ~ScatterGlareCorrectionImageFilter()

template<class TInputImage , class TOutputImage = TInputImage, class TFFTPrecision = double>
rtk::ScatterGlareCorrectionImageFilter< TInputImage, TOutputImage, TFFTPrecision >::~ScatterGlareCorrectionImageFilter ( )
overrideprotecteddefault

Member Function Documentation

◆ CreateAnother()

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

Reimplemented from itk::Object.

◆ GetCoefficients()

template<class TInputImage , class TOutputImage = TInputImage, class TFFTPrecision = double>
virtual CoefficientVectorType rtk::ScatterGlareCorrectionImageFilter< TInputImage, TOutputImage, TFFTPrecision >::GetCoefficients ( ) const
virtual

◆ GetNameOfClass()

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

◆ New()

template<class TInputImage , class TOutputImage = TInputImage, class TFFTPrecision = double>
static Pointer rtk::ScatterGlareCorrectionImageFilter< TInputImage, TOutputImage, TFFTPrecision >::New ( )
static

Standard New method.

◆ SetCoefficients()

template<class TInputImage , class TOutputImage = TInputImage, class TFFTPrecision = double>
virtual void rtk::ScatterGlareCorrectionImageFilter< TInputImage, TOutputImage, TFFTPrecision >::SetCoefficients ( const CoefficientVectorType  coefficients)
inlinevirtual

Definition at line 81 of file rtkScatterGlareCorrectionImageFilter.h.

◆ UpdateFFTProjectionsConvolutionKernel()

template<class TInputImage , class TOutputImage = TInputImage, class TFFTPrecision = double>
void rtk::ScatterGlareCorrectionImageFilter< TInputImage, TOutputImage, TFFTPrecision >::UpdateFFTProjectionsConvolutionKernel ( const SizeType  size)
overrideprotectedvirtual

Member Data Documentation

◆ m_Coefficients

template<class TInputImage , class TOutputImage = TInputImage, class TFFTPrecision = double>
CoefficientVectorType rtk::ScatterGlareCorrectionImageFilter< TInputImage, TOutputImage, TFFTPrecision >::m_Coefficients
private

Definition at line 100 of file rtkScatterGlareCorrectionImageFilter.h.

◆ m_PreviousCoefficients

template<class TInputImage , class TOutputImage = TInputImage, class TFFTPrecision = double>
CoefficientVectorType rtk::ScatterGlareCorrectionImageFilter< TInputImage, TOutputImage, TFFTPrecision >::m_PreviousCoefficients
private

Definition at line 101 of file rtkScatterGlareCorrectionImageFilter.h.


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