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

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

Definition at line 78 of file rtkLUTbasedVariableI0RawToAttenuationImageFilter.h.

Member Typedef Documentation

template<class TInputImage , class TOutputImage >
using rtk::LUTbasedVariableI0RawToAttenuationImageFilter< TInputImage, TOutputImage >::ConstPointer = itk::SmartPointer< const Self >
template<class TInputImage , class TOutputImage >
using rtk::LUTbasedVariableI0RawToAttenuationImageFilter< TInputImage, TOutputImage >::InputImagePixelType = typename TInputImage::PixelType
template<class TInputImage , class TOutputImage >
using rtk::LUTbasedVariableI0RawToAttenuationImageFilter< TInputImage, TOutputImage >::LogLUTFilterType = typename itk::LogImageFilter<LookupTableType, LookupTableType>
template<class TInputImage , class TOutputImage >
using rtk::LUTbasedVariableI0RawToAttenuationImageFilter< TInputImage, TOutputImage >::LookupTableType = typename Superclass::FunctorType::LookupTableType
template<class TInputImage , class TOutputImage >
using rtk::LUTbasedVariableI0RawToAttenuationImageFilter< TInputImage, TOutputImage >::OutputImagePixelType = typename TOutputImage::PixelType
template<class TInputImage , class TOutputImage >
using rtk::LUTbasedVariableI0RawToAttenuationImageFilter< TInputImage, TOutputImage >::Pointer = itk::SmartPointer< 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.

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

Constructor & Destructor Documentation

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

Member Function Documentation

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

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

Air level I0

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

Intensity when there is no photons (beam off)

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

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

Method for creation through the object factory.

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

Air level I0

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

template<class TInputImage , class TOutputImage >
double rtk::LUTbasedVariableI0RawToAttenuationImageFilter< TInputImage, TOutputImage >::m_I0
private
template<class TInputImage , class TOutputImage >
double rtk::LUTbasedVariableI0RawToAttenuationImageFilter< TInputImage, TOutputImage >::m_IDark
private
template<class TInputImage , class TOutputImage >
LogLUTFilterType::Pointer rtk::LUTbasedVariableI0RawToAttenuationImageFilter< TInputImage, TOutputImage >::m_LogRampFilter
private
template<class TInputImage , class TOutputImage >
SubtractLUTFilterType::Pointer rtk::LUTbasedVariableI0RawToAttenuationImageFilter< TInputImage, TOutputImage >::m_SubtractLUTFilter
private
template<class TInputImage , class TOutputImage >
SubtractLUTFilterType::Pointer rtk::LUTbasedVariableI0RawToAttenuationImageFilter< TInputImage, TOutputImage >::m_SubtractRampFilter
private
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: