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

#include <rtkLUTbasedVariableI0RawToAttenuationImageFilter.h>

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

Public Types

using ConstPointer = itk::SmartPointer< const Self >
 
using InputImagePixelType = typename TInputImage::PixelType
 
using LogLUTFilterType = typename itk::LogImageFilter< LookupTableType, LookupTableType >
 
using LookupTableType = typename Superclass::FunctorType::LookupTableType
 
using OutputImagePixelType = typename TOutputImage::PixelType
 
using Pointer = itk::SmartPointer< Self >
 
using Self = LUTbasedVariableI0RawToAttenuationImageFilter
 
using SubtractLUTFilterType = typename itk::SubtractImageFilter< LookupTableType >
 
using Superclass = LookupTableImageFilter< TInputImage, TOutputImage >
 
using ThresholdLUTFilterType = typename itk::ThresholdImageFilter< LookupTableType >
 
- Public Types inherited from rtk::LookupTableImageFilter< TInputImage, TOutputImage >
using ConstPointer = itk::SmartPointer< const Self >
 
using FunctorType = Functor::LUT< typename TInputImage::PixelType, typename TOutputImage::PixelType >
 
using LookupTableType = typename FunctorType::LookupTableType
 
using Pointer = itk::SmartPointer< Self >
 
using Self = LookupTableImageFilter
 
using Superclass = itk::UnaryFunctorImageFilter< TInputImage, TOutputImage, FunctorType >
 

Public Member Functions

void BeforeThreadedGenerateData () override
 
virtual ::itk::LightObject::Pointer CreateAnother () const
 
virtual const char * GetNameOfClass () const
 
virtual double GetI0 ()
 
virtual void SetI0 (double _arg)
 
virtual double GetIDark ()
 
virtual void SetIDark (double _arg)
 
- Public Member Functions inherited from rtk::LookupTableImageFilter< TInputImage, TOutputImage >
virtual const LookupTableTypeGetLookupTable () const
 
virtual LookupTableTypeGetModifiableLookupTable ()
 
virtual void SetLookupTable (LookupTableType *_arg)
 

Static Public Member Functions

static Pointer New ()
 
- Static Public Member Functions inherited from rtk::LookupTableImageFilter< TInputImage, TOutputImage >
static Pointer New ()
 

Protected Member Functions

 LUTbasedVariableI0RawToAttenuationImageFilter ()
 
 ~LUTbasedVariableI0RawToAttenuationImageFilter () override=default
 
- Protected Member Functions inherited from rtk::LookupTableImageFilter< TInputImage, TOutputImage >
 LookupTableImageFilter ()=default
 
 ~LookupTableImageFilter () override=default
 

Private Attributes

double m_I0
 
double m_IDark
 
LogLUTFilterType::Pointer m_LogRampFilter
 
SubtractLUTFilterType::Pointer m_SubtractLUTFilter
 
SubtractLUTFilterType::Pointer m_SubtractRampFilter
 
ThresholdLUTFilterType::Pointer m_ThresholdRampFilter
 

Additional Inherited Members

- Protected Attributes inherited from rtk::LookupTableImageFilter< TInputImage, TOutputImage >
LookupTableType::Pointer m_LookupTable
 

Detailed Description

template<class TInputImage, class TOutputImage>
class rtk::LUTbasedVariableI0RawToAttenuationImageFilter< TInputImage, TOutputImage >

Performs the conversion from raw data to attenuations.

Performs the conversion from raw data to attenuations using a lookup table which is typically possible when the input type is 16-bit, e.g., unsigned short. The I0 value (intensity when there is no attenuation) is assumed to be constant and can be changed.

If the input is of type I0EstimationProjectionFilter, then the member I0 is not used but the estimated value is automatically retrieved.

The lookup table is obtained using the following mini-pipeline:

Test:
rtklutbasedrawtoattenuationtest.cxx
Author
S. Brousmiche, S. Rit

Definition at line 78 of file rtkLUTbasedVariableI0RawToAttenuationImageFilter.h.

Member Typedef Documentation

◆ ConstPointer

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

◆ InputImagePixelType

template<class TInputImage , class TOutputImage >
using rtk::LUTbasedVariableI0RawToAttenuationImageFilter< TInputImage, TOutputImage >::InputImagePixelType = typename TInputImage::PixelType

◆ LogLUTFilterType

template<class TInputImage , class TOutputImage >
using rtk::LUTbasedVariableI0RawToAttenuationImageFilter< TInputImage, TOutputImage >::LogLUTFilterType = typename itk::LogImageFilter<LookupTableType, LookupTableType>

◆ LookupTableType

template<class TInputImage , class TOutputImage >
using rtk::LUTbasedVariableI0RawToAttenuationImageFilter< TInputImage, TOutputImage >::LookupTableType = typename Superclass::FunctorType::LookupTableType

◆ OutputImagePixelType

template<class TInputImage , class TOutputImage >
using rtk::LUTbasedVariableI0RawToAttenuationImageFilter< TInputImage, TOutputImage >::OutputImagePixelType = typename TOutputImage::PixelType

◆ Pointer

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

◆ Self

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

Standard class type alias.

Definition at line 85 of file rtkLUTbasedVariableI0RawToAttenuationImageFilter.h.

◆ SubtractLUTFilterType

template<class TInputImage , class TOutputImage >
using rtk::LUTbasedVariableI0RawToAttenuationImageFilter< TInputImage, TOutputImage >::SubtractLUTFilterType = typename itk::SubtractImageFilter<LookupTableType>

◆ Superclass

template<class TInputImage , class TOutputImage >
using rtk::LUTbasedVariableI0RawToAttenuationImageFilter< TInputImage, TOutputImage >::Superclass = LookupTableImageFilter<TInputImage, TOutputImage>

◆ ThresholdLUTFilterType

template<class TInputImage , class TOutputImage >
using rtk::LUTbasedVariableI0RawToAttenuationImageFilter< TInputImage, TOutputImage >::ThresholdLUTFilterType = typename itk::ThresholdImageFilter<LookupTableType>

Constructor & Destructor Documentation

◆ LUTbasedVariableI0RawToAttenuationImageFilter()

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

◆ ~LUTbasedVariableI0RawToAttenuationImageFilter()

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

Member Function Documentation

◆ BeforeThreadedGenerateData()

template<class TInputImage , class TOutputImage >
void rtk::LUTbasedVariableI0RawToAttenuationImageFilter< TInputImage, TOutputImage >::BeforeThreadedGenerateData ( )
overridevirtual

Update the LUT before using it to process the data in case it is the result of a pipeline.

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

◆ CreateAnother()

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

◆ GetI0()

template<class TInputImage , class TOutputImage >
virtual double rtk::LUTbasedVariableI0RawToAttenuationImageFilter< TInputImage, TOutputImage >::GetI0 ( )
virtual

Air level I0

◆ GetIDark()

template<class TInputImage , class TOutputImage >
virtual double rtk::LUTbasedVariableI0RawToAttenuationImageFilter< TInputImage, TOutputImage >::GetIDark ( )
virtual

Intensity when there is no photons (beam off)

◆ GetNameOfClass()

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

Run-time type information (and related methods).

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

◆ New()

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

Method for creation through the object factory.

◆ SetI0()

template<class TInputImage , class TOutputImage >
virtual void rtk::LUTbasedVariableI0RawToAttenuationImageFilter< TInputImage, TOutputImage >::SetI0 ( double  _arg)
virtual

Air level I0

◆ SetIDark()

template<class TInputImage , class TOutputImage >
virtual void rtk::LUTbasedVariableI0RawToAttenuationImageFilter< TInputImage, TOutputImage >::SetIDark ( double  _arg)
virtual

Intensity when there is no photons (beam off)

Member Data Documentation

◆ m_I0

template<class TInputImage , class TOutputImage >
double rtk::LUTbasedVariableI0RawToAttenuationImageFilter< TInputImage, TOutputImage >::m_I0
private

◆ m_IDark

template<class TInputImage , class TOutputImage >
double rtk::LUTbasedVariableI0RawToAttenuationImageFilter< TInputImage, TOutputImage >::m_IDark
private

◆ m_LogRampFilter

template<class TInputImage , class TOutputImage >
LogLUTFilterType::Pointer rtk::LUTbasedVariableI0RawToAttenuationImageFilter< TInputImage, TOutputImage >::m_LogRampFilter
private

◆ m_SubtractLUTFilter

template<class TInputImage , class TOutputImage >
SubtractLUTFilterType::Pointer rtk::LUTbasedVariableI0RawToAttenuationImageFilter< TInputImage, TOutputImage >::m_SubtractLUTFilter
private

◆ m_SubtractRampFilter

template<class TInputImage , class TOutputImage >
SubtractLUTFilterType::Pointer rtk::LUTbasedVariableI0RawToAttenuationImageFilter< TInputImage, TOutputImage >::m_SubtractRampFilter
private

◆ m_ThresholdRampFilter

template<class TInputImage , class TOutputImage >
ThresholdLUTFilterType::Pointer rtk::LUTbasedVariableI0RawToAttenuationImageFilter< TInputImage, TOutputImage >::m_ThresholdRampFilter
private

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