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

#include <rtkI0EstimationProjectionFilter.h>

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

Public Types

using ConstPointer = itk::SmartPointer< const Self >
 
using ImageConstPointer = typename InputImageType::ConstPointer
 
using ImagePointer = typename InputImageType::Pointer
 
using InputImagePixelType = typename InputImageType::PixelType
 
using InputImageType = TInputImage
 
using OutputImageRegionType = typename Superclass::OutputImageRegionType
 
using Pointer = itk::SmartPointer< Self >
 
using Self = I0EstimationProjectionFilter< TInputImage, TOutputImage, bitShift >
 
using Superclass = itk::InPlaceImageFilter< TInputImage, TOutputImage >
 

Public Member Functions

virtual ::itk::LightObject::Pointer CreateAnother () const
 
virtual const char * GetNameOfClass () const
 
virtual InputImagePixelType GetI0 ()
 
virtual InputImagePixelType GetI0fwhm ()
 
virtual InputImagePixelType GetI0rls ()
 
virtual void SetMaxPixelValue (InputImagePixelType _arg)
 
virtual InputImagePixelType GetMaxPixelValue ()
 
virtual void SetExpectedI0 (InputImagePixelType _arg)
 
virtual InputImagePixelType GetExpectedI0 ()
 
virtual void SetLambda (float _arg)
 
virtual float GetLambda ()
 
virtual void SetReset (bool _arg)
 
virtual bool GetReset () const
 
virtual void ResetOn ()
 
virtual void ResetOff ()
 
virtual void SetSaveHistograms (bool _arg)
 
virtual bool GetSaveHistograms () const
 
virtual void SaveHistogramsOn ()
 
virtual void SaveHistogramsOff ()
 

Static Public Member Functions

static Pointer New ()
 

Protected Member Functions

void AfterThreadedGenerateData () override
 
void BeforeThreadedGenerateData () override
 
 I0EstimationProjectionFilter ()
 
void ThreadedGenerateData (const OutputImageRegionType &outputRegionForThread, ThreadIdType threadId) override
 
 ~I0EstimationProjectionFilter () override=default
 

Private Attributes

unsigned int m_DynThreshold
 
InputImagePixelType m_ExpectedI0
 
unsigned int m_HighBound
 
std::vector< unsigned int > m_Histogram
 
InputImagePixelType m_I0
 
InputImagePixelType m_I0fwhm
 
InputImagePixelType m_I0rls
 
InputImagePixelType m_Imax
 
InputImagePixelType m_Imin
 
float m_Lambda
 
unsigned int m_LowBound
 
InputImagePixelType m_MaxPixelValue
 
std::mutex m_Mutex
 
std::vector< unsigned int >::size_type m_NBins
 
unsigned int m_Np
 
int m_Nsync
 
int m_Nthreads
 
bool m_Reset
 
bool m_SaveHistograms
 

Detailed Description

template<class TInputImage = itk::Image<unsigned short, 3>, class TOutputImage = TInputImage, unsigned char bitShift = 2>
class rtk::I0EstimationProjectionFilter< TInputImage, TOutputImage, bitShift >

Estimate the I0 value from the projection histograms.

Author
Sebastien Brousmiche
Test:
rtkI0estimationtest.cxx

Definition at line 46 of file rtkI0EstimationProjectionFilter.h.

Member Typedef Documentation

◆ ConstPointer

template<class TInputImage = itk::Image<unsigned short, 3>, class TOutputImage = TInputImage, unsigned char bitShift = 2>
using rtk::I0EstimationProjectionFilter< TInputImage, TOutputImage, bitShift >::ConstPointer = itk::SmartPointer<const Self>

Definition at line 55 of file rtkI0EstimationProjectionFilter.h.

◆ ImageConstPointer

template<class TInputImage = itk::Image<unsigned short, 3>, class TOutputImage = TInputImage, unsigned char bitShift = 2>
using rtk::I0EstimationProjectionFilter< TInputImage, TOutputImage, bitShift >::ImageConstPointer = typename InputImageType::ConstPointer

Definition at line 71 of file rtkI0EstimationProjectionFilter.h.

◆ ImagePointer

template<class TInputImage = itk::Image<unsigned short, 3>, class TOutputImage = TInputImage, unsigned char bitShift = 2>
using rtk::I0EstimationProjectionFilter< TInputImage, TOutputImage, bitShift >::ImagePointer = typename InputImageType::Pointer

Definition at line 70 of file rtkI0EstimationProjectionFilter.h.

◆ InputImagePixelType

template<class TInputImage = itk::Image<unsigned short, 3>, class TOutputImage = TInputImage, unsigned char bitShift = 2>
using rtk::I0EstimationProjectionFilter< TInputImage, TOutputImage, bitShift >::InputImagePixelType = typename InputImageType::PixelType

Definition at line 73 of file rtkI0EstimationProjectionFilter.h.

◆ InputImageType

template<class TInputImage = itk::Image<unsigned short, 3>, class TOutputImage = TInputImage, unsigned char bitShift = 2>
using rtk::I0EstimationProjectionFilter< TInputImage, TOutputImage, bitShift >::InputImageType = TInputImage

Some convenient type alias.

Definition at line 69 of file rtkI0EstimationProjectionFilter.h.

◆ OutputImageRegionType

template<class TInputImage = itk::Image<unsigned short, 3>, class TOutputImage = TInputImage, unsigned char bitShift = 2>
using rtk::I0EstimationProjectionFilter< TInputImage, TOutputImage, bitShift >::OutputImageRegionType = typename Superclass::OutputImageRegionType

Definition at line 72 of file rtkI0EstimationProjectionFilter.h.

◆ Pointer

template<class TInputImage = itk::Image<unsigned short, 3>, class TOutputImage = TInputImage, unsigned char bitShift = 2>
using rtk::I0EstimationProjectionFilter< TInputImage, TOutputImage, bitShift >::Pointer = itk::SmartPointer<Self>

Definition at line 54 of file rtkI0EstimationProjectionFilter.h.

◆ Self

template<class TInputImage = itk::Image<unsigned short, 3>, class TOutputImage = TInputImage, unsigned char bitShift = 2>
using rtk::I0EstimationProjectionFilter< TInputImage, TOutputImage, bitShift >::Self = I0EstimationProjectionFilter<TInputImage, TOutputImage, bitShift>

Standard class type alias.

Definition at line 52 of file rtkI0EstimationProjectionFilter.h.

◆ Superclass

template<class TInputImage = itk::Image<unsigned short, 3>, class TOutputImage = TInputImage, unsigned char bitShift = 2>
using rtk::I0EstimationProjectionFilter< TInputImage, TOutputImage, bitShift >::Superclass = itk::InPlaceImageFilter<TInputImage, TOutputImage>

Definition at line 53 of file rtkI0EstimationProjectionFilter.h.

Constructor & Destructor Documentation

◆ I0EstimationProjectionFilter()

template<class TInputImage = itk::Image<unsigned short, 3>, class TOutputImage = TInputImage, unsigned char bitShift = 2>
rtk::I0EstimationProjectionFilter< TInputImage, TOutputImage, bitShift >::I0EstimationProjectionFilter ( )
protected

◆ ~I0EstimationProjectionFilter()

template<class TInputImage = itk::Image<unsigned short, 3>, class TOutputImage = TInputImage, unsigned char bitShift = 2>
rtk::I0EstimationProjectionFilter< TInputImage, TOutputImage, bitShift >::~I0EstimationProjectionFilter ( )
overrideprotecteddefault

Member Function Documentation

◆ AfterThreadedGenerateData()

template<class TInputImage = itk::Image<unsigned short, 3>, class TOutputImage = TInputImage, unsigned char bitShift = 2>
void rtk::I0EstimationProjectionFilter< TInputImage, TOutputImage, bitShift >::AfterThreadedGenerateData ( )
overrideprotectedvirtual

Reimplemented from itk::ImageSource< TOutputImage >.

◆ BeforeThreadedGenerateData()

template<class TInputImage = itk::Image<unsigned short, 3>, class TOutputImage = TInputImage, unsigned char bitShift = 2>
void rtk::I0EstimationProjectionFilter< TInputImage, TOutputImage, bitShift >::BeforeThreadedGenerateData ( )
overrideprotectedvirtual

Reimplemented from itk::ImageSource< TOutputImage >.

◆ CreateAnother()

template<class TInputImage = itk::Image<unsigned short, 3>, class TOutputImage = TInputImage, unsigned char bitShift = 2>
virtual::itk::LightObject::Pointer rtk::I0EstimationProjectionFilter< TInputImage, TOutputImage, bitShift >::CreateAnother ( ) const
virtual

Reimplemented from itk::Object.

◆ GetExpectedI0()

template<class TInputImage = itk::Image<unsigned short, 3>, class TOutputImage = TInputImage, unsigned char bitShift = 2>
virtual InputImagePixelType rtk::I0EstimationProjectionFilter< TInputImage, TOutputImage, bitShift >::GetExpectedI0 ( )
virtual

Expected I0 value (as a result of a detector calibration)

◆ GetI0()

template<class TInputImage = itk::Image<unsigned short, 3>, class TOutputImage = TInputImage, unsigned char bitShift = 2>
virtual InputImagePixelType rtk::I0EstimationProjectionFilter< TInputImage, TOutputImage, bitShift >::GetI0 ( )
virtual

Main Output: estimation result.

◆ GetI0fwhm()

template<class TInputImage = itk::Image<unsigned short, 3>, class TOutputImage = TInputImage, unsigned char bitShift = 2>
virtual InputImagePixelType rtk::I0EstimationProjectionFilter< TInputImage, TOutputImage, bitShift >::GetI0fwhm ( )
virtual

Main Output: estimation result.

◆ GetI0rls()

template<class TInputImage = itk::Image<unsigned short, 3>, class TOutputImage = TInputImage, unsigned char bitShift = 2>
virtual InputImagePixelType rtk::I0EstimationProjectionFilter< TInputImage, TOutputImage, bitShift >::GetI0rls ( )
virtual

Main Output: estimation result.

◆ GetLambda()

template<class TInputImage = itk::Image<unsigned short, 3>, class TOutputImage = TInputImage, unsigned char bitShift = 2>
virtual float rtk::I0EstimationProjectionFilter< TInputImage, TOutputImage, bitShift >::GetLambda ( )
virtual

RSL estimate coefficient

◆ GetMaxPixelValue()

template<class TInputImage = itk::Image<unsigned short, 3>, class TOutputImage = TInputImage, unsigned char bitShift = 2>
virtual InputImagePixelType rtk::I0EstimationProjectionFilter< TInputImage, TOutputImage, bitShift >::GetMaxPixelValue ( )
virtual

Maximum encodable detector value if different from (2^16-1). The default is the minimum between 2^24-1 and the numerical limit of the input pixel type. This allows to limit histogram size to 2^(24-bitShift)-1.

◆ GetNameOfClass()

template<class TInputImage = itk::Image<unsigned short, 3>, class TOutputImage = TInputImage, unsigned char bitShift = 2>
virtual const char* rtk::I0EstimationProjectionFilter< TInputImage, TOutputImage, bitShift >::GetNameOfClass ( ) const
virtual

Runtime information support.

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

◆ GetReset()

template<class TInputImage = itk::Image<unsigned short, 3>, class TOutputImage = TInputImage, unsigned char bitShift = 2>
virtual bool rtk::I0EstimationProjectionFilter< TInputImage, TOutputImage, bitShift >::GetReset ( ) const
virtual

Write Histograms in a csv file Is false by default

◆ GetSaveHistograms()

template<class TInputImage = itk::Image<unsigned short, 3>, class TOutputImage = TInputImage, unsigned char bitShift = 2>
virtual bool rtk::I0EstimationProjectionFilter< TInputImage, TOutputImage, bitShift >::GetSaveHistograms ( ) const
virtual

Write Histograms in a csv file Is false by default

◆ New()

template<class TInputImage = itk::Image<unsigned short, 3>, class TOutputImage = TInputImage, unsigned char bitShift = 2>
static Pointer rtk::I0EstimationProjectionFilter< TInputImage, TOutputImage, bitShift >::New ( )
static

Method for creation through the object factory.

◆ ResetOff()

template<class TInputImage = itk::Image<unsigned short, 3>, class TOutputImage = TInputImage, unsigned char bitShift = 2>
virtual void rtk::I0EstimationProjectionFilter< TInputImage, TOutputImage, bitShift >::ResetOff ( )
virtual

Write Histograms in a csv file Is false by default

◆ ResetOn()

template<class TInputImage = itk::Image<unsigned short, 3>, class TOutputImage = TInputImage, unsigned char bitShift = 2>
virtual void rtk::I0EstimationProjectionFilter< TInputImage, TOutputImage, bitShift >::ResetOn ( )
virtual

Write Histograms in a csv file Is false by default

◆ SaveHistogramsOff()

template<class TInputImage = itk::Image<unsigned short, 3>, class TOutputImage = TInputImage, unsigned char bitShift = 2>
virtual void rtk::I0EstimationProjectionFilter< TInputImage, TOutputImage, bitShift >::SaveHistogramsOff ( )
virtual

Write Histograms in a csv file Is false by default

◆ SaveHistogramsOn()

template<class TInputImage = itk::Image<unsigned short, 3>, class TOutputImage = TInputImage, unsigned char bitShift = 2>
virtual void rtk::I0EstimationProjectionFilter< TInputImage, TOutputImage, bitShift >::SaveHistogramsOn ( )
virtual

Write Histograms in a csv file Is false by default

◆ SetExpectedI0()

template<class TInputImage = itk::Image<unsigned short, 3>, class TOutputImage = TInputImage, unsigned char bitShift = 2>
virtual void rtk::I0EstimationProjectionFilter< TInputImage, TOutputImage, bitShift >::SetExpectedI0 ( InputImagePixelType  _arg)
virtual

Expected I0 value (as a result of a detector calibration)

◆ SetLambda()

template<class TInputImage = itk::Image<unsigned short, 3>, class TOutputImage = TInputImage, unsigned char bitShift = 2>
virtual void rtk::I0EstimationProjectionFilter< TInputImage, TOutputImage, bitShift >::SetLambda ( float  _arg)
virtual

RSL estimate coefficient

◆ SetMaxPixelValue()

template<class TInputImage = itk::Image<unsigned short, 3>, class TOutputImage = TInputImage, unsigned char bitShift = 2>
virtual void rtk::I0EstimationProjectionFilter< TInputImage, TOutputImage, bitShift >::SetMaxPixelValue ( InputImagePixelType  _arg)
virtual

Maximum encodable detector value if different from (2^16-1). The default is the minimum between 2^24-1 and the numerical limit of the input pixel type. This allows to limit histogram size to 2^(24-bitShift)-1.

◆ SetReset()

template<class TInputImage = itk::Image<unsigned short, 3>, class TOutputImage = TInputImage, unsigned char bitShift = 2>
virtual void rtk::I0EstimationProjectionFilter< TInputImage, TOutputImage, bitShift >::SetReset ( bool  _arg)
virtual

Write Histograms in a csv file Is false by default

◆ SetSaveHistograms()

template<class TInputImage = itk::Image<unsigned short, 3>, class TOutputImage = TInputImage, unsigned char bitShift = 2>
virtual void rtk::I0EstimationProjectionFilter< TInputImage, TOutputImage, bitShift >::SetSaveHistograms ( bool  _arg)
virtual

Write Histograms in a csv file Is false by default

◆ ThreadedGenerateData()

template<class TInputImage = itk::Image<unsigned short, 3>, class TOutputImage = TInputImage, unsigned char bitShift = 2>
void rtk::I0EstimationProjectionFilter< TInputImage, TOutputImage, bitShift >::ThreadedGenerateData ( const OutputImageRegionType outputRegionForThread,
ThreadIdType  threadId 
)
overrideprotectedvirtual

Reimplemented from itk::ImageSource< TOutputImage >.

Member Data Documentation

◆ m_DynThreshold

template<class TInputImage = itk::Image<unsigned short, 3>, class TOutputImage = TInputImage, unsigned char bitShift = 2>
unsigned int rtk::I0EstimationProjectionFilter< TInputImage, TOutputImage, bitShift >::m_DynThreshold
private

Definition at line 153 of file rtkI0EstimationProjectionFilter.h.

◆ m_ExpectedI0

template<class TInputImage = itk::Image<unsigned short, 3>, class TOutputImage = TInputImage, unsigned char bitShift = 2>
InputImagePixelType rtk::I0EstimationProjectionFilter< TInputImage, TOutputImage, bitShift >::m_ExpectedI0
private

Definition at line 129 of file rtkI0EstimationProjectionFilter.h.

◆ m_HighBound

template<class TInputImage = itk::Image<unsigned short, 3>, class TOutputImage = TInputImage, unsigned char bitShift = 2>
unsigned int rtk::I0EstimationProjectionFilter< TInputImage, TOutputImage, bitShift >::m_HighBound
private

Definition at line 156 of file rtkI0EstimationProjectionFilter.h.

◆ m_Histogram

template<class TInputImage = itk::Image<unsigned short, 3>, class TOutputImage = TInputImage, unsigned char bitShift = 2>
std::vector<unsigned int> rtk::I0EstimationProjectionFilter< TInputImage, TOutputImage, bitShift >::m_Histogram
private

Definition at line 142 of file rtkI0EstimationProjectionFilter.h.

◆ m_I0

template<class TInputImage = itk::Image<unsigned short, 3>, class TOutputImage = TInputImage, unsigned char bitShift = 2>
InputImagePixelType rtk::I0EstimationProjectionFilter< TInputImage, TOutputImage, bitShift >::m_I0
private

Definition at line 143 of file rtkI0EstimationProjectionFilter.h.

◆ m_I0fwhm

template<class TInputImage = itk::Image<unsigned short, 3>, class TOutputImage = TInputImage, unsigned char bitShift = 2>
InputImagePixelType rtk::I0EstimationProjectionFilter< TInputImage, TOutputImage, bitShift >::m_I0fwhm
private

Definition at line 146 of file rtkI0EstimationProjectionFilter.h.

◆ m_I0rls

template<class TInputImage = itk::Image<unsigned short, 3>, class TOutputImage = TInputImage, unsigned char bitShift = 2>
InputImagePixelType rtk::I0EstimationProjectionFilter< TInputImage, TOutputImage, bitShift >::m_I0rls
private

Definition at line 145 of file rtkI0EstimationProjectionFilter.h.

◆ m_Imax

template<class TInputImage = itk::Image<unsigned short, 3>, class TOutputImage = TInputImage, unsigned char bitShift = 2>
InputImagePixelType rtk::I0EstimationProjectionFilter< TInputImage, TOutputImage, bitShift >::m_Imax
private

Definition at line 151 of file rtkI0EstimationProjectionFilter.h.

◆ m_Imin

template<class TInputImage = itk::Image<unsigned short, 3>, class TOutputImage = TInputImage, unsigned char bitShift = 2>
InputImagePixelType rtk::I0EstimationProjectionFilter< TInputImage, TOutputImage, bitShift >::m_Imin
private

Definition at line 151 of file rtkI0EstimationProjectionFilter.h.

◆ m_Lambda

template<class TInputImage = itk::Image<unsigned short, 3>, class TOutputImage = TInputImage, unsigned char bitShift = 2>
float rtk::I0EstimationProjectionFilter< TInputImage, TOutputImage, bitShift >::m_Lambda
private

Definition at line 133 of file rtkI0EstimationProjectionFilter.h.

◆ m_LowBound

template<class TInputImage = itk::Image<unsigned short, 3>, class TOutputImage = TInputImage, unsigned char bitShift = 2>
unsigned int rtk::I0EstimationProjectionFilter< TInputImage, TOutputImage, bitShift >::m_LowBound
private

Definition at line 156 of file rtkI0EstimationProjectionFilter.h.

◆ m_MaxPixelValue

template<class TInputImage = itk::Image<unsigned short, 3>, class TOutputImage = TInputImage, unsigned char bitShift = 2>
InputImagePixelType rtk::I0EstimationProjectionFilter< TInputImage, TOutputImage, bitShift >::m_MaxPixelValue
private

Definition at line 131 of file rtkI0EstimationProjectionFilter.h.

◆ m_Mutex

template<class TInputImage = itk::Image<unsigned short, 3>, class TOutputImage = TInputImage, unsigned char bitShift = 2>
std::mutex rtk::I0EstimationProjectionFilter< TInputImage, TOutputImage, bitShift >::m_Mutex
private

Definition at line 159 of file rtkI0EstimationProjectionFilter.h.

◆ m_NBins

template<class TInputImage = itk::Image<unsigned short, 3>, class TOutputImage = TInputImage, unsigned char bitShift = 2>
std::vector<unsigned int>::size_type rtk::I0EstimationProjectionFilter< TInputImage, TOutputImage, bitShift >::m_NBins
private

Definition at line 138 of file rtkI0EstimationProjectionFilter.h.

◆ m_Np

template<class TInputImage = itk::Image<unsigned short, 3>, class TOutputImage = TInputImage, unsigned char bitShift = 2>
unsigned int rtk::I0EstimationProjectionFilter< TInputImage, TOutputImage, bitShift >::m_Np
private

Definition at line 149 of file rtkI0EstimationProjectionFilter.h.

◆ m_Nsync

template<class TInputImage = itk::Image<unsigned short, 3>, class TOutputImage = TInputImage, unsigned char bitShift = 2>
int rtk::I0EstimationProjectionFilter< TInputImage, TOutputImage, bitShift >::m_Nsync
private

Definition at line 160 of file rtkI0EstimationProjectionFilter.h.

◆ m_Nthreads

template<class TInputImage = itk::Image<unsigned short, 3>, class TOutputImage = TInputImage, unsigned char bitShift = 2>
int rtk::I0EstimationProjectionFilter< TInputImage, TOutputImage, bitShift >::m_Nthreads
private

Definition at line 161 of file rtkI0EstimationProjectionFilter.h.

◆ m_Reset

template<class TInputImage = itk::Image<unsigned short, 3>, class TOutputImage = TInputImage, unsigned char bitShift = 2>
bool rtk::I0EstimationProjectionFilter< TInputImage, TOutputImage, bitShift >::m_Reset
private

Definition at line 135 of file rtkI0EstimationProjectionFilter.h.

◆ m_SaveHistograms

template<class TInputImage = itk::Image<unsigned short, 3>, class TOutputImage = TInputImage, unsigned char bitShift = 2>
bool rtk::I0EstimationProjectionFilter< TInputImage, TOutputImage, bitShift >::m_SaveHistograms
private

Definition at line 134 of file rtkI0EstimationProjectionFilter.h.


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