template<typename DecomposedProjectionsType, typename MeasuredProjectionsType, typename IncidentSpectrumImageType = itk::VectorImage<float, 2>, typename DetectorResponseImageType = itk::Image<float, 2>, typename MaterialAttenuationsImageType = itk::Image<float, 2>>
class rtk::SpectralForwardModelImageFilter< DecomposedProjectionsType, MeasuredProjectionsType, IncidentSpectrumImageType, DetectorResponseImageType, MaterialAttenuationsImageType >
Forward model for the decomposition of spectral projection images into material projections.
Computes the photon counts from the decomposed projections, the incident spectrum, the detector response and the material attenuation curves. See the reference paper: "Experimental feasibility of multi-energy photon-counting
K-edge imaging in pre-clinical computed tomography", Schlomka et al, PMB 2008
- Author
- Cyril Mory
Definition at line 47 of file rtkSpectralForwardModelImageFilter.h.
template<typename DecomposedProjectionsType , typename MeasuredProjectionsType , typename IncidentSpectrumImageType = itk::VectorImage<float, 2>, typename DetectorResponseImageType = itk::Image<float, 2>, typename MaterialAttenuationsImageType = itk::Image<float, 2>>
template<typename DecomposedProjectionsType , typename MeasuredProjectionsType , typename IncidentSpectrumImageType = itk::VectorImage<float, 2>, typename DetectorResponseImageType = itk::Image<float, 2>, typename MaterialAttenuationsImageType = itk::Image<float, 2>>
template<typename DecomposedProjectionsType , typename MeasuredProjectionsType , typename IncidentSpectrumImageType = itk::VectorImage<float, 2>, typename DetectorResponseImageType = itk::Image<float, 2>, typename MaterialAttenuationsImageType = itk::Image<float, 2>>
template<typename DecomposedProjectionsType , typename MeasuredProjectionsType , typename IncidentSpectrumImageType = itk::VectorImage<float, 2>, typename DetectorResponseImageType = itk::Image<float, 2>, typename MaterialAttenuationsImageType = itk::Image<float, 2>>
template<typename DecomposedProjectionsType , typename MeasuredProjectionsType , typename IncidentSpectrumImageType = itk::VectorImage<float, 2>, typename DetectorResponseImageType = itk::Image<float, 2>, typename MaterialAttenuationsImageType = itk::Image<float, 2>>
template<typename DecomposedProjectionsType , typename MeasuredProjectionsType , typename IncidentSpectrumImageType = itk::VectorImage<float, 2>, typename DetectorResponseImageType = itk::Image<float, 2>, typename MaterialAttenuationsImageType = itk::Image<float, 2>>
template<typename DecomposedProjectionsType , typename MeasuredProjectionsType , typename IncidentSpectrumImageType = itk::VectorImage<float, 2>, typename DetectorResponseImageType = itk::Image<float, 2>, typename MaterialAttenuationsImageType = itk::Image<float, 2>>
void rtk::SpectralForwardModelImageFilter< DecomposedProjectionsType, MeasuredProjectionsType, IncidentSpectrumImageType, DetectorResponseImageType, MaterialAttenuationsImageType >::BeforeThreadedGenerateData |
( |
| ) |
|
|
overrideprotectedvirtual |
template<typename DecomposedProjectionsType , typename MeasuredProjectionsType , typename IncidentSpectrumImageType = itk::VectorImage<float, 2>, typename DetectorResponseImageType = itk::Image<float, 2>, typename MaterialAttenuationsImageType = itk::Image<float, 2>>
template<typename DecomposedProjectionsType , typename MeasuredProjectionsType , typename IncidentSpectrumImageType = itk::VectorImage<float, 2>, typename DetectorResponseImageType = itk::Image<float, 2>, typename MaterialAttenuationsImageType = itk::Image<float, 2>>
template<typename DecomposedProjectionsType , typename MeasuredProjectionsType , typename IncidentSpectrumImageType = itk::VectorImage<float, 2>, typename DetectorResponseImageType = itk::Image<float, 2>, typename MaterialAttenuationsImageType = itk::Image<float, 2>>
void rtk::SpectralForwardModelImageFilter< DecomposedProjectionsType, MeasuredProjectionsType, IncidentSpectrumImageType, DetectorResponseImageType, MaterialAttenuationsImageType >::GenerateInputRequestedRegion |
( |
| ) |
|
|
overrideprotectedvirtual |
template<typename DecomposedProjectionsType , typename MeasuredProjectionsType , typename IncidentSpectrumImageType = itk::VectorImage<float, 2>, typename DetectorResponseImageType = itk::Image<float, 2>, typename MaterialAttenuationsImageType = itk::Image<float, 2>>
void rtk::SpectralForwardModelImageFilter< DecomposedProjectionsType, MeasuredProjectionsType, IncidentSpectrumImageType, DetectorResponseImageType, MaterialAttenuationsImageType >::GenerateOutputInformation |
( |
| ) |
|
|
overrideprotectedvirtual |
template<typename DecomposedProjectionsType , typename MeasuredProjectionsType , typename IncidentSpectrumImageType = itk::VectorImage<float, 2>, typename DetectorResponseImageType = itk::Image<float, 2>, typename MaterialAttenuationsImageType = itk::Image<float, 2>>
virtual bool rtk::SpectralForwardModelImageFilter< DecomposedProjectionsType, MeasuredProjectionsType, IncidentSpectrumImageType, DetectorResponseImageType, MaterialAttenuationsImageType >::GetComputeCramerRaoLowerBound |
( |
| ) |
|
|
virtual |
template<typename DecomposedProjectionsType , typename MeasuredProjectionsType , typename IncidentSpectrumImageType = itk::VectorImage<float, 2>, typename DetectorResponseImageType = itk::Image<float, 2>, typename MaterialAttenuationsImageType = itk::Image<float, 2>>
virtual bool rtk::SpectralForwardModelImageFilter< DecomposedProjectionsType, MeasuredProjectionsType, IncidentSpectrumImageType, DetectorResponseImageType, MaterialAttenuationsImageType >::GetComputeVariances |
( |
| ) |
|
|
virtual |
template<typename DecomposedProjectionsType , typename MeasuredProjectionsType , typename IncidentSpectrumImageType = itk::VectorImage<float, 2>, typename DetectorResponseImageType = itk::Image<float, 2>, typename MaterialAttenuationsImageType = itk::Image<float, 2>>
Set/Get the detector response as an image
template<typename DecomposedProjectionsType , typename MeasuredProjectionsType , typename IncidentSpectrumImageType = itk::VectorImage<float, 2>, typename DetectorResponseImageType = itk::Image<float, 2>, typename MaterialAttenuationsImageType = itk::Image<float, 2>>
Set/Get the input material-decomposed stack of projections (only used for initialization)
template<typename DecomposedProjectionsType , typename MeasuredProjectionsType , typename IncidentSpectrumImageType = itk::VectorImage<float, 2>, typename DetectorResponseImageType = itk::Image<float, 2>, typename MaterialAttenuationsImageType = itk::Image<float, 2>>
Set/Get the incident spectrum input images
template<typename DecomposedProjectionsType , typename MeasuredProjectionsType , typename IncidentSpectrumImageType = itk::VectorImage<float, 2>, typename DetectorResponseImageType = itk::Image<float, 2>, typename MaterialAttenuationsImageType = itk::Image<float, 2>>
Set/Get the input stack of measured projections (to be decomposed in materials)
template<typename DecomposedProjectionsType , typename MeasuredProjectionsType , typename IncidentSpectrumImageType = itk::VectorImage<float, 2>, typename DetectorResponseImageType = itk::Image<float, 2>, typename MaterialAttenuationsImageType = itk::Image<float, 2>>
Set/Get the incident spectrum input images
template<typename DecomposedProjectionsType , typename MeasuredProjectionsType , typename IncidentSpectrumImageType = itk::VectorImage<float, 2>, typename DetectorResponseImageType = itk::Image<float, 2>, typename MaterialAttenuationsImageType = itk::Image<float, 2>>
virtual bool rtk::SpectralForwardModelImageFilter< DecomposedProjectionsType, MeasuredProjectionsType, IncidentSpectrumImageType, DetectorResponseImageType, MaterialAttenuationsImageType >::GetIsSpectralCT |
( |
| ) |
|
|
virtual |
template<typename DecomposedProjectionsType , typename MeasuredProjectionsType , typename IncidentSpectrumImageType = itk::VectorImage<float, 2>, typename DetectorResponseImageType = itk::Image<float, 2>, typename MaterialAttenuationsImageType = itk::Image<float, 2>>
Set/Get the material attenuations as an image
template<typename DecomposedProjectionsType , typename MeasuredProjectionsType , typename IncidentSpectrumImageType = itk::VectorImage<float, 2>, typename DetectorResponseImageType = itk::Image<float, 2>, typename MaterialAttenuationsImageType = itk::Image<float, 2>>
virtual const char* rtk::SpectralForwardModelImageFilter< DecomposedProjectionsType, MeasuredProjectionsType, IncidentSpectrumImageType, DetectorResponseImageType, MaterialAttenuationsImageType >::GetNameOfClass |
( |
| ) |
const |
|
virtual |
template<typename DecomposedProjectionsType , typename MeasuredProjectionsType , typename IncidentSpectrumImageType = itk::VectorImage<float, 2>, typename DetectorResponseImageType = itk::Image<float, 2>, typename MaterialAttenuationsImageType = itk::Image<float, 2>>
virtual unsigned int rtk::SpectralForwardModelImageFilter< DecomposedProjectionsType, MeasuredProjectionsType, IncidentSpectrumImageType, DetectorResponseImageType, MaterialAttenuationsImageType >::GetNumberOfEnergies |
( |
| ) |
|
|
virtual |
template<typename DecomposedProjectionsType , typename MeasuredProjectionsType , typename IncidentSpectrumImageType = itk::VectorImage<float, 2>, typename DetectorResponseImageType = itk::Image<float, 2>, typename MaterialAttenuationsImageType = itk::Image<float, 2>>
virtual unsigned int rtk::SpectralForwardModelImageFilter< DecomposedProjectionsType, MeasuredProjectionsType, IncidentSpectrumImageType, DetectorResponseImageType, MaterialAttenuationsImageType >::GetNumberOfMaterials |
( |
| ) |
|
|
virtual |
template<typename DecomposedProjectionsType , typename MeasuredProjectionsType , typename IncidentSpectrumImageType = itk::VectorImage<float, 2>, typename DetectorResponseImageType = itk::Image<float, 2>, typename MaterialAttenuationsImageType = itk::Image<float, 2>>
virtual unsigned int rtk::SpectralForwardModelImageFilter< DecomposedProjectionsType, MeasuredProjectionsType, IncidentSpectrumImageType, DetectorResponseImageType, MaterialAttenuationsImageType >::GetNumberOfSpectralBins |
( |
| ) |
|
|
virtual |
template<typename DecomposedProjectionsType , typename MeasuredProjectionsType , typename IncidentSpectrumImageType = itk::VectorImage<float, 2>, typename DetectorResponseImageType = itk::Image<float, 2>, typename MaterialAttenuationsImageType = itk::Image<float, 2>>
virtual void rtk::SpectralForwardModelImageFilter< DecomposedProjectionsType, MeasuredProjectionsType, IncidentSpectrumImageType, DetectorResponseImageType, MaterialAttenuationsImageType >::SetComputeCramerRaoLowerBound |
( |
bool |
_arg | ) |
|
|
virtual |
template<typename DecomposedProjectionsType , typename MeasuredProjectionsType , typename IncidentSpectrumImageType = itk::VectorImage<float, 2>, typename DetectorResponseImageType = itk::Image<float, 2>, typename MaterialAttenuationsImageType = itk::Image<float, 2>>
virtual void rtk::SpectralForwardModelImageFilter< DecomposedProjectionsType, MeasuredProjectionsType, IncidentSpectrumImageType, DetectorResponseImageType, MaterialAttenuationsImageType >::SetComputeVariances |
( |
bool |
_arg | ) |
|
|
virtual |
template<typename DecomposedProjectionsType , typename MeasuredProjectionsType , typename IncidentSpectrumImageType = itk::VectorImage<float, 2>, typename DetectorResponseImageType = itk::Image<float, 2>, typename MaterialAttenuationsImageType = itk::Image<float, 2>>
void rtk::SpectralForwardModelImageFilter< DecomposedProjectionsType, MeasuredProjectionsType, IncidentSpectrumImageType, DetectorResponseImageType, MaterialAttenuationsImageType >::SetDetectorResponse |
( |
const DetectorResponseImageType * |
DetectorResponse | ) |
|
Set/Get the detector response as an image
template<typename DecomposedProjectionsType , typename MeasuredProjectionsType , typename IncidentSpectrumImageType = itk::VectorImage<float, 2>, typename DetectorResponseImageType = itk::Image<float, 2>, typename MaterialAttenuationsImageType = itk::Image<float, 2>>
void rtk::SpectralForwardModelImageFilter< DecomposedProjectionsType, MeasuredProjectionsType, IncidentSpectrumImageType, DetectorResponseImageType, MaterialAttenuationsImageType >::SetInputDecomposedProjections |
( |
const DecomposedProjectionsType * |
DecomposedProjections | ) |
|
Set/Get the input material-decomposed stack of projections (only used for initialization)
template<typename DecomposedProjectionsType , typename MeasuredProjectionsType , typename IncidentSpectrumImageType = itk::VectorImage<float, 2>, typename DetectorResponseImageType = itk::Image<float, 2>, typename MaterialAttenuationsImageType = itk::Image<float, 2>>
void rtk::SpectralForwardModelImageFilter< DecomposedProjectionsType, MeasuredProjectionsType, IncidentSpectrumImageType, DetectorResponseImageType, MaterialAttenuationsImageType >::SetInputIncidentSpectrum |
( |
const IncidentSpectrumImageType * |
IncidentSpectrum | ) |
|
Set/Get the incident spectrum input images
template<typename DecomposedProjectionsType , typename MeasuredProjectionsType , typename IncidentSpectrumImageType = itk::VectorImage<float, 2>, typename DetectorResponseImageType = itk::Image<float, 2>, typename MaterialAttenuationsImageType = itk::Image<float, 2>>
void rtk::SpectralForwardModelImageFilter< DecomposedProjectionsType, MeasuredProjectionsType, IncidentSpectrumImageType, DetectorResponseImageType, MaterialAttenuationsImageType >::SetInputMeasuredProjections |
( |
const MeasuredProjectionsType * |
SpectralProjections | ) |
|
Set/Get the input stack of measured projections (to be decomposed in materials)
template<typename DecomposedProjectionsType , typename MeasuredProjectionsType , typename IncidentSpectrumImageType = itk::VectorImage<float, 2>, typename DetectorResponseImageType = itk::Image<float, 2>, typename MaterialAttenuationsImageType = itk::Image<float, 2>>
void rtk::SpectralForwardModelImageFilter< DecomposedProjectionsType, MeasuredProjectionsType, IncidentSpectrumImageType, DetectorResponseImageType, MaterialAttenuationsImageType >::SetInputSecondIncidentSpectrum |
( |
const IncidentSpectrumImageType * |
SecondIncidentSpectrum | ) |
|
Set/Get the incident spectrum input images
template<typename DecomposedProjectionsType , typename MeasuredProjectionsType , typename IncidentSpectrumImageType = itk::VectorImage<float, 2>, typename DetectorResponseImageType = itk::Image<float, 2>, typename MaterialAttenuationsImageType = itk::Image<float, 2>>
virtual void rtk::SpectralForwardModelImageFilter< DecomposedProjectionsType, MeasuredProjectionsType, IncidentSpectrumImageType, DetectorResponseImageType, MaterialAttenuationsImageType >::SetIsSpectralCT |
( |
bool |
_arg | ) |
|
|
virtual |
template<typename DecomposedProjectionsType , typename MeasuredProjectionsType , typename IncidentSpectrumImageType = itk::VectorImage<float, 2>, typename DetectorResponseImageType = itk::Image<float, 2>, typename MaterialAttenuationsImageType = itk::Image<float, 2>>
void rtk::SpectralForwardModelImageFilter< DecomposedProjectionsType, MeasuredProjectionsType, IncidentSpectrumImageType, DetectorResponseImageType, MaterialAttenuationsImageType >::SetMaterialAttenuations |
( |
const MaterialAttenuationsImageType * |
MaterialAttenuations | ) |
|
Set/Get the material attenuations as an image
template<typename DecomposedProjectionsType , typename MeasuredProjectionsType , typename IncidentSpectrumImageType = itk::VectorImage<float, 2>, typename DetectorResponseImageType = itk::Image<float, 2>, typename MaterialAttenuationsImageType = itk::Image<float, 2>>
virtual void rtk::SpectralForwardModelImageFilter< DecomposedProjectionsType, MeasuredProjectionsType, IncidentSpectrumImageType, DetectorResponseImageType, MaterialAttenuationsImageType >::SetNumberOfEnergies |
( |
unsigned int |
_arg | ) |
|
|
virtual |
template<typename DecomposedProjectionsType , typename MeasuredProjectionsType , typename IncidentSpectrumImageType = itk::VectorImage<float, 2>, typename DetectorResponseImageType = itk::Image<float, 2>, typename MaterialAttenuationsImageType = itk::Image<float, 2>>
virtual void rtk::SpectralForwardModelImageFilter< DecomposedProjectionsType, MeasuredProjectionsType, IncidentSpectrumImageType, DetectorResponseImageType, MaterialAttenuationsImageType >::SetNumberOfMaterials |
( |
unsigned int |
_arg | ) |
|
|
virtual |
template<typename DecomposedProjectionsType , typename MeasuredProjectionsType , typename IncidentSpectrumImageType = itk::VectorImage<float, 2>, typename DetectorResponseImageType = itk::Image<float, 2>, typename MaterialAttenuationsImageType = itk::Image<float, 2>>
virtual void rtk::SpectralForwardModelImageFilter< DecomposedProjectionsType, MeasuredProjectionsType, IncidentSpectrumImageType, DetectorResponseImageType, MaterialAttenuationsImageType >::SetNumberOfSpectralBins |
( |
unsigned int |
_arg | ) |
|
|
virtual |
template<typename DecomposedProjectionsType , typename MeasuredProjectionsType , typename IncidentSpectrumImageType = itk::VectorImage<float, 2>, typename DetectorResponseImageType = itk::Image<float, 2>, typename MaterialAttenuationsImageType = itk::Image<float, 2>>
void rtk::SpectralForwardModelImageFilter< DecomposedProjectionsType, MeasuredProjectionsType, IncidentSpectrumImageType, DetectorResponseImageType, MaterialAttenuationsImageType >::VerifyInputInformation |
( |
| ) |
const |
|
inlineoverrideprotectedvirtual |
template<typename DecomposedProjectionsType , typename MeasuredProjectionsType , typename IncidentSpectrumImageType = itk::VectorImage<float, 2>, typename DetectorResponseImageType = itk::Image<float, 2>, typename MaterialAttenuationsImageType = itk::Image<float, 2>>
bool rtk::SpectralForwardModelImageFilter< DecomposedProjectionsType, MeasuredProjectionsType, IncidentSpectrumImageType, DetectorResponseImageType, MaterialAttenuationsImageType >::m_ComputeCramerRaoLowerBound |
|
protected |
template<typename DecomposedProjectionsType , typename MeasuredProjectionsType , typename IncidentSpectrumImageType = itk::VectorImage<float, 2>, typename DetectorResponseImageType = itk::Image<float, 2>, typename MaterialAttenuationsImageType = itk::Image<float, 2>>
bool rtk::SpectralForwardModelImageFilter< DecomposedProjectionsType, MeasuredProjectionsType, IncidentSpectrumImageType, DetectorResponseImageType, MaterialAttenuationsImageType >::m_ComputeVariances |
|
protected |
template<typename DecomposedProjectionsType , typename MeasuredProjectionsType , typename IncidentSpectrumImageType = itk::VectorImage<float, 2>, typename DetectorResponseImageType = itk::Image<float, 2>, typename MaterialAttenuationsImageType = itk::Image<float, 2>>
template<typename DecomposedProjectionsType , typename MeasuredProjectionsType , typename IncidentSpectrumImageType = itk::VectorImage<float, 2>, typename DetectorResponseImageType = itk::Image<float, 2>, typename MaterialAttenuationsImageType = itk::Image<float, 2>>
bool rtk::SpectralForwardModelImageFilter< DecomposedProjectionsType, MeasuredProjectionsType, IncidentSpectrumImageType, DetectorResponseImageType, MaterialAttenuationsImageType >::m_IsSpectralCT |
|
protected |
template<typename DecomposedProjectionsType , typename MeasuredProjectionsType , typename IncidentSpectrumImageType = itk::VectorImage<float, 2>, typename DetectorResponseImageType = itk::Image<float, 2>, typename MaterialAttenuationsImageType = itk::Image<float, 2>>
template<typename DecomposedProjectionsType , typename MeasuredProjectionsType , typename IncidentSpectrumImageType = itk::VectorImage<float, 2>, typename DetectorResponseImageType = itk::Image<float, 2>, typename MaterialAttenuationsImageType = itk::Image<float, 2>>
unsigned int rtk::SpectralForwardModelImageFilter< DecomposedProjectionsType, MeasuredProjectionsType, IncidentSpectrumImageType, DetectorResponseImageType, MaterialAttenuationsImageType >::m_NumberOfEnergies |
|
protected |
template<typename DecomposedProjectionsType , typename MeasuredProjectionsType , typename IncidentSpectrumImageType = itk::VectorImage<float, 2>, typename DetectorResponseImageType = itk::Image<float, 2>, typename MaterialAttenuationsImageType = itk::Image<float, 2>>
unsigned int rtk::SpectralForwardModelImageFilter< DecomposedProjectionsType, MeasuredProjectionsType, IncidentSpectrumImageType, DetectorResponseImageType, MaterialAttenuationsImageType >::m_NumberOfIterations |
|
protected |
template<typename DecomposedProjectionsType , typename MeasuredProjectionsType , typename IncidentSpectrumImageType = itk::VectorImage<float, 2>, typename DetectorResponseImageType = itk::Image<float, 2>, typename MaterialAttenuationsImageType = itk::Image<float, 2>>
unsigned int rtk::SpectralForwardModelImageFilter< DecomposedProjectionsType, MeasuredProjectionsType, IncidentSpectrumImageType, DetectorResponseImageType, MaterialAttenuationsImageType >::m_NumberOfMaterials |
|
protected |
template<typename DecomposedProjectionsType , typename MeasuredProjectionsType , typename IncidentSpectrumImageType = itk::VectorImage<float, 2>, typename DetectorResponseImageType = itk::Image<float, 2>, typename MaterialAttenuationsImageType = itk::Image<float, 2>>
unsigned int rtk::SpectralForwardModelImageFilter< DecomposedProjectionsType, MeasuredProjectionsType, IncidentSpectrumImageType, DetectorResponseImageType, MaterialAttenuationsImageType >::m_NumberOfSpectralBins |
|
protected |
template<typename DecomposedProjectionsType , typename MeasuredProjectionsType , typename IncidentSpectrumImageType = itk::VectorImage<float, 2>, typename DetectorResponseImageType = itk::Image<float, 2>, typename MaterialAttenuationsImageType = itk::Image<float, 2>>
bool rtk::SpectralForwardModelImageFilter< DecomposedProjectionsType, MeasuredProjectionsType, IncidentSpectrumImageType, DetectorResponseImageType, MaterialAttenuationsImageType >::m_OptimizeWithRestarts |
|
protected |
template<typename DecomposedProjectionsType , typename MeasuredProjectionsType , typename IncidentSpectrumImageType = itk::VectorImage<float, 2>, typename DetectorResponseImageType = itk::Image<float, 2>, typename MaterialAttenuationsImageType = itk::Image<float, 2>>