RTK  2.6.0
Reconstruction Toolkit
Public Types | Public Member Functions | Static Public Member Functions | Static Public Attributes | Protected Member Functions | Protected Attributes | List of all members
rtk::MechlemOneStepSpectralReconstructionFilter< TOutputImage, TMeasuredProjections, TIncidentSpectrum > Class Template Reference

#include <rtkMechlemOneStepSpectralReconstructionFilter.h>

+ Inheritance diagram for rtk::MechlemOneStepSpectralReconstructionFilter< TOutputImage, TMeasuredProjections, TIncidentSpectrum >:
+ Collaboration diagram for rtk::MechlemOneStepSpectralReconstructionFilter< TOutputImage, TMeasuredProjections, TIncidentSpectrum >:

Public Types

using AddFilterType = itk::AddImageFilter< GradientsImageType >
 
using AddMatrixAndDiagonalFilterType = rtk::AddMatrixAndDiagonalImageFilter< GradientsImageType, HessiansImageType >
 
using BackProjectionType = typename Superclass::BackProjectionType
 
using CastMaterialVolumesFilterType = itk::CastImageFilter< VectorImageType, TOutputImage >
 
using CastMeasuredProjectionsFilterType = itk::CastImageFilter< VectorImageType, TMeasuredProjections >
 
using CPUOutputImageType = typename itk::Image< typename TOutputImage::PixelType, TOutputImage::ImageDimension >
 
using CudaHessiansBackProjectionImageFilterType = BackProjectionImageFilter< HessiansImageType, HessiansImageType >
 
using CudaSingleComponentForwardProjectionImageFilterType = JosephForwardProjectionImageFilter< SingleComponentImageType, SingleComponentImageType >
 
using dataType = typename TOutputImage::PixelType::ValueType
 
using ExtractMeasuredProjectionsFilterType = itk::ExtractImageFilter< TMeasuredProjections, TMeasuredProjections >
 
using ForwardProjectionFilterType = rtk::ForwardProjectionImageFilter< TOutputImage, TOutputImage >
 
using ForwardProjectionType = typename Superclass::ForwardProjectionType
 
using GradientsBackProjectionFilterType = rtk::BackProjectionImageFilter< GradientsImageType, GradientsImageType >
 
using GradientsImageType = TOutputImage
 
using GradientsSourceType = rtk::ConstantImageSource< GradientsImageType >
 
using HessiansBackProjectionFilterType = rtk::BackProjectionImageFilter< HessiansImageType, HessiansImageType >
 
using HessiansImageType = typename itk::Image< itk::Vector< dataType, nMaterials *nMaterials >, TOutputImage::ImageDimension >
 
using HessiansSourceType = rtk::ConstantImageSource< HessiansImageType >
 
using MaterialProjectionsSourceType = rtk::ConstantImageSource< TOutputImage >
 
using MultiplyFilterType = itk::MultiplyImageFilter< TOutputImage, SingleComponentImageType >
 
using MultiplyGradientFilterType = itk::MultiplyImageFilter< GradientsImageType, SingleComponentImageType >
 
using NesterovFilterType = rtk::NesterovUpdateImageFilter< TOutputImage >
 
using NewtonFilterType = rtk::GetNewtonUpdateImageFilter< GradientsImageType, HessiansImageType >
 
using Pointer = itk::SmartPointer< Self >
 
using ReorderMeasuredProjectionsFilterType = rtk::ReorderProjectionsImageFilter< TMeasuredProjections >
 
using ReorderProjectionsWeightsFilterType = rtk::ReorderProjectionsImageFilter< SingleComponentImageType >
 
using Self = MechlemOneStepSpectralReconstructionFilter
 
using SingleComponentForwardProjectionFilterType = rtk::ForwardProjectionImageFilter< SingleComponentImageType, SingleComponentImageType >
 
using SingleComponentImageSourceType = rtk::ConstantImageSource< SingleComponentImageType >
 
using SingleComponentImageType = typename itk::Image< dataType, TOutputImage::ImageDimension >
 
using SQSRegularizationType = rtk::SeparableQuadraticSurrogateRegularizationImageFilter< GradientsImageType >
 
using Superclass = IterativeConeBeamReconstructionFilter< TOutputImage, TOutputImage >
 
using VectorImageType = typename itk::VectorImage< dataType, TOutputImage::ImageDimension >
 
using WeidingerForwardModelType = WeidingerForwardModelImageFilter< TOutputImage, TMeasuredProjections, TIncidentSpectrum >
 
- Public Types inherited from rtk::IterativeConeBeamReconstructionFilter< TOutputImage, TOutputImage >
using BackProjectionFilterType = rtk::BackProjectionImageFilter< TOutputImage, VolumeType >
 
using BackProjectionPointerType = typename BackProjectionFilterType::Pointer
 
enum  BackProjectionType
 
using ConstPointer = itk::SmartPointer< const Self >
 
using ForwardProjectionFilterType = rtk::ForwardProjectionImageFilter< VolumeType, TOutputImage >
 
using ForwardProjectionPointerType = typename ForwardProjectionFilterType::Pointer
 
enum  ForwardProjectionType
 
using Pointer = itk::SmartPointer< Self >
 
using Self = IterativeConeBeamReconstructionFilter
 
using Superclass = itk::ImageToImageFilter< TOutputImage, TOutputImage >
 
using TClipImageType = itk::Image< double, VolumeType::ImageDimension >
 
using VolumeType = TOutputImage
 

Public Member Functions

virtual ::itk::LightObject::Pointer CreateAnother () const
 
const char * GetNameOfClass () const override
 
virtual int GetNumberOfIterations ()
 
virtual void SetGeometry (const ThreeDCircularProjectionGeometry *_arg)
 
virtual void SetNumberOfIterations (int _arg)
 
virtual void SetNumberOfSubsets (int _arg)
 
virtual int GetNumberOfSubsets ()
 
virtual void SetResetNesterovEvery (int _arg)
 
virtual int GetResetNesterovEvery ()
 
void SetInputMaterialVolumes (const TOutputImage *materialVolumes)
 
void SetInputMaterialVolumes (const VectorImageType *materialVolumes)
 
void SetInputMeasuredProjections (const TMeasuredProjections *measuredProjections)
 
void SetInputMeasuredProjections (const VectorImageType *measuredProjections)
 
void SetInputIncidentSpectrum (const TIncidentSpectrum *incidentSpectrum)
 
void SetSupportMask (const SingleComponentImageType *support)
 
void SetSpatialRegularizationWeights (const SingleComponentImageType *regweights)
 
void SetProjectionWeights (const SingleComponentImageType *weiprojections)
 
virtual void SetRegularizationWeights (typename TOutputImage::PixelType _arg)
 
virtual TOutputImage::PixelType GetRegularizationWeights ()
 
virtual void SetRegularizationRadius (typename TOutputImage::RegionType::SizeType _arg)
 
virtual TOutputImage::RegionType::SizeType GetRegularizationRadius ()
 
- Public Member Functions inherited from rtk::IterativeConeBeamReconstructionFilter< TOutputImage, TOutputImage >
virtual ::itk::LightObject::Pointer CreateAnother () const
 
const char * GetNameOfClass () const override
 
virtual void SetForwardProjectionFilter (ForwardProjectionType fwtype)
 
ForwardProjectionType GetForwardProjectionFilter ()
 
virtual void SetBackProjectionFilter (BackProjectionType bptype)
 
BackProjectionType GetBackProjectionFilter ()
 
void SetAttenuationMap (const VolumeType *attenuationMap)
 
VolumeType::ConstPointer GetAttenuationMap ()
 
void SetInferiorClipImage (const TClipImageType *inferiorClipImage)
 
TClipImageType::ConstPointer GetInferiorClipImage ()
 
void SetSuperiorClipImage (const TClipImageType *superiorClipImage)
 
TClipImageType::ConstPointer GetSuperiorClipImage ()
 
virtual double GetSigmaZero ()
 
virtual void SetSigmaZero (double _arg)
 
virtual double GetAlphaPSF ()
 
virtual void SetAlphaPSF (double _arg)
 
virtual double GetStepSize () const
 
virtual void SetStepSize (double _arg)
 

Static Public Member Functions

static Pointer New ()
 
- Static Public Member Functions inherited from rtk::IterativeConeBeamReconstructionFilter< TOutputImage, TOutputImage >
static Pointer New ()
 

Static Public Attributes

static constexpr unsigned int nBins = TMeasuredProjections::PixelType::Dimension
 
static constexpr unsigned int nMaterials = TOutputImage::PixelType::Dimension
 

Protected Member Functions

void GenerateData () override
 
 MechlemOneStepSpectralReconstructionFilter ()
 
void VerifyInputInformation () const override
 
void VerifyPreconditions () const override
 
 ~MechlemOneStepSpectralReconstructionFilter () override=default
 
void GenerateInputRequestedRegion () override
 
void GenerateOutputInformation () override
 
TOutputImage::ConstPointer GetInputMaterialVolumes ()
 
TMeasuredProjections::ConstPointer GetInputMeasuredProjections ()
 
TIncidentSpectrum::ConstPointer GetInputIncidentSpectrum ()
 
SingleComponentImageType::ConstPointer GetSupportMask ()
 
SingleComponentImageType::ConstPointer GetSpatialRegularizationWeights ()
 
SingleComponentImageType::ConstPointer GetProjectionWeights ()
 
SingleComponentForwardProjectionFilterType::Pointer InstantiateSingleComponentForwardProjectionFilter (int fwtype)
 
HessiansBackProjectionFilterType::Pointer InstantiateHessiansBackProjectionFilter (int bptype)
 
- Protected Member Functions inherited from rtk::IterativeConeBeamReconstructionFilter< TOutputImage, TOutputImage >
virtual BackProjectionPointerType InstantiateBackProjectionFilter (int bptype)
 
BackProjectionPointerType InstantiateCudaBackProjection ()
 
BackProjectionPointerType InstantiateCudaBackProjection ()
 
ForwardProjectionPointerType InstantiateCudaForwardProjection ()
 
ForwardProjectionPointerType InstantiateCudaForwardProjection ()
 
BackProjectionPointerType InstantiateCudaRayCastBackProjection ()
 
BackProjectionPointerType InstantiateCudaRayCastBackProjection ()
 
virtual ForwardProjectionPointerType InstantiateForwardProjectionFilter (int fwtype)
 
BackProjectionPointerType InstantiateJosephBackAttenuatedProjection ()
 
BackProjectionPointerType InstantiateJosephBackAttenuatedProjection ()
 
ForwardProjectionPointerType InstantiateJosephForwardAttenuatedProjection ()
 
ForwardProjectionPointerType InstantiateJosephForwardAttenuatedProjection ()
 
BackProjectionPointerType InstantiateZengBackProjection ()
 
BackProjectionPointerType InstantiateZengBackProjection ()
 
ForwardProjectionPointerType InstantiateZengForwardProjection ()
 
ForwardProjectionPointerType InstantiateZengForwardProjection ()
 
 IterativeConeBeamReconstructionFilter ()
 
 ~IterativeConeBeamReconstructionFilter () override=default
 

Protected Attributes

AddFilterType::Pointer m_AddGradients
 
AddMatrixAndDiagonalFilterType::Pointer m_AddHessians
 
CastMaterialVolumesFilterType::Pointer m_CastMaterialVolumesFilter
 
CastMeasuredProjectionsFilterType::Pointer m_CastMeasuredProjectionsFilter
 
ExtractMeasuredProjectionsFilterType::Pointer m_ExtractMeasuredProjectionsFilter
 
ForwardProjectionFilterType::Pointer m_ForwardProjectionFilter
 
ThreeDCircularProjectionGeometry::ConstPointer m_Geometry
 
GradientsBackProjectionFilterType::Pointer m_GradientsBackProjectionFilter
 
GradientsSourceType::Pointer m_GradientsSource
 
HessiansBackProjectionFilterType::Pointer m_HessiansBackProjectionFilter
 
HessiansSourceType::Pointer m_HessiansSource
 
MultiplyGradientFilterType::Pointer m_MultiplyGradientToBeBackprojectedFilter
 
MultiplyGradientFilterType::Pointer m_MultiplyRegulGradientsFilter
 
MultiplyGradientFilterType::Pointer m_MultiplyRegulHessiansFilter
 
MultiplyFilterType::Pointer m_MultiplySupportFilter
 
NesterovFilterType::Pointer m_NesterovFilter
 
NewtonFilterType::Pointer m_NewtonFilter
 
int m_NumberOfIterations
 
int m_NumberOfProjections
 
std::vector< int > m_NumberOfProjectionsInSubset
 
int m_NumberOfProjectionsPerSubset
 
int m_NumberOfSubsets
 
MaterialProjectionsSourceType::Pointer m_ProjectionsSource
 
TOutputImage::RegionType::SizeType m_RegularizationRadius
 
TOutputImage::PixelType m_RegularizationWeights
 
ReorderMeasuredProjectionsFilterType::Pointer m_ReorderMeasuredProjectionsFilter
 
ReorderProjectionsWeightsFilterType::Pointer m_ReorderProjectionsWeightsFilter
 
int m_ResetNesterovEvery
 
SingleComponentForwardProjectionFilterType::Pointer m_SingleComponentForwardProjectionFilter
 
SingleComponentImageSourceType::Pointer m_SingleComponentProjectionsSource
 
SingleComponentImageSourceType::Pointer m_SingleComponentVolumeSource
 
SQSRegularizationType::Pointer m_SQSRegul
 
WeidingerForwardModelType::Pointer m_WeidingerForward
 
- Protected Attributes inherited from rtk::IterativeConeBeamReconstructionFilter< TOutputImage, TOutputImage >
double m_AlphaPSF
 
BackProjectionType m_CurrentBackProjectionConfiguration
 
ForwardProjectionType m_CurrentForwardProjectionConfiguration
 
std::default_random_engine m_DefaultRandomEngine
 
double m_SigmaZero
 
double m_StepSize
 
using BinnedDetectorResponseType = vnl_matrix< dataType >
 
using MaterialAttenuationsType = vnl_matrix< dataType >
 
virtual void SetBinnedDetectorResponse (const BinnedDetectorResponseType &detResp)
 
virtual void SetMaterialAttenuations (const MaterialAttenuationsType &matAtt)
 

Additional Inherited Members

- Protected Types inherited from rtk::IterativeConeBeamReconstructionFilter< TOutputImage, TOutputImage >
using CPUImageType = typename itk::Image< typename TOutputImage ::PixelType, TOutputImage ::ImageDimension >
 
using EnableCudaScalarAndVectorType = typename std::enable_if< !std::is_same< CPUImageType, ImageType >::value &&std::is_same< typename itk::PixelTraits< typename ImageType::PixelType >::ValueType, float >::value &&(itk::PixelTraits< typename ImageType::PixelType >::Dimension==1||itk::PixelTraits< typename ImageType::PixelType >::Dimension==2||itk::PixelTraits< typename ImageType::PixelType >::Dimension==3)>::type
 
using DisableCudaScalarAndVectorType = typename std::enable_if< std::is_same< CPUImageType, ImageType >::value||!std::is_same< typename itk::PixelTraits< typename ImageType::PixelType >::ValueType, float >::value||(itk::PixelTraits< typename ImageType::PixelType >::Dimension !=1 &&itk::PixelTraits< typename ImageType::PixelType >::Dimension !=2 &&itk::PixelTraits< typename ImageType::PixelType >::Dimension !=3)>::type
 
using EnableCudaScalarType = typename std::enable_if< !std::is_same< CPUImageType, ImageType >::value &&std::is_same< typename itk::PixelTraits< typename ImageType::PixelType >::ValueType, float >::value &&itk::PixelTraits< typename ImageType::PixelType >::Dimension==1 >::type
 
using DisableCudaScalarType = typename std::enable_if< std::is_same< CPUImageType, ImageType >::value||!std::is_same< typename itk::PixelTraits< typename ImageType::PixelType >::ValueType, float >::value||itk::PixelTraits< typename ImageType::PixelType >::Dimension !=1 >::type
 
using EnableVectorType = typename std::enable_if< itk::PixelTraits< typename ImageType::PixelType >::Dimension !=1 >::type
 
using DisableVectorType = typename std::enable_if< itk::PixelTraits< typename ImageType::PixelType >::Dimension==1 >::type
 

Detailed Description

template<typename TOutputImage, typename TMeasuredProjections, typename TIncidentSpectrum>
class rtk::MechlemOneStepSpectralReconstructionFilter< TOutputImage, TMeasuredProjections, TIncidentSpectrum >

Implements the one-step spectral CT inversion method described by Mechlem et al.

This filter implements one-step spectral CT inversion method described by Mechlem et al. in their paper "Joint statistical iterative material image reconstruction for spectral computed tomography using a semi-empirical forward model", IEEE TMI 2017 It reconstructs a vector-valued volume (each component is a material) from vector-valued projections (each component is the count of photons in an energy bin of the spectral detector). It requires knowledge of the incident spectrum, of the detector's energy distribution and of the materials' matrix of mass-attenuation coefficients as a function of the incident energy.

Test:
rtkmechlemtest.cxx
Author
Cyril Mory

Definition at line 155 of file rtkMechlemOneStepSpectralReconstructionFilter.h.

Member Typedef Documentation

◆ AddFilterType

template<typename TOutputImage , typename TMeasuredProjections , typename TIncidentSpectrum >
using rtk::MechlemOneStepSpectralReconstructionFilter< TOutputImage, TMeasuredProjections, TIncidentSpectrum >::AddFilterType = itk::AddImageFilter<GradientsImageType>

◆ AddMatrixAndDiagonalFilterType

template<typename TOutputImage , typename TMeasuredProjections , typename TIncidentSpectrum >
using rtk::MechlemOneStepSpectralReconstructionFilter< TOutputImage, TMeasuredProjections, TIncidentSpectrum >::AddMatrixAndDiagonalFilterType = rtk::AddMatrixAndDiagonalImageFilter<GradientsImageType, HessiansImageType>

◆ BackProjectionType

template<typename TOutputImage , typename TMeasuredProjections , typename TIncidentSpectrum >
using rtk::MechlemOneStepSpectralReconstructionFilter< TOutputImage, TMeasuredProjections, TIncidentSpectrum >::BackProjectionType = typename Superclass::BackProjectionType

◆ BinnedDetectorResponseType

template<typename TOutputImage , typename TMeasuredProjections , typename TIncidentSpectrum >
using rtk::MechlemOneStepSpectralReconstructionFilter< TOutputImage, TMeasuredProjections, TIncidentSpectrum >::BinnedDetectorResponseType = vnl_matrix<dataType>

Set methods forwarding the detector response and material attenuation matrices to the internal WeidingerForwardModel filter

Definition at line 307 of file rtkMechlemOneStepSpectralReconstructionFilter.h.

◆ CastMaterialVolumesFilterType

template<typename TOutputImage , typename TMeasuredProjections , typename TIncidentSpectrum >
using rtk::MechlemOneStepSpectralReconstructionFilter< TOutputImage, TMeasuredProjections, TIncidentSpectrum >::CastMaterialVolumesFilterType = itk::CastImageFilter<VectorImageType, TOutputImage>

Filter type alias

Definition at line 229 of file rtkMechlemOneStepSpectralReconstructionFilter.h.

◆ CastMeasuredProjectionsFilterType

template<typename TOutputImage , typename TMeasuredProjections , typename TIncidentSpectrum >
using rtk::MechlemOneStepSpectralReconstructionFilter< TOutputImage, TMeasuredProjections, TIncidentSpectrum >::CastMeasuredProjectionsFilterType = itk::CastImageFilter<VectorImageType, TMeasuredProjections>

◆ CPUOutputImageType

template<typename TOutputImage , typename TMeasuredProjections , typename TIncidentSpectrum >
using rtk::MechlemOneStepSpectralReconstructionFilter< TOutputImage, TMeasuredProjections, TIncidentSpectrum >::CPUOutputImageType = typename itk::Image<typename TOutputImage::PixelType, TOutputImage::ImageDimension>

SFINAE type alias, depending on whether a CUDA image is used.

Definition at line 181 of file rtkMechlemOneStepSpectralReconstructionFilter.h.

◆ CudaHessiansBackProjectionImageFilterType

template<typename TOutputImage , typename TMeasuredProjections , typename TIncidentSpectrum >
using rtk::MechlemOneStepSpectralReconstructionFilter< TOutputImage, TMeasuredProjections, TIncidentSpectrum >::CudaHessiansBackProjectionImageFilterType = BackProjectionImageFilter<HessiansImageType, HessiansImageType>

◆ CudaSingleComponentForwardProjectionImageFilterType

template<typename TOutputImage , typename TMeasuredProjections , typename TIncidentSpectrum >
using rtk::MechlemOneStepSpectralReconstructionFilter< TOutputImage, TMeasuredProjections, TIncidentSpectrum >::CudaSingleComponentForwardProjectionImageFilterType = JosephForwardProjectionImageFilter<SingleComponentImageType, SingleComponentImageType>

◆ dataType

template<typename TOutputImage , typename TMeasuredProjections , typename TIncidentSpectrum >
using rtk::MechlemOneStepSpectralReconstructionFilter< TOutputImage, TMeasuredProjections, TIncidentSpectrum >::dataType = typename TOutputImage::PixelType::ValueType

◆ ExtractMeasuredProjectionsFilterType

template<typename TOutputImage , typename TMeasuredProjections , typename TIncidentSpectrum >
using rtk::MechlemOneStepSpectralReconstructionFilter< TOutputImage, TMeasuredProjections, TIncidentSpectrum >::ExtractMeasuredProjectionsFilterType = itk::ExtractImageFilter<TMeasuredProjections, TMeasuredProjections>

◆ ForwardProjectionFilterType

template<typename TOutputImage , typename TMeasuredProjections , typename TIncidentSpectrum >
using rtk::MechlemOneStepSpectralReconstructionFilter< TOutputImage, TMeasuredProjections, TIncidentSpectrum >::ForwardProjectionFilterType = rtk::ForwardProjectionImageFilter<TOutputImage, TOutputImage>

◆ ForwardProjectionType

template<typename TOutputImage , typename TMeasuredProjections , typename TIncidentSpectrum >
using rtk::MechlemOneStepSpectralReconstructionFilter< TOutputImage, TMeasuredProjections, TIncidentSpectrum >::ForwardProjectionType = typename Superclass::ForwardProjectionType

◆ GradientsBackProjectionFilterType

template<typename TOutputImage , typename TMeasuredProjections , typename TIncidentSpectrum >
using rtk::MechlemOneStepSpectralReconstructionFilter< TOutputImage, TMeasuredProjections, TIncidentSpectrum >::GradientsBackProjectionFilterType = rtk::BackProjectionImageFilter<GradientsImageType, GradientsImageType>

◆ GradientsImageType

template<typename TOutputImage , typename TMeasuredProjections , typename TIncidentSpectrum >
using rtk::MechlemOneStepSpectralReconstructionFilter< TOutputImage, TMeasuredProjections, TIncidentSpectrum >::GradientsImageType = TOutputImage

◆ GradientsSourceType

template<typename TOutputImage , typename TMeasuredProjections , typename TIncidentSpectrum >
using rtk::MechlemOneStepSpectralReconstructionFilter< TOutputImage, TMeasuredProjections, TIncidentSpectrum >::GradientsSourceType = rtk::ConstantImageSource<GradientsImageType>

◆ HessiansBackProjectionFilterType

template<typename TOutputImage , typename TMeasuredProjections , typename TIncidentSpectrum >
using rtk::MechlemOneStepSpectralReconstructionFilter< TOutputImage, TMeasuredProjections, TIncidentSpectrum >::HessiansBackProjectionFilterType = rtk::BackProjectionImageFilter<HessiansImageType, HessiansImageType>

◆ HessiansImageType

template<typename TOutputImage , typename TMeasuredProjections , typename TIncidentSpectrum >
using rtk::MechlemOneStepSpectralReconstructionFilter< TOutputImage, TMeasuredProjections, TIncidentSpectrum >::HessiansImageType = typename itk::Image<itk::Vector<dataType, nMaterials * nMaterials>, TOutputImage::ImageDimension>

◆ HessiansSourceType

template<typename TOutputImage , typename TMeasuredProjections , typename TIncidentSpectrum >
using rtk::MechlemOneStepSpectralReconstructionFilter< TOutputImage, TMeasuredProjections, TIncidentSpectrum >::HessiansSourceType = rtk::ConstantImageSource<HessiansImageType>

◆ MaterialAttenuationsType

template<typename TOutputImage , typename TMeasuredProjections , typename TIncidentSpectrum >
using rtk::MechlemOneStepSpectralReconstructionFilter< TOutputImage, TMeasuredProjections, TIncidentSpectrum >::MaterialAttenuationsType = vnl_matrix<dataType>

Set methods forwarding the detector response and material attenuation matrices to the internal WeidingerForwardModel filter

Definition at line 308 of file rtkMechlemOneStepSpectralReconstructionFilter.h.

◆ MaterialProjectionsSourceType

template<typename TOutputImage , typename TMeasuredProjections , typename TIncidentSpectrum >
using rtk::MechlemOneStepSpectralReconstructionFilter< TOutputImage, TMeasuredProjections, TIncidentSpectrum >::MaterialProjectionsSourceType = rtk::ConstantImageSource<TOutputImage>

◆ MultiplyFilterType

template<typename TOutputImage , typename TMeasuredProjections , typename TIncidentSpectrum >
using rtk::MechlemOneStepSpectralReconstructionFilter< TOutputImage, TMeasuredProjections, TIncidentSpectrum >::MultiplyFilterType = itk::MultiplyImageFilter<TOutputImage, SingleComponentImageType>

◆ MultiplyGradientFilterType

template<typename TOutputImage , typename TMeasuredProjections , typename TIncidentSpectrum >
using rtk::MechlemOneStepSpectralReconstructionFilter< TOutputImage, TMeasuredProjections, TIncidentSpectrum >::MultiplyGradientFilterType = itk::MultiplyImageFilter<GradientsImageType, SingleComponentImageType>

◆ NesterovFilterType

template<typename TOutputImage , typename TMeasuredProjections , typename TIncidentSpectrum >
using rtk::MechlemOneStepSpectralReconstructionFilter< TOutputImage, TMeasuredProjections, TIncidentSpectrum >::NesterovFilterType = rtk::NesterovUpdateImageFilter<TOutputImage>

◆ NewtonFilterType

template<typename TOutputImage , typename TMeasuredProjections , typename TIncidentSpectrum >
using rtk::MechlemOneStepSpectralReconstructionFilter< TOutputImage, TMeasuredProjections, TIncidentSpectrum >::NewtonFilterType = rtk::GetNewtonUpdateImageFilter<GradientsImageType, HessiansImageType>

◆ Pointer

template<typename TOutputImage , typename TMeasuredProjections , typename TIncidentSpectrum >
using rtk::MechlemOneStepSpectralReconstructionFilter< TOutputImage, TMeasuredProjections, TIncidentSpectrum >::Pointer = itk::SmartPointer<Self>

◆ ReorderMeasuredProjectionsFilterType

template<typename TOutputImage , typename TMeasuredProjections , typename TIncidentSpectrum >
using rtk::MechlemOneStepSpectralReconstructionFilter< TOutputImage, TMeasuredProjections, TIncidentSpectrum >::ReorderMeasuredProjectionsFilterType = rtk::ReorderProjectionsImageFilter<TMeasuredProjections>

◆ ReorderProjectionsWeightsFilterType

template<typename TOutputImage , typename TMeasuredProjections , typename TIncidentSpectrum >
using rtk::MechlemOneStepSpectralReconstructionFilter< TOutputImage, TMeasuredProjections, TIncidentSpectrum >::ReorderProjectionsWeightsFilterType = rtk::ReorderProjectionsImageFilter<SingleComponentImageType>

◆ Self

template<typename TOutputImage , typename TMeasuredProjections , typename TIncidentSpectrum >
using rtk::MechlemOneStepSpectralReconstructionFilter< TOutputImage, TMeasuredProjections, TIncidentSpectrum >::Self = MechlemOneStepSpectralReconstructionFilter

Standard class type alias.

Definition at line 162 of file rtkMechlemOneStepSpectralReconstructionFilter.h.

◆ SingleComponentForwardProjectionFilterType

template<typename TOutputImage , typename TMeasuredProjections , typename TIncidentSpectrum >
using rtk::MechlemOneStepSpectralReconstructionFilter< TOutputImage, TMeasuredProjections, TIncidentSpectrum >::SingleComponentForwardProjectionFilterType = rtk::ForwardProjectionImageFilter<SingleComponentImageType, SingleComponentImageType>

◆ SingleComponentImageSourceType

template<typename TOutputImage , typename TMeasuredProjections , typename TIncidentSpectrum >
using rtk::MechlemOneStepSpectralReconstructionFilter< TOutputImage, TMeasuredProjections, TIncidentSpectrum >::SingleComponentImageSourceType = rtk::ConstantImageSource<SingleComponentImageType>

◆ SingleComponentImageType

template<typename TOutputImage , typename TMeasuredProjections , typename TIncidentSpectrum >
using rtk::MechlemOneStepSpectralReconstructionFilter< TOutputImage, TMeasuredProjections, TIncidentSpectrum >::SingleComponentImageType = typename itk::Image<dataType, TOutputImage::ImageDimension>

◆ SQSRegularizationType

template<typename TOutputImage , typename TMeasuredProjections , typename TIncidentSpectrum >
using rtk::MechlemOneStepSpectralReconstructionFilter< TOutputImage, TMeasuredProjections, TIncidentSpectrum >::SQSRegularizationType = rtk::SeparableQuadraticSurrogateRegularizationImageFilter<GradientsImageType>

◆ Superclass

template<typename TOutputImage , typename TMeasuredProjections , typename TIncidentSpectrum >
using rtk::MechlemOneStepSpectralReconstructionFilter< TOutputImage, TMeasuredProjections, TIncidentSpectrum >::Superclass = IterativeConeBeamReconstructionFilter<TOutputImage, TOutputImage>

◆ VectorImageType

template<typename TOutputImage , typename TMeasuredProjections , typename TIncidentSpectrum >
using rtk::MechlemOneStepSpectralReconstructionFilter< TOutputImage, TMeasuredProjections, TIncidentSpectrum >::VectorImageType = typename itk::VectorImage<dataType, TOutputImage::ImageDimension>

Alternative type for the input materials volume and the input photon counts

Definition at line 178 of file rtkMechlemOneStepSpectralReconstructionFilter.h.

◆ WeidingerForwardModelType

template<typename TOutputImage , typename TMeasuredProjections , typename TIncidentSpectrum >
using rtk::MechlemOneStepSpectralReconstructionFilter< TOutputImage, TMeasuredProjections, TIncidentSpectrum >::WeidingerForwardModelType = WeidingerForwardModelImageFilter<TOutputImage, TMeasuredProjections, TIncidentSpectrum>

Constructor & Destructor Documentation

◆ MechlemOneStepSpectralReconstructionFilter()

template<typename TOutputImage , typename TMeasuredProjections , typename TIncidentSpectrum >
rtk::MechlemOneStepSpectralReconstructionFilter< TOutputImage, TMeasuredProjections, TIncidentSpectrum >::MechlemOneStepSpectralReconstructionFilter ( )
protected

◆ ~MechlemOneStepSpectralReconstructionFilter()

template<typename TOutputImage , typename TMeasuredProjections , typename TIncidentSpectrum >
rtk::MechlemOneStepSpectralReconstructionFilter< TOutputImage, TMeasuredProjections, TIncidentSpectrum >::~MechlemOneStepSpectralReconstructionFilter ( )
overrideprotecteddefault

Member Function Documentation

◆ CreateAnother()

template<typename TOutputImage , typename TMeasuredProjections , typename TIncidentSpectrum >
virtual::itk::LightObject::Pointer rtk::MechlemOneStepSpectralReconstructionFilter< TOutputImage, TMeasuredProjections, TIncidentSpectrum >::CreateAnother ( ) const
virtual

Reimplemented from itk::Object.

◆ GenerateData()

template<typename TOutputImage , typename TMeasuredProjections , typename TIncidentSpectrum >
void rtk::MechlemOneStepSpectralReconstructionFilter< TOutputImage, TMeasuredProjections, TIncidentSpectrum >::GenerateData ( )
overrideprotectedvirtual

Does the real work.

Reimplemented from itk::ProcessObject.

◆ GenerateInputRequestedRegion()

template<typename TOutputImage , typename TMeasuredProjections , typename TIncidentSpectrum >
void rtk::MechlemOneStepSpectralReconstructionFilter< TOutputImage, TMeasuredProjections, TIncidentSpectrum >::GenerateInputRequestedRegion ( )
overrideprotectedvirtual

The volume and the projections must have different requested regions

Reimplemented from itk::ProcessObject.

◆ GenerateOutputInformation()

template<typename TOutputImage , typename TMeasuredProjections , typename TIncidentSpectrum >
void rtk::MechlemOneStepSpectralReconstructionFilter< TOutputImage, TMeasuredProjections, TIncidentSpectrum >::GenerateOutputInformation ( )
overrideprotectedvirtual

The volume and the projections must have different requested regions

Reimplemented from itk::ProcessObject.

◆ GetInputIncidentSpectrum()

template<typename TOutputImage , typename TMeasuredProjections , typename TIncidentSpectrum >
TIncidentSpectrum::ConstPointer rtk::MechlemOneStepSpectralReconstructionFilter< TOutputImage, TMeasuredProjections, TIncidentSpectrum >::GetInputIncidentSpectrum ( )
protected

Getters for the inputs

◆ GetInputMaterialVolumes()

template<typename TOutputImage , typename TMeasuredProjections , typename TIncidentSpectrum >
TOutputImage::ConstPointer rtk::MechlemOneStepSpectralReconstructionFilter< TOutputImage, TMeasuredProjections, TIncidentSpectrum >::GetInputMaterialVolumes ( )
protected

Getters for the inputs

◆ GetInputMeasuredProjections()

template<typename TOutputImage , typename TMeasuredProjections , typename TIncidentSpectrum >
TMeasuredProjections::ConstPointer rtk::MechlemOneStepSpectralReconstructionFilter< TOutputImage, TMeasuredProjections, TIncidentSpectrum >::GetInputMeasuredProjections ( )
protected

Getters for the inputs

◆ GetNameOfClass()

template<typename TOutputImage , typename TMeasuredProjections , typename TIncidentSpectrum >
const char* rtk::MechlemOneStepSpectralReconstructionFilter< TOutputImage, TMeasuredProjections, TIncidentSpectrum >::GetNameOfClass ( ) const
overridevirtual

Run-time type information (and related methods).

Reimplemented from itk::ProcessObject.

◆ GetNumberOfIterations()

template<typename TOutputImage , typename TMeasuredProjections , typename TIncidentSpectrum >
virtual int rtk::MechlemOneStepSpectralReconstructionFilter< TOutputImage, TMeasuredProjections, TIncidentSpectrum >::GetNumberOfIterations ( )
virtual

◆ GetNumberOfSubsets()

template<typename TOutputImage , typename TMeasuredProjections , typename TIncidentSpectrum >
virtual int rtk::MechlemOneStepSpectralReconstructionFilter< TOutputImage, TMeasuredProjections, TIncidentSpectrum >::GetNumberOfSubsets ( )
virtual

Number of subsets per iteration.

◆ GetProjectionWeights()

template<typename TOutputImage , typename TMeasuredProjections , typename TIncidentSpectrum >
SingleComponentImageType::ConstPointer rtk::MechlemOneStepSpectralReconstructionFilter< TOutputImage, TMeasuredProjections, TIncidentSpectrum >::GetProjectionWeights ( )
protected

Getters for the inputs

◆ GetRegularizationRadius()

template<typename TOutputImage , typename TMeasuredProjections , typename TIncidentSpectrum >
virtual TOutputImage::RegionType::SizeType rtk::MechlemOneStepSpectralReconstructionFilter< TOutputImage, TMeasuredProjections, TIncidentSpectrum >::GetRegularizationRadius ( )
virtual

Set/Get for the radius

◆ GetRegularizationWeights()

template<typename TOutputImage , typename TMeasuredProjections , typename TIncidentSpectrum >
virtual TOutputImage::PixelType rtk::MechlemOneStepSpectralReconstructionFilter< TOutputImage, TMeasuredProjections, TIncidentSpectrum >::GetRegularizationWeights ( )
virtual

Set/Get for the regularization weights

◆ GetResetNesterovEvery()

template<typename TOutputImage , typename TMeasuredProjections , typename TIncidentSpectrum >
virtual int rtk::MechlemOneStepSpectralReconstructionFilter< TOutputImage, TMeasuredProjections, TIncidentSpectrum >::GetResetNesterovEvery ( )
virtual

Parameter to trigger Nesterov's reset. The value is a number of subsets which can be larger than the number of subsets per iteration. 1 means no Nesterov acceleration.

◆ GetSpatialRegularizationWeights()

template<typename TOutputImage , typename TMeasuredProjections , typename TIncidentSpectrum >
SingleComponentImageType::ConstPointer rtk::MechlemOneStepSpectralReconstructionFilter< TOutputImage, TMeasuredProjections, TIncidentSpectrum >::GetSpatialRegularizationWeights ( )
protected

Getters for the inputs

◆ GetSupportMask()

template<typename TOutputImage , typename TMeasuredProjections , typename TIncidentSpectrum >
SingleComponentImageType::ConstPointer rtk::MechlemOneStepSpectralReconstructionFilter< TOutputImage, TMeasuredProjections, TIncidentSpectrum >::GetSupportMask ( )
protected

Getters for the inputs

◆ InstantiateHessiansBackProjectionFilter()

template<typename TOutputImage , typename TMeasuredProjections , typename TIncidentSpectrum >
HessiansBackProjectionFilterType::Pointer rtk::MechlemOneStepSpectralReconstructionFilter< TOutputImage, TMeasuredProjections, TIncidentSpectrum >::InstantiateHessiansBackProjectionFilter ( int  bptype)
protected

Functions to instantiate forward and back projection filters with a different number of components than the ones provided by the IterativeConeBeamReconstructionFilter class

◆ InstantiateSingleComponentForwardProjectionFilter()

template<typename TOutputImage , typename TMeasuredProjections , typename TIncidentSpectrum >
SingleComponentForwardProjectionFilterType::Pointer rtk::MechlemOneStepSpectralReconstructionFilter< TOutputImage, TMeasuredProjections, TIncidentSpectrum >::InstantiateSingleComponentForwardProjectionFilter ( int  fwtype)
protected

Functions to instantiate forward and back projection filters with a different number of components than the ones provided by the IterativeConeBeamReconstructionFilter class

◆ New()

template<typename TOutputImage , typename TMeasuredProjections , typename TIncidentSpectrum >
static Pointer rtk::MechlemOneStepSpectralReconstructionFilter< TOutputImage, TMeasuredProjections, TIncidentSpectrum >::New ( )
static

Method for creation through the object factory.

◆ SetBinnedDetectorResponse()

template<typename TOutputImage , typename TMeasuredProjections , typename TIncidentSpectrum >
virtual void rtk::MechlemOneStepSpectralReconstructionFilter< TOutputImage, TMeasuredProjections, TIncidentSpectrum >::SetBinnedDetectorResponse ( const BinnedDetectorResponseType detResp)
virtual

Set methods forwarding the detector response and material attenuation matrices to the internal WeidingerForwardModel filter

◆ SetGeometry()

template<typename TOutputImage , typename TMeasuredProjections , typename TIncidentSpectrum >
virtual void rtk::MechlemOneStepSpectralReconstructionFilter< TOutputImage, TMeasuredProjections, TIncidentSpectrum >::SetGeometry ( const ThreeDCircularProjectionGeometry _arg)
virtual

Pass the geometry to all filters needing it

◆ SetInputIncidentSpectrum()

template<typename TOutputImage , typename TMeasuredProjections , typename TIncidentSpectrum >
void rtk::MechlemOneStepSpectralReconstructionFilter< TOutputImage, TMeasuredProjections, TIncidentSpectrum >::SetInputIncidentSpectrum ( const TIncidentSpectrum *  incidentSpectrum)

Set methods for all inputs, since they have different types

◆ SetInputMaterialVolumes() [1/2]

template<typename TOutputImage , typename TMeasuredProjections , typename TIncidentSpectrum >
void rtk::MechlemOneStepSpectralReconstructionFilter< TOutputImage, TMeasuredProjections, TIncidentSpectrum >::SetInputMaterialVolumes ( const TOutputImage *  materialVolumes)

Set methods for all inputs, since they have different types

◆ SetInputMaterialVolumes() [2/2]

template<typename TOutputImage , typename TMeasuredProjections , typename TIncidentSpectrum >
void rtk::MechlemOneStepSpectralReconstructionFilter< TOutputImage, TMeasuredProjections, TIncidentSpectrum >::SetInputMaterialVolumes ( const VectorImageType materialVolumes)

Set methods for all inputs, since they have different types

◆ SetInputMeasuredProjections() [1/2]

template<typename TOutputImage , typename TMeasuredProjections , typename TIncidentSpectrum >
void rtk::MechlemOneStepSpectralReconstructionFilter< TOutputImage, TMeasuredProjections, TIncidentSpectrum >::SetInputMeasuredProjections ( const TMeasuredProjections *  measuredProjections)

Set methods for all inputs, since they have different types

◆ SetInputMeasuredProjections() [2/2]

template<typename TOutputImage , typename TMeasuredProjections , typename TIncidentSpectrum >
void rtk::MechlemOneStepSpectralReconstructionFilter< TOutputImage, TMeasuredProjections, TIncidentSpectrum >::SetInputMeasuredProjections ( const VectorImageType measuredProjections)

Set methods for all inputs, since they have different types

◆ SetMaterialAttenuations()

template<typename TOutputImage , typename TMeasuredProjections , typename TIncidentSpectrum >
virtual void rtk::MechlemOneStepSpectralReconstructionFilter< TOutputImage, TMeasuredProjections, TIncidentSpectrum >::SetMaterialAttenuations ( const MaterialAttenuationsType matAtt)
virtual

Set methods forwarding the detector response and material attenuation matrices to the internal WeidingerForwardModel filter

◆ SetNumberOfIterations()

template<typename TOutputImage , typename TMeasuredProjections , typename TIncidentSpectrum >
virtual void rtk::MechlemOneStepSpectralReconstructionFilter< TOutputImage, TMeasuredProjections, TIncidentSpectrum >::SetNumberOfIterations ( int  _arg)
virtual

◆ SetNumberOfSubsets()

template<typename TOutputImage , typename TMeasuredProjections , typename TIncidentSpectrum >
virtual void rtk::MechlemOneStepSpectralReconstructionFilter< TOutputImage, TMeasuredProjections, TIncidentSpectrum >::SetNumberOfSubsets ( int  _arg)
virtual

Number of subsets per iteration.

◆ SetProjectionWeights()

template<typename TOutputImage , typename TMeasuredProjections , typename TIncidentSpectrum >
void rtk::MechlemOneStepSpectralReconstructionFilter< TOutputImage, TMeasuredProjections, TIncidentSpectrum >::SetProjectionWeights ( const SingleComponentImageType weiprojections)

Set methods for all inputs, since they have different types

◆ SetRegularizationRadius()

template<typename TOutputImage , typename TMeasuredProjections , typename TIncidentSpectrum >
virtual void rtk::MechlemOneStepSpectralReconstructionFilter< TOutputImage, TMeasuredProjections, TIncidentSpectrum >::SetRegularizationRadius ( typename TOutputImage::RegionType::SizeType  _arg)
virtual

Set/Get for the radius

◆ SetRegularizationWeights()

template<typename TOutputImage , typename TMeasuredProjections , typename TIncidentSpectrum >
virtual void rtk::MechlemOneStepSpectralReconstructionFilter< TOutputImage, TMeasuredProjections, TIncidentSpectrum >::SetRegularizationWeights ( typename TOutputImage::PixelType  _arg)
virtual

Set/Get for the regularization weights

◆ SetResetNesterovEvery()

template<typename TOutputImage , typename TMeasuredProjections , typename TIncidentSpectrum >
virtual void rtk::MechlemOneStepSpectralReconstructionFilter< TOutputImage, TMeasuredProjections, TIncidentSpectrum >::SetResetNesterovEvery ( int  _arg)
virtual

Parameter to trigger Nesterov's reset. The value is a number of subsets which can be larger than the number of subsets per iteration. 1 means no Nesterov acceleration.

◆ SetSpatialRegularizationWeights()

template<typename TOutputImage , typename TMeasuredProjections , typename TIncidentSpectrum >
void rtk::MechlemOneStepSpectralReconstructionFilter< TOutputImage, TMeasuredProjections, TIncidentSpectrum >::SetSpatialRegularizationWeights ( const SingleComponentImageType regweights)

Set methods for all inputs, since they have different types

◆ SetSupportMask()

template<typename TOutputImage , typename TMeasuredProjections , typename TIncidentSpectrum >
void rtk::MechlemOneStepSpectralReconstructionFilter< TOutputImage, TMeasuredProjections, TIncidentSpectrum >::SetSupportMask ( const SingleComponentImageType support)

Set methods for all inputs, since they have different types

◆ VerifyInputInformation()

template<typename TOutputImage , typename TMeasuredProjections , typename TIncidentSpectrum >
void rtk::MechlemOneStepSpectralReconstructionFilter< TOutputImage, TMeasuredProjections, TIncidentSpectrum >::VerifyInputInformation ( ) const
inlineoverrideprotectedvirtual

The inputs of this filter have the same type but not the same meaning It is normal that they do not occupy the same physical space. Therefore this check must be removed

Reimplemented from itk::ProcessObject.

Definition at line 359 of file rtkMechlemOneStepSpectralReconstructionFilter.h.

◆ VerifyPreconditions()

template<typename TOutputImage , typename TMeasuredProjections , typename TIncidentSpectrum >
void rtk::MechlemOneStepSpectralReconstructionFilter< TOutputImage, TMeasuredProjections, TIncidentSpectrum >::VerifyPreconditions ( ) const
overrideprotectedvirtual

Checks that inputs are correctly set.

Reimplemented from itk::ProcessObject.

Member Data Documentation

◆ m_AddGradients

template<typename TOutputImage , typename TMeasuredProjections , typename TIncidentSpectrum >
AddFilterType::Pointer rtk::MechlemOneStepSpectralReconstructionFilter< TOutputImage, TMeasuredProjections, TIncidentSpectrum >::m_AddGradients
protected

◆ m_AddHessians

template<typename TOutputImage , typename TMeasuredProjections , typename TIncidentSpectrum >
AddMatrixAndDiagonalFilterType::Pointer rtk::MechlemOneStepSpectralReconstructionFilter< TOutputImage, TMeasuredProjections, TIncidentSpectrum >::m_AddHessians
protected

◆ m_CastMaterialVolumesFilter

template<typename TOutputImage , typename TMeasuredProjections , typename TIncidentSpectrum >
CastMaterialVolumesFilterType::Pointer rtk::MechlemOneStepSpectralReconstructionFilter< TOutputImage, TMeasuredProjections, TIncidentSpectrum >::m_CastMaterialVolumesFilter
protected

Member pointers to the filters used internally (for convenience)

Definition at line 329 of file rtkMechlemOneStepSpectralReconstructionFilter.h.

◆ m_CastMeasuredProjectionsFilter

template<typename TOutputImage , typename TMeasuredProjections , typename TIncidentSpectrum >
CastMeasuredProjectionsFilterType::Pointer rtk::MechlemOneStepSpectralReconstructionFilter< TOutputImage, TMeasuredProjections, TIncidentSpectrum >::m_CastMeasuredProjectionsFilter
protected

◆ m_ExtractMeasuredProjectionsFilter

template<typename TOutputImage , typename TMeasuredProjections , typename TIncidentSpectrum >
ExtractMeasuredProjectionsFilterType::Pointer rtk::MechlemOneStepSpectralReconstructionFilter< TOutputImage, TMeasuredProjections, TIncidentSpectrum >::m_ExtractMeasuredProjectionsFilter
protected

◆ m_ForwardProjectionFilter

template<typename TOutputImage , typename TMeasuredProjections , typename TIncidentSpectrum >
ForwardProjectionFilterType::Pointer rtk::MechlemOneStepSpectralReconstructionFilter< TOutputImage, TMeasuredProjections, TIncidentSpectrum >::m_ForwardProjectionFilter
protected

◆ m_Geometry

template<typename TOutputImage , typename TMeasuredProjections , typename TIncidentSpectrum >
ThreeDCircularProjectionGeometry::ConstPointer rtk::MechlemOneStepSpectralReconstructionFilter< TOutputImage, TMeasuredProjections, TIncidentSpectrum >::m_Geometry
protected

◆ m_GradientsBackProjectionFilter

template<typename TOutputImage , typename TMeasuredProjections , typename TIncidentSpectrum >
GradientsBackProjectionFilterType::Pointer rtk::MechlemOneStepSpectralReconstructionFilter< TOutputImage, TMeasuredProjections, TIncidentSpectrum >::m_GradientsBackProjectionFilter
protected

◆ m_GradientsSource

template<typename TOutputImage , typename TMeasuredProjections , typename TIncidentSpectrum >
GradientsSourceType::Pointer rtk::MechlemOneStepSpectralReconstructionFilter< TOutputImage, TMeasuredProjections, TIncidentSpectrum >::m_GradientsSource
protected

◆ m_HessiansBackProjectionFilter

template<typename TOutputImage , typename TMeasuredProjections , typename TIncidentSpectrum >
HessiansBackProjectionFilterType::Pointer rtk::MechlemOneStepSpectralReconstructionFilter< TOutputImage, TMeasuredProjections, TIncidentSpectrum >::m_HessiansBackProjectionFilter
protected

◆ m_HessiansSource

template<typename TOutputImage , typename TMeasuredProjections , typename TIncidentSpectrum >
HessiansSourceType::Pointer rtk::MechlemOneStepSpectralReconstructionFilter< TOutputImage, TMeasuredProjections, TIncidentSpectrum >::m_HessiansSource
protected

◆ m_MultiplyGradientToBeBackprojectedFilter

template<typename TOutputImage , typename TMeasuredProjections , typename TIncidentSpectrum >
MultiplyGradientFilterType::Pointer rtk::MechlemOneStepSpectralReconstructionFilter< TOutputImage, TMeasuredProjections, TIncidentSpectrum >::m_MultiplyGradientToBeBackprojectedFilter
protected

◆ m_MultiplyRegulGradientsFilter

template<typename TOutputImage , typename TMeasuredProjections , typename TIncidentSpectrum >
MultiplyGradientFilterType::Pointer rtk::MechlemOneStepSpectralReconstructionFilter< TOutputImage, TMeasuredProjections, TIncidentSpectrum >::m_MultiplyRegulGradientsFilter
protected

◆ m_MultiplyRegulHessiansFilter

template<typename TOutputImage , typename TMeasuredProjections , typename TIncidentSpectrum >
MultiplyGradientFilterType::Pointer rtk::MechlemOneStepSpectralReconstructionFilter< TOutputImage, TMeasuredProjections, TIncidentSpectrum >::m_MultiplyRegulHessiansFilter
protected

◆ m_MultiplySupportFilter

template<typename TOutputImage , typename TMeasuredProjections , typename TIncidentSpectrum >
MultiplyFilterType::Pointer rtk::MechlemOneStepSpectralReconstructionFilter< TOutputImage, TMeasuredProjections, TIncidentSpectrum >::m_MultiplySupportFilter
protected

◆ m_NesterovFilter

template<typename TOutputImage , typename TMeasuredProjections , typename TIncidentSpectrum >
NesterovFilterType::Pointer rtk::MechlemOneStepSpectralReconstructionFilter< TOutputImage, TMeasuredProjections, TIncidentSpectrum >::m_NesterovFilter
protected

◆ m_NewtonFilter

template<typename TOutputImage , typename TMeasuredProjections , typename TIncidentSpectrum >
NewtonFilterType::Pointer rtk::MechlemOneStepSpectralReconstructionFilter< TOutputImage, TMeasuredProjections, TIncidentSpectrum >::m_NewtonFilter
protected

◆ m_NumberOfIterations

template<typename TOutputImage , typename TMeasuredProjections , typename TIncidentSpectrum >
int rtk::MechlemOneStepSpectralReconstructionFilter< TOutputImage, TMeasuredProjections, TIncidentSpectrum >::m_NumberOfIterations
protected

◆ m_NumberOfProjections

template<typename TOutputImage , typename TMeasuredProjections , typename TIncidentSpectrum >
int rtk::MechlemOneStepSpectralReconstructionFilter< TOutputImage, TMeasuredProjections, TIncidentSpectrum >::m_NumberOfProjections
protected

◆ m_NumberOfProjectionsInSubset

template<typename TOutputImage , typename TMeasuredProjections , typename TIncidentSpectrum >
std::vector<int> rtk::MechlemOneStepSpectralReconstructionFilter< TOutputImage, TMeasuredProjections, TIncidentSpectrum >::m_NumberOfProjectionsInSubset
protected

◆ m_NumberOfProjectionsPerSubset

template<typename TOutputImage , typename TMeasuredProjections , typename TIncidentSpectrum >
int rtk::MechlemOneStepSpectralReconstructionFilter< TOutputImage, TMeasuredProjections, TIncidentSpectrum >::m_NumberOfProjectionsPerSubset
protected

◆ m_NumberOfSubsets

template<typename TOutputImage , typename TMeasuredProjections , typename TIncidentSpectrum >
int rtk::MechlemOneStepSpectralReconstructionFilter< TOutputImage, TMeasuredProjections, TIncidentSpectrum >::m_NumberOfSubsets
protected

◆ m_ProjectionsSource

template<typename TOutputImage , typename TMeasuredProjections , typename TIncidentSpectrum >
MaterialProjectionsSourceType::Pointer rtk::MechlemOneStepSpectralReconstructionFilter< TOutputImage, TMeasuredProjections, TIncidentSpectrum >::m_ProjectionsSource
protected

◆ m_RegularizationRadius

template<typename TOutputImage , typename TMeasuredProjections , typename TIncidentSpectrum >
TOutputImage::RegionType::SizeType rtk::MechlemOneStepSpectralReconstructionFilter< TOutputImage, TMeasuredProjections, TIncidentSpectrum >::m_RegularizationRadius
protected

◆ m_RegularizationWeights

template<typename TOutputImage , typename TMeasuredProjections , typename TIncidentSpectrum >
TOutputImage::PixelType rtk::MechlemOneStepSpectralReconstructionFilter< TOutputImage, TMeasuredProjections, TIncidentSpectrum >::m_RegularizationWeights
protected

◆ m_ReorderMeasuredProjectionsFilter

template<typename TOutputImage , typename TMeasuredProjections , typename TIncidentSpectrum >
ReorderMeasuredProjectionsFilterType::Pointer rtk::MechlemOneStepSpectralReconstructionFilter< TOutputImage, TMeasuredProjections, TIncidentSpectrum >::m_ReorderMeasuredProjectionsFilter
protected

◆ m_ReorderProjectionsWeightsFilter

template<typename TOutputImage , typename TMeasuredProjections , typename TIncidentSpectrum >
ReorderProjectionsWeightsFilterType::Pointer rtk::MechlemOneStepSpectralReconstructionFilter< TOutputImage, TMeasuredProjections, TIncidentSpectrum >::m_ReorderProjectionsWeightsFilter
protected

◆ m_ResetNesterovEvery

template<typename TOutputImage , typename TMeasuredProjections , typename TIncidentSpectrum >
int rtk::MechlemOneStepSpectralReconstructionFilter< TOutputImage, TMeasuredProjections, TIncidentSpectrum >::m_ResetNesterovEvery
protected

◆ m_SingleComponentForwardProjectionFilter

template<typename TOutputImage , typename TMeasuredProjections , typename TIncidentSpectrum >
SingleComponentForwardProjectionFilterType::Pointer rtk::MechlemOneStepSpectralReconstructionFilter< TOutputImage, TMeasuredProjections, TIncidentSpectrum >::m_SingleComponentForwardProjectionFilter
protected

◆ m_SingleComponentProjectionsSource

template<typename TOutputImage , typename TMeasuredProjections , typename TIncidentSpectrum >
SingleComponentImageSourceType::Pointer rtk::MechlemOneStepSpectralReconstructionFilter< TOutputImage, TMeasuredProjections, TIncidentSpectrum >::m_SingleComponentProjectionsSource
protected

◆ m_SingleComponentVolumeSource

template<typename TOutputImage , typename TMeasuredProjections , typename TIncidentSpectrum >
SingleComponentImageSourceType::Pointer rtk::MechlemOneStepSpectralReconstructionFilter< TOutputImage, TMeasuredProjections, TIncidentSpectrum >::m_SingleComponentVolumeSource
protected

◆ m_SQSRegul

template<typename TOutputImage , typename TMeasuredProjections , typename TIncidentSpectrum >
SQSRegularizationType::Pointer rtk::MechlemOneStepSpectralReconstructionFilter< TOutputImage, TMeasuredProjections, TIncidentSpectrum >::m_SQSRegul
protected

◆ m_WeidingerForward

template<typename TOutputImage , typename TMeasuredProjections , typename TIncidentSpectrum >
WeidingerForwardModelType::Pointer rtk::MechlemOneStepSpectralReconstructionFilter< TOutputImage, TMeasuredProjections, TIncidentSpectrum >::m_WeidingerForward
protected

◆ nBins

template<typename TOutputImage , typename TMeasuredProjections , typename TIncidentSpectrum >
constexpr unsigned int rtk::MechlemOneStepSpectralReconstructionFilter< TOutputImage, TMeasuredProjections, TIncidentSpectrum >::nBins = TMeasuredProjections::PixelType::Dimension
static

Internal type alias and parameters

Definition at line 173 of file rtkMechlemOneStepSpectralReconstructionFilter.h.

◆ nMaterials

template<typename TOutputImage , typename TMeasuredProjections , typename TIncidentSpectrum >
constexpr unsigned int rtk::MechlemOneStepSpectralReconstructionFilter< TOutputImage, TMeasuredProjections, TIncidentSpectrum >::nMaterials = TOutputImage::PixelType::Dimension
static

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