RTK  1.4.0
Reconstruction Toolkit
Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | Private 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

typedef itk::SmartPointer< const SelfConstPointer
 
typedef InputImageType::ConstPointer ImageConstPointer
 
typedef InputImageType::Pointer ImagePointer
 
typedef InputImageType::PixelType InputImagePixelType
 
typedef TInputImage InputImageType
 
typedef Superclass::OutputImageRegionType OutputImageRegionType
 
typedef itk::SmartPointer< SelfPointer
 
typedef I0EstimationProjectionFilter< TInputImage, TOutputImage, bitShift > Self
 
typedef itk::InPlaceImageFilter< TInputImage, TOutputImage > Superclass
 

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
 
virtual ~I0EstimationProjectionFilter () override
 

Private Member Functions

 I0EstimationProjectionFilter (const Self &)
 
void operator= (const Self &)
 

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
 
itk::MutexLock::Pointer 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>
typedef itk::SmartPointer<const Self> rtk::I0EstimationProjectionFilter< TInputImage, TOutputImage, bitShift >::ConstPointer

Definition at line 54 of file rtkI0EstimationProjectionFilter.h.

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

Definition at line 65 of file rtkI0EstimationProjectionFilter.h.

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

Definition at line 64 of file rtkI0EstimationProjectionFilter.h.

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

Definition at line 67 of file rtkI0EstimationProjectionFilter.h.

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

Some convenient typedefs.

Definition at line 60 of file rtkI0EstimationProjectionFilter.h.

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

Definition at line 66 of file rtkI0EstimationProjectionFilter.h.

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

Definition at line 53 of file rtkI0EstimationProjectionFilter.h.

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

Standard class typedefs.

Definition at line 51 of file rtkI0EstimationProjectionFilter.h.

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

Definition at line 52 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>
virtual rtk::I0EstimationProjectionFilter< TInputImage, TOutputImage, bitShift >::~I0EstimationProjectionFilter ( )
inlineoverrideprotectedvirtual

Definition at line 106 of file rtkI0EstimationProjectionFilter.h.

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

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 ( )
overrideprotected
template<class TInputImage = itk::Image< unsigned short, 3>, class TOutputImage = TInputImage, unsigned char bitShift = 2>
void rtk::I0EstimationProjectionFilter< TInputImage, TOutputImage, bitShift >::BeforeThreadedGenerateData ( )
overrideprotected
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
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>
void rtk::I0EstimationProjectionFilter< TInputImage, TOutputImage, bitShift >::operator= ( const Self )
private
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 
)
overrideprotected

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 143 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 119 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 146 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 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_I0
private

Definition at line 133 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 136 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 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_Imax
private

Definition at line 141 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 141 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 123 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 146 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 121 of file rtkI0EstimationProjectionFilter.h.

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

Definition at line 149 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 128 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 139 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 150 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 151 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 125 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 124 of file rtkI0EstimationProjectionFilter.h.


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