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::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 InputImagePixelType GetExpectedI0 ()
 
virtual InputImagePixelType GetI0 ()
 
virtual InputImagePixelType GetI0fwhm ()
 
virtual InputImagePixelType GetI0rls ()
 
virtual float GetLambda ()
 
virtual InputImagePixelType GetMaxPixelValue ()
 
virtual const char * GetNameOfClass () const
 
virtual void SetExpectedI0 (InputImagePixelType _arg)
 
virtual void SetLambda (float _arg)
 
virtual void SetMaxPixelValue (InputImagePixelType _arg)
 
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

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 56 of file rtkI0EstimationProjectionFilter.h.

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 67 of file rtkI0EstimationProjectionFilter.h.

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 66 of file rtkI0EstimationProjectionFilter.h.

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 69 of file rtkI0EstimationProjectionFilter.h.

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 65 of file rtkI0EstimationProjectionFilter.h.

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 68 of file rtkI0EstimationProjectionFilter.h.

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 55 of file rtkI0EstimationProjectionFilter.h.

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 53 of file rtkI0EstimationProjectionFilter.h.

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 54 of file rtkI0EstimationProjectionFilter.h.

Constructor & Destructor Documentation

template<class TInputImage = itk::Image< unsigned short, 3>, class TOutputImage = TInputImage, unsigned char bitShift = 2>
rtk::I0EstimationProjectionFilter< TInputImage, TOutputImage, bitShift >::I0EstimationProjectionFilter ( )
protected
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

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

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

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.

template<class TInputImage = itk::Image< unsigned short, 3>, class TOutputImage = TInputImage, unsigned char bitShift = 2>
virtual InputImagePixelType rtk::I0EstimationProjectionFilter< TInputImage, TOutputImage, bitShift >::GetExpectedI0 ( )
virtual
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.

template<class TInputImage = itk::Image< unsigned short, 3>, class TOutputImage = TInputImage, unsigned char bitShift = 2>
virtual InputImagePixelType rtk::I0EstimationProjectionFilter< TInputImage, TOutputImage, bitShift >::GetI0fwhm ( )
virtual
template<class TInputImage = itk::Image< unsigned short, 3>, class TOutputImage = TInputImage, unsigned char bitShift = 2>
virtual InputImagePixelType rtk::I0EstimationProjectionFilter< TInputImage, TOutputImage, bitShift >::GetI0rls ( )
virtual
template<class TInputImage = itk::Image< unsigned short, 3>, class TOutputImage = TInputImage, unsigned char bitShift = 2>
virtual float rtk::I0EstimationProjectionFilter< TInputImage, TOutputImage, bitShift >::GetLambda ( )
virtual
template<class TInputImage = itk::Image< unsigned short, 3>, class TOutputImage = TInputImage, unsigned char bitShift = 2>
virtual InputImagePixelType rtk::I0EstimationProjectionFilter< TInputImage, TOutputImage, bitShift >::GetMaxPixelValue ( )
virtual
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 >.

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

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

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.

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

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

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

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

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)

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

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.

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

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

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

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 142 of file rtkI0EstimationProjectionFilter.h.

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 118 of file rtkI0EstimationProjectionFilter.h.

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 145 of file rtkI0EstimationProjectionFilter.h.

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 131 of file rtkI0EstimationProjectionFilter.h.

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 132 of file rtkI0EstimationProjectionFilter.h.

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 135 of file rtkI0EstimationProjectionFilter.h.

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 134 of file rtkI0EstimationProjectionFilter.h.

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 140 of file rtkI0EstimationProjectionFilter.h.

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 140 of file rtkI0EstimationProjectionFilter.h.

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 122 of file rtkI0EstimationProjectionFilter.h.

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 145 of file rtkI0EstimationProjectionFilter.h.

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 120 of file rtkI0EstimationProjectionFilter.h.

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 148 of file rtkI0EstimationProjectionFilter.h.

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 127 of file rtkI0EstimationProjectionFilter.h.

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 138 of file rtkI0EstimationProjectionFilter.h.

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 149 of file rtkI0EstimationProjectionFilter.h.

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 150 of file rtkI0EstimationProjectionFilter.h.

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 124 of file rtkI0EstimationProjectionFilter.h.

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 123 of file rtkI0EstimationProjectionFilter.h.


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