RTK  1.4.0
Reconstruction Toolkit
Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes | Private Member Functions | List of all members
rtk::WeidingerForwardModelImageFilter< TMaterialProjections, TPhotonCounts, TSpectrum, TProjections > Class Template Reference

#include <rtkWeidingerForwardModelImageFilter.h>

+ Inheritance diagram for rtk::WeidingerForwardModelImageFilter< TMaterialProjections, TPhotonCounts, TSpectrum, TProjections >:
+ Collaboration diagram for rtk::WeidingerForwardModelImageFilter< TMaterialProjections, TPhotonCounts, TSpectrum, TProjections >:

Public Types

typedef vnl_matrix< dataTypeBinnedDetectorResponseType
 
typedef TMaterialProjections::PixelType::ValueType dataType
 
typedef vnl_matrix< dataTypeMaterialAttenuationsType
 
typedef itk::SmartPointer< SelfPointer
 
typedef WeidingerForwardModelImageFilter Self
 
typedef itk::ImageToImageFilter< TMaterialProjections, TMaterialProjections > Superclass
 
typedef TMaterialProjections TOutputImage1
 
typedef itk::Image< TPixelOutput2, TMaterialProjections::ImageDimensionTOutputImage2
 
typedef itk::Vector< dataType, nMaterials *nMaterialsTPixelOutput2
 

Public Member Functions

virtual ::itk::LightObject::Pointer CreateAnother () const
 
virtual const char * GetNameOfClass () const
 
TOutputImage1GetOutput1 ()
 
TOutputImage2GetOutput2 ()
 
void SetInputMaterialProjections (const TMaterialProjections *materialProjections)
 
void SetInputPhotonCounts (const TPhotonCounts *photonCounts)
 
void SetInputSpectrum (const TSpectrum *spectrum)
 
void SetInputProjectionsOfOnes (const TProjections *projectionsOfOnes)
 
virtual const BinnedDetectorResponseTypeGetBinnedDetectorResponse () const
 
virtual const MaterialAttenuationsTypeGetMaterialAttenuations () const
 
virtual void SetBinnedDetectorResponse (const BinnedDetectorResponseType &detResp)
 
virtual void SetMaterialAttenuations (const MaterialAttenuationsType &matAtt)
 

Static Public Member Functions

static Pointer New ()
 

Static Public Attributes

static const unsigned int nBins = TPhotonCounts::PixelType::Dimension
 
static const unsigned int nMaterials = TMaterialProjections::PixelType::Dimension
 

Protected Member Functions

void GenerateInputRequestedRegion () override
 
itk::DataObject::Pointer MakeOutput (itk::ProcessObject::DataObjectPointerArraySizeType idx) override
 
void VerifyInputInformation () override
 
 WeidingerForwardModelImageFilter ()
 
 ~WeidingerForwardModelImageFilter ()
 
void ThreadedGenerateData (const typename TOutputImage1::RegionType &outputRegionForThread, itk::ThreadIdType) override
 
TMaterialProjections::ConstPointer GetInputMaterialProjections ()
 
TPhotonCounts::ConstPointer GetInputPhotonCounts ()
 
TSpectrum::ConstPointer GetInputSpectrum ()
 
TProjections::ConstPointer GetInputProjectionsOfOnes ()
 

Protected Attributes

BinnedDetectorResponseType m_BinnedDetectorResponse
 
MaterialAttenuationsType m_MaterialAttenuations
 

Private Member Functions

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

Detailed Description

template<class TMaterialProjections, class TPhotonCounts, class TSpectrum, class TProjections = itk::Image<typename TMaterialProjections::PixelType::ValueType, TMaterialProjections::ImageDimension>>
class rtk::WeidingerForwardModelImageFilter< TMaterialProjections, TPhotonCounts, TSpectrum, TProjections >

Performs intermediate computations in Weidinger2016.

This filter performs all computations between forward and back projection in Weidinger2016

Author
Cyril Mory

Definition at line 45 of file rtkWeidingerForwardModelImageFilter.h.

Member Typedef Documentation

template<class TMaterialProjections , class TPhotonCounts , class TSpectrum , class TProjections = itk::Image<typename TMaterialProjections::PixelType::ValueType, TMaterialProjections::ImageDimension>>
typedef vnl_matrix<dataType> rtk::WeidingerForwardModelImageFilter< TMaterialProjections, TPhotonCounts, TSpectrum, TProjections >::BinnedDetectorResponseType

Typedefs for additional input information

Definition at line 92 of file rtkWeidingerForwardModelImageFilter.h.

template<class TMaterialProjections , class TPhotonCounts , class TSpectrum , class TProjections = itk::Image<typename TMaterialProjections::PixelType::ValueType, TMaterialProjections::ImageDimension>>
typedef TMaterialProjections::PixelType::ValueType rtk::WeidingerForwardModelImageFilter< TMaterialProjections, TPhotonCounts, TSpectrum, TProjections >::dataType

Convenient typedef

Definition at line 65 of file rtkWeidingerForwardModelImageFilter.h.

template<class TMaterialProjections , class TPhotonCounts , class TSpectrum , class TProjections = itk::Image<typename TMaterialProjections::PixelType::ValueType, TMaterialProjections::ImageDimension>>
typedef vnl_matrix<dataType> rtk::WeidingerForwardModelImageFilter< TMaterialProjections, TPhotonCounts, TSpectrum, TProjections >::MaterialAttenuationsType

Definition at line 93 of file rtkWeidingerForwardModelImageFilter.h.

template<class TMaterialProjections , class TPhotonCounts , class TSpectrum , class TProjections = itk::Image<typename TMaterialProjections::PixelType::ValueType, TMaterialProjections::ImageDimension>>
typedef itk::SmartPointer< Self > rtk::WeidingerForwardModelImageFilter< TMaterialProjections, TPhotonCounts, TSpectrum, TProjections >::Pointer

Definition at line 51 of file rtkWeidingerForwardModelImageFilter.h.

template<class TMaterialProjections , class TPhotonCounts , class TSpectrum , class TProjections = itk::Image<typename TMaterialProjections::PixelType::ValueType, TMaterialProjections::ImageDimension>>
typedef WeidingerForwardModelImageFilter rtk::WeidingerForwardModelImageFilter< TMaterialProjections, TPhotonCounts, TSpectrum, TProjections >::Self

Standard class typedefs.

Definition at line 49 of file rtkWeidingerForwardModelImageFilter.h.

template<class TMaterialProjections , class TPhotonCounts , class TSpectrum , class TProjections = itk::Image<typename TMaterialProjections::PixelType::ValueType, TMaterialProjections::ImageDimension>>
typedef itk::ImageToImageFilter<TMaterialProjections, TMaterialProjections> rtk::WeidingerForwardModelImageFilter< TMaterialProjections, TPhotonCounts, TSpectrum, TProjections >::Superclass

Definition at line 50 of file rtkWeidingerForwardModelImageFilter.h.

template<class TMaterialProjections , class TPhotonCounts , class TSpectrum , class TProjections = itk::Image<typename TMaterialProjections::PixelType::ValueType, TMaterialProjections::ImageDimension>>
typedef TMaterialProjections rtk::WeidingerForwardModelImageFilter< TMaterialProjections, TPhotonCounts, TSpectrum, TProjections >::TOutputImage1

Define types for output images:

  • one n-vector per pixel
  • one nxn-matrix per pixel, but stored as one nxn-vector to allow vector back projection

Definition at line 71 of file rtkWeidingerForwardModelImageFilter.h.

template<class TMaterialProjections , class TPhotonCounts , class TSpectrum , class TProjections = itk::Image<typename TMaterialProjections::PixelType::ValueType, TMaterialProjections::ImageDimension>>
typedef itk::Image<TPixelOutput2, TMaterialProjections::ImageDimension > rtk::WeidingerForwardModelImageFilter< TMaterialProjections, TPhotonCounts, TSpectrum, TProjections >::TOutputImage2

Definition at line 76 of file rtkWeidingerForwardModelImageFilter.h.

template<class TMaterialProjections , class TPhotonCounts , class TSpectrum , class TProjections = itk::Image<typename TMaterialProjections::PixelType::ValueType, TMaterialProjections::ImageDimension>>
typedef itk::Vector<dataType, nMaterials * nMaterials> rtk::WeidingerForwardModelImageFilter< TMaterialProjections, TPhotonCounts, TSpectrum, TProjections >::TPixelOutput2

Definition at line 72 of file rtkWeidingerForwardModelImageFilter.h.

Constructor & Destructor Documentation

template<class TMaterialProjections , class TPhotonCounts , class TSpectrum , class TProjections = itk::Image<typename TMaterialProjections::PixelType::ValueType, TMaterialProjections::ImageDimension>>
rtk::WeidingerForwardModelImageFilter< TMaterialProjections, TPhotonCounts, TSpectrum, TProjections >::WeidingerForwardModelImageFilter ( )
protected
template<class TMaterialProjections , class TPhotonCounts , class TSpectrum , class TProjections = itk::Image<typename TMaterialProjections::PixelType::ValueType, TMaterialProjections::ImageDimension>>
rtk::WeidingerForwardModelImageFilter< TMaterialProjections, TPhotonCounts, TSpectrum, TProjections >::~WeidingerForwardModelImageFilter ( )
inlineprotected
template<class TMaterialProjections , class TPhotonCounts , class TSpectrum , class TProjections = itk::Image<typename TMaterialProjections::PixelType::ValueType, TMaterialProjections::ImageDimension>>
rtk::WeidingerForwardModelImageFilter< TMaterialProjections, TPhotonCounts, TSpectrum, TProjections >::WeidingerForwardModelImageFilter ( const Self )
private

Member Function Documentation

template<class TMaterialProjections , class TPhotonCounts , class TSpectrum , class TProjections = itk::Image<typename TMaterialProjections::PixelType::ValueType, TMaterialProjections::ImageDimension>>
virtual::itk::LightObject::Pointer rtk::WeidingerForwardModelImageFilter< TMaterialProjections, TPhotonCounts, TSpectrum, TProjections >::CreateAnother ( ) const
template<class TMaterialProjections , class TPhotonCounts , class TSpectrum , class TProjections = itk::Image<typename TMaterialProjections::PixelType::ValueType, TMaterialProjections::ImageDimension>>
void rtk::WeidingerForwardModelImageFilter< TMaterialProjections, TPhotonCounts, TSpectrum, TProjections >::GenerateInputRequestedRegion ( )
overrideprotected
template<class TMaterialProjections , class TPhotonCounts , class TSpectrum , class TProjections = itk::Image<typename TMaterialProjections::PixelType::ValueType, TMaterialProjections::ImageDimension>>
virtual const BinnedDetectorResponseType& rtk::WeidingerForwardModelImageFilter< TMaterialProjections, TPhotonCounts, TSpectrum, TProjections >::GetBinnedDetectorResponse ( ) const
virtual

Set and Get macros for the additional input information

template<class TMaterialProjections , class TPhotonCounts , class TSpectrum , class TProjections = itk::Image<typename TMaterialProjections::PixelType::ValueType, TMaterialProjections::ImageDimension>>
TMaterialProjections::ConstPointer rtk::WeidingerForwardModelImageFilter< TMaterialProjections, TPhotonCounts, TSpectrum, TProjections >::GetInputMaterialProjections ( )
protected
template<class TMaterialProjections , class TPhotonCounts , class TSpectrum , class TProjections = itk::Image<typename TMaterialProjections::PixelType::ValueType, TMaterialProjections::ImageDimension>>
TPhotonCounts::ConstPointer rtk::WeidingerForwardModelImageFilter< TMaterialProjections, TPhotonCounts, TSpectrum, TProjections >::GetInputPhotonCounts ( )
protected
template<class TMaterialProjections , class TPhotonCounts , class TSpectrum , class TProjections = itk::Image<typename TMaterialProjections::PixelType::ValueType, TMaterialProjections::ImageDimension>>
TProjections::ConstPointer rtk::WeidingerForwardModelImageFilter< TMaterialProjections, TPhotonCounts, TSpectrum, TProjections >::GetInputProjectionsOfOnes ( )
protected
template<class TMaterialProjections , class TPhotonCounts , class TSpectrum , class TProjections = itk::Image<typename TMaterialProjections::PixelType::ValueType, TMaterialProjections::ImageDimension>>
TSpectrum::ConstPointer rtk::WeidingerForwardModelImageFilter< TMaterialProjections, TPhotonCounts, TSpectrum, TProjections >::GetInputSpectrum ( )
protected
template<class TMaterialProjections , class TPhotonCounts , class TSpectrum , class TProjections = itk::Image<typename TMaterialProjections::PixelType::ValueType, TMaterialProjections::ImageDimension>>
virtual const MaterialAttenuationsType& rtk::WeidingerForwardModelImageFilter< TMaterialProjections, TPhotonCounts, TSpectrum, TProjections >::GetMaterialAttenuations ( ) const
virtual

Set and Get macros for the additional input information

template<class TMaterialProjections , class TPhotonCounts , class TSpectrum , class TProjections = itk::Image<typename TMaterialProjections::PixelType::ValueType, TMaterialProjections::ImageDimension>>
virtual const char* rtk::WeidingerForwardModelImageFilter< TMaterialProjections, TPhotonCounts, TSpectrum, TProjections >::GetNameOfClass ( ) const
virtual

Run-time type information (and related methods).

Reimplemented from itk::ImageSource< TOutputImage >.

template<class TMaterialProjections , class TPhotonCounts , class TSpectrum , class TProjections = itk::Image<typename TMaterialProjections::PixelType::ValueType, TMaterialProjections::ImageDimension>>
TOutputImage1* rtk::WeidingerForwardModelImageFilter< TMaterialProjections, TPhotonCounts, TSpectrum, TProjections >::GetOutput1 ( )

Define the getters for the outputs, with correct types

template<class TMaterialProjections , class TPhotonCounts , class TSpectrum , class TProjections = itk::Image<typename TMaterialProjections::PixelType::ValueType, TMaterialProjections::ImageDimension>>
TOutputImage2* rtk::WeidingerForwardModelImageFilter< TMaterialProjections, TPhotonCounts, TSpectrum, TProjections >::GetOutput2 ( )

Define the getters for the outputs, with correct types

template<class TMaterialProjections , class TPhotonCounts , class TSpectrum , class TProjections = itk::Image<typename TMaterialProjections::PixelType::ValueType, TMaterialProjections::ImageDimension>>
itk::DataObject::Pointer rtk::WeidingerForwardModelImageFilter< TMaterialProjections, TPhotonCounts, TSpectrum, TProjections >::MakeOutput ( itk::ProcessObject::DataObjectPointerArraySizeType  idx)
overrideprotected
template<class TMaterialProjections , class TPhotonCounts , class TSpectrum , class TProjections = itk::Image<typename TMaterialProjections::PixelType::ValueType, TMaterialProjections::ImageDimension>>
static Pointer rtk::WeidingerForwardModelImageFilter< TMaterialProjections, TPhotonCounts, TSpectrum, TProjections >::New ( )
static

Method for creation through the object factory.

template<class TMaterialProjections , class TPhotonCounts , class TSpectrum , class TProjections = itk::Image<typename TMaterialProjections::PixelType::ValueType, TMaterialProjections::ImageDimension>>
void rtk::WeidingerForwardModelImageFilter< TMaterialProjections, TPhotonCounts, TSpectrum, TProjections >::operator= ( const Self )
private
template<class TMaterialProjections , class TPhotonCounts , class TSpectrum , class TProjections = itk::Image<typename TMaterialProjections::PixelType::ValueType, TMaterialProjections::ImageDimension>>
virtual void rtk::WeidingerForwardModelImageFilter< TMaterialProjections, TPhotonCounts, TSpectrum, TProjections >::SetBinnedDetectorResponse ( const BinnedDetectorResponseType detResp)
virtual

Set and Get macros for the additional input information

template<class TMaterialProjections , class TPhotonCounts , class TSpectrum , class TProjections = itk::Image<typename TMaterialProjections::PixelType::ValueType, TMaterialProjections::ImageDimension>>
void rtk::WeidingerForwardModelImageFilter< TMaterialProjections, TPhotonCounts, TSpectrum, TProjections >::SetInputMaterialProjections ( const TMaterialProjections *  materialProjections)

Set methods for all inputs, since they have different types

template<class TMaterialProjections , class TPhotonCounts , class TSpectrum , class TProjections = itk::Image<typename TMaterialProjections::PixelType::ValueType, TMaterialProjections::ImageDimension>>
void rtk::WeidingerForwardModelImageFilter< TMaterialProjections, TPhotonCounts, TSpectrum, TProjections >::SetInputPhotonCounts ( const TPhotonCounts *  photonCounts)

Set methods for all inputs, since they have different types

template<class TMaterialProjections , class TPhotonCounts , class TSpectrum , class TProjections = itk::Image<typename TMaterialProjections::PixelType::ValueType, TMaterialProjections::ImageDimension>>
void rtk::WeidingerForwardModelImageFilter< TMaterialProjections, TPhotonCounts, TSpectrum, TProjections >::SetInputProjectionsOfOnes ( const TProjections *  projectionsOfOnes)

Set methods for all inputs, since they have different types

template<class TMaterialProjections , class TPhotonCounts , class TSpectrum , class TProjections = itk::Image<typename TMaterialProjections::PixelType::ValueType, TMaterialProjections::ImageDimension>>
void rtk::WeidingerForwardModelImageFilter< TMaterialProjections, TPhotonCounts, TSpectrum, TProjections >::SetInputSpectrum ( const TSpectrum *  spectrum)

Set methods for all inputs, since they have different types

template<class TMaterialProjections , class TPhotonCounts , class TSpectrum , class TProjections = itk::Image<typename TMaterialProjections::PixelType::ValueType, TMaterialProjections::ImageDimension>>
virtual void rtk::WeidingerForwardModelImageFilter< TMaterialProjections, TPhotonCounts, TSpectrum, TProjections >::SetMaterialAttenuations ( const MaterialAttenuationsType matAtt)
virtual

Set and Get macros for the additional input information

template<class TMaterialProjections , class TPhotonCounts , class TSpectrum , class TProjections = itk::Image<typename TMaterialProjections::PixelType::ValueType, TMaterialProjections::ImageDimension>>
void rtk::WeidingerForwardModelImageFilter< TMaterialProjections, TPhotonCounts, TSpectrum, TProjections >::ThreadedGenerateData ( const typename TOutputImage1::RegionType &  outputRegionForThread,
itk::ThreadIdType   
)
overrideprotected
template<class TMaterialProjections , class TPhotonCounts , class TSpectrum , class TProjections = itk::Image<typename TMaterialProjections::PixelType::ValueType, TMaterialProjections::ImageDimension>>
void rtk::WeidingerForwardModelImageFilter< TMaterialProjections, TPhotonCounts, TSpectrum, TProjections >::VerifyInputInformation ( )
inlineoverrideprotected

Member Data Documentation

template<class TMaterialProjections , class TPhotonCounts , class TSpectrum , class TProjections = itk::Image<typename TMaterialProjections::PixelType::ValueType, TMaterialProjections::ImageDimension>>
BinnedDetectorResponseType rtk::WeidingerForwardModelImageFilter< TMaterialProjections, TPhotonCounts, TSpectrum, TProjections >::m_BinnedDetectorResponse
protected

Additional input parameters

Definition at line 128 of file rtkWeidingerForwardModelImageFilter.h.

template<class TMaterialProjections , class TPhotonCounts , class TSpectrum , class TProjections = itk::Image<typename TMaterialProjections::PixelType::ValueType, TMaterialProjections::ImageDimension>>
MaterialAttenuationsType rtk::WeidingerForwardModelImageFilter< TMaterialProjections, TPhotonCounts, TSpectrum, TProjections >::m_MaterialAttenuations
protected

Definition at line 129 of file rtkWeidingerForwardModelImageFilter.h.

template<class TMaterialProjections , class TPhotonCounts , class TSpectrum , class TProjections = itk::Image<typename TMaterialProjections::PixelType::ValueType, TMaterialProjections::ImageDimension>>
const unsigned int rtk::WeidingerForwardModelImageFilter< TMaterialProjections, TPhotonCounts, TSpectrum, TProjections >::nBins = TPhotonCounts::PixelType::Dimension
static

Convenient parameters extracted from template types

Definition at line 60 of file rtkWeidingerForwardModelImageFilter.h.

template<class TMaterialProjections , class TPhotonCounts , class TSpectrum , class TProjections = itk::Image<typename TMaterialProjections::PixelType::ValueType, TMaterialProjections::ImageDimension>>
const unsigned int rtk::WeidingerForwardModelImageFilter< TMaterialProjections, TPhotonCounts, TSpectrum, TProjections >::nMaterials = TMaterialProjections::PixelType::Dimension
static

Convenient parameters extracted from template types

Definition at line 61 of file rtkWeidingerForwardModelImageFilter.h.


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