RTK
2.5.0
Reconstruction Toolkit
|
#include <rtkMechlemOneStepSpectralReconstructionFilter.h>
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 = TPhotonCounts::PixelType::Dimension |
static constexpr unsigned int | nMaterials = TOutputImage::PixelType::Dimension |
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 |
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.
Definition at line 146 of file rtkMechlemOneStepSpectralReconstructionFilter.h.
using rtk::MechlemOneStepSpectralReconstructionFilter< TOutputImage, TPhotonCounts, TSpectrum >::AddFilterType = itk::AddImageFilter<GradientsImageType> |
Definition at line 221 of file rtkMechlemOneStepSpectralReconstructionFilter.h.
using rtk::MechlemOneStepSpectralReconstructionFilter< TOutputImage, TPhotonCounts, TSpectrum >::AddMatrixAndDiagonalFilterType = rtk::AddMatrixAndDiagonalImageFilter<GradientsImageType, HessiansImageType> |
Definition at line 233 of file rtkMechlemOneStepSpectralReconstructionFilter.h.
using rtk::MechlemOneStepSpectralReconstructionFilter< TOutputImage, TPhotonCounts, TSpectrum >::BackProjectionType = typename Superclass::BackProjectionType |
Definition at line 216 of file rtkMechlemOneStepSpectralReconstructionFilter.h.
using rtk::MechlemOneStepSpectralReconstructionFilter< TOutputImage, TPhotonCounts, TSpectrum >::BinnedDetectorResponseType = vnl_matrix<dataType> |
Set methods forwarding the detector response and material attenuation matrices to the internal WeidingerForwardModel filter
Definition at line 284 of file rtkMechlemOneStepSpectralReconstructionFilter.h.
using rtk::MechlemOneStepSpectralReconstructionFilter< TOutputImage, TPhotonCounts, TSpectrum >::CPUOutputImageType = typename itk::Image<typename TOutputImage::PixelType, TOutputImage::ImageDimension> |
SFINAE type alias, depending on whether a CUDA image is used.
Definition at line 174 of file rtkMechlemOneStepSpectralReconstructionFilter.h.
using rtk::MechlemOneStepSpectralReconstructionFilter< TOutputImage, TPhotonCounts, TSpectrum >::CudaHessiansBackProjectionImageFilterType = BackProjectionImageFilter<HessiansImageType, HessiansImageType> |
Definition at line 210 of file rtkMechlemOneStepSpectralReconstructionFilter.h.
using rtk::MechlemOneStepSpectralReconstructionFilter< TOutputImage, TPhotonCounts, TSpectrum >::CudaSingleComponentForwardProjectionImageFilterType = JosephForwardProjectionImageFilter<SingleComponentImageType, SingleComponentImageType> |
Definition at line 209 of file rtkMechlemOneStepSpectralReconstructionFilter.h.
using rtk::MechlemOneStepSpectralReconstructionFilter< TOutputImage, TPhotonCounts, TSpectrum >::dataType = typename TOutputImage::PixelType::ValueType |
Definition at line 171 of file rtkMechlemOneStepSpectralReconstructionFilter.h.
using rtk::MechlemOneStepSpectralReconstructionFilter< TOutputImage, TPhotonCounts, TSpectrum >::ExtractPhotonCountsFilterType = itk::ExtractImageFilter<TPhotonCounts, TPhotonCounts> |
Filter type alias
Definition at line 220 of file rtkMechlemOneStepSpectralReconstructionFilter.h.
using rtk::MechlemOneStepSpectralReconstructionFilter< TOutputImage, TPhotonCounts, TSpectrum >::ForwardProjectionFilterType = rtk::ForwardProjectionImageFilter<TOutputImage, TOutputImage> |
Definition at line 224 of file rtkMechlemOneStepSpectralReconstructionFilter.h.
using rtk::MechlemOneStepSpectralReconstructionFilter< TOutputImage, TPhotonCounts, TSpectrum >::ForwardProjectionType = typename Superclass::ForwardProjectionType |
Definition at line 215 of file rtkMechlemOneStepSpectralReconstructionFilter.h.
using rtk::MechlemOneStepSpectralReconstructionFilter< TOutputImage, TPhotonCounts, TSpectrum >::GradientsBackProjectionFilterType = rtk::BackProjectionImageFilter<GradientsImageType, GradientsImageType> |
Definition at line 225 of file rtkMechlemOneStepSpectralReconstructionFilter.h.
using rtk::MechlemOneStepSpectralReconstructionFilter< TOutputImage, TPhotonCounts, TSpectrum >::GradientsImageType = TOutputImage |
Definition at line 212 of file rtkMechlemOneStepSpectralReconstructionFilter.h.
using rtk::MechlemOneStepSpectralReconstructionFilter< TOutputImage, TPhotonCounts, TSpectrum >::GradientsSourceType = rtk::ConstantImageSource<GradientsImageType> |
Definition at line 230 of file rtkMechlemOneStepSpectralReconstructionFilter.h.
using rtk::MechlemOneStepSpectralReconstructionFilter< TOutputImage, TPhotonCounts, TSpectrum >::HessiansBackProjectionFilterType = rtk::BackProjectionImageFilter<HessiansImageType, HessiansImageType> |
Definition at line 226 of file rtkMechlemOneStepSpectralReconstructionFilter.h.
using rtk::MechlemOneStepSpectralReconstructionFilter< TOutputImage, TPhotonCounts, TSpectrum >::HessiansImageType = typename itk::Image<itk::Vector<dataType, nMaterials * nMaterials>, TOutputImage::ImageDimension> |
Definition at line 187 of file rtkMechlemOneStepSpectralReconstructionFilter.h.
using rtk::MechlemOneStepSpectralReconstructionFilter< TOutputImage, TPhotonCounts, TSpectrum >::HessiansSourceType = rtk::ConstantImageSource<HessiansImageType> |
Definition at line 231 of file rtkMechlemOneStepSpectralReconstructionFilter.h.
using rtk::MechlemOneStepSpectralReconstructionFilter< TOutputImage, TPhotonCounts, TSpectrum >::MaterialAttenuationsType = vnl_matrix<dataType> |
Set methods forwarding the detector response and material attenuation matrices to the internal WeidingerForwardModel filter
Definition at line 285 of file rtkMechlemOneStepSpectralReconstructionFilter.h.
using rtk::MechlemOneStepSpectralReconstructionFilter< TOutputImage, TPhotonCounts, TSpectrum >::MaterialProjectionsSourceType = rtk::ConstantImageSource<TOutputImage> |
Definition at line 229 of file rtkMechlemOneStepSpectralReconstructionFilter.h.
using rtk::MechlemOneStepSpectralReconstructionFilter< TOutputImage, TPhotonCounts, TSpectrum >::MultiplyFilterType = itk::MultiplyImageFilter<TOutputImage, SingleComponentImageType> |
Definition at line 235 of file rtkMechlemOneStepSpectralReconstructionFilter.h.
using rtk::MechlemOneStepSpectralReconstructionFilter< TOutputImage, TPhotonCounts, TSpectrum >::MultiplyGradientFilterType = itk::MultiplyImageFilter<GradientsImageType, SingleComponentImageType> |
Definition at line 236 of file rtkMechlemOneStepSpectralReconstructionFilter.h.
using rtk::MechlemOneStepSpectralReconstructionFilter< TOutputImage, TPhotonCounts, TSpectrum >::NesterovFilterType = rtk::NesterovUpdateImageFilter<TOutputImage> |
Definition at line 227 of file rtkMechlemOneStepSpectralReconstructionFilter.h.
using rtk::MechlemOneStepSpectralReconstructionFilter< TOutputImage, TPhotonCounts, TSpectrum >::NewtonFilterType = rtk::GetNewtonUpdateImageFilter<GradientsImageType, HessiansImageType> |
Definition at line 234 of file rtkMechlemOneStepSpectralReconstructionFilter.h.
using rtk::MechlemOneStepSpectralReconstructionFilter< TOutputImage, TPhotonCounts, TSpectrum >::Pointer = itk::SmartPointer<Self> |
Definition at line 155 of file rtkMechlemOneStepSpectralReconstructionFilter.h.
using rtk::MechlemOneStepSpectralReconstructionFilter< TOutputImage, TPhotonCounts, TSpectrum >::Self = MechlemOneStepSpectralReconstructionFilter |
Standard class type alias.
Definition at line 153 of file rtkMechlemOneStepSpectralReconstructionFilter.h.
using rtk::MechlemOneStepSpectralReconstructionFilter< TOutputImage, TPhotonCounts, TSpectrum >::SingleComponentForwardProjectionFilterType = rtk::ForwardProjectionImageFilter<SingleComponentImageType, SingleComponentImageType> |
Definition at line 223 of file rtkMechlemOneStepSpectralReconstructionFilter.h.
using rtk::MechlemOneStepSpectralReconstructionFilter< TOutputImage, TPhotonCounts, TSpectrum >::SingleComponentImageSourceType = rtk::ConstantImageSource<SingleComponentImageType> |
Definition at line 228 of file rtkMechlemOneStepSpectralReconstructionFilter.h.
using rtk::MechlemOneStepSpectralReconstructionFilter< TOutputImage, TPhotonCounts, TSpectrum >::SingleComponentImageType = typename itk::Image<dataType, TOutputImage::ImageDimension> |
Definition at line 188 of file rtkMechlemOneStepSpectralReconstructionFilter.h.
using rtk::MechlemOneStepSpectralReconstructionFilter< TOutputImage, TPhotonCounts, TSpectrum >::SQSRegularizationType = rtk::SeparableQuadraticSurrogateRegularizationImageFilter<GradientsImageType> |
Definition at line 232 of file rtkMechlemOneStepSpectralReconstructionFilter.h.
using rtk::MechlemOneStepSpectralReconstructionFilter< TOutputImage, TPhotonCounts, TSpectrum >::Superclass = IterativeConeBeamReconstructionFilter<TOutputImage, TOutputImage> |
Definition at line 154 of file rtkMechlemOneStepSpectralReconstructionFilter.h.
using rtk::MechlemOneStepSpectralReconstructionFilter< TOutputImage, TPhotonCounts, TSpectrum >::WeidingerForwardModelType = WeidingerForwardModelImageFilter<TOutputImage, TPhotonCounts, TSpectrum> |
Definition at line 207 of file rtkMechlemOneStepSpectralReconstructionFilter.h.
|
protected |
|
overrideprotecteddefault |
|
virtual |
Reimplemented from itk::Object.
|
overrideprotectedvirtual |
Does the real work.
Reimplemented from itk::ImageSource< TOutputImage >.
|
overrideprotectedvirtual |
The volume and the projections must have different requested regions
Reimplemented from itk::ProcessObject.
|
overrideprotectedvirtual |
The volume and the projections must have different requested regions
Reimplemented from itk::ProcessObject.
|
protected |
Getters for the inputs
|
protected |
Getters for the inputs
|
protected |
Getters for the inputs
|
virtual |
Run-time type information (and related methods).
Reimplemented from rtk::IterativeConeBeamReconstructionFilter< TOutputImage, TOutputImage >.
|
virtual |
|
virtual |
Number of subsets per iteration.
|
protected |
Getters for the inputs
|
virtual |
Set/Get for the radius
|
virtual |
Set/Get for the regularization weights
|
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.
|
protected |
Getters for the inputs
|
protected |
Getters for the inputs
|
protected |
Functions to instantiate forward and back projection filters with a different number of components than the ones provided by the IterativeConeBeamReconstructionFilter class
|
protected |
Functions to instantiate forward and back projection filters with a different number of components than the ones provided by the IterativeConeBeamReconstructionFilter class
|
static |
Method for creation through the object factory.
|
virtual |
Set methods forwarding the detector response and material attenuation matrices to the internal WeidingerForwardModel filter
|
virtual |
Pass the geometry to all filters needing it
void rtk::MechlemOneStepSpectralReconstructionFilter< TOutputImage, TPhotonCounts, TSpectrum >::SetInputMaterialVolumes | ( | const TOutputImage * | materialVolumes | ) |
Set methods for all inputs, since they have different types
void rtk::MechlemOneStepSpectralReconstructionFilter< TOutputImage, TPhotonCounts, TSpectrum >::SetInputPhotonCounts | ( | const TPhotonCounts * | photonCounts | ) |
Set methods for all inputs, since they have different types
void rtk::MechlemOneStepSpectralReconstructionFilter< TOutputImage, TPhotonCounts, TSpectrum >::SetInputSpectrum | ( | const TSpectrum * | spectrum | ) |
Set methods for all inputs, since they have different types
|
virtual |
Set methods forwarding the detector response and material attenuation matrices to the internal WeidingerForwardModel filter
|
virtual |
|
virtual |
Number of subsets per iteration.
void rtk::MechlemOneStepSpectralReconstructionFilter< TOutputImage, TPhotonCounts, TSpectrum >::SetProjectionWeights | ( | const SingleComponentImageType * | weiprojections | ) |
Set methods for all inputs, since they have different types
|
virtual |
Set/Get for the radius
|
virtual |
Set/Get for the regularization weights
|
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.
void rtk::MechlemOneStepSpectralReconstructionFilter< TOutputImage, TPhotonCounts, TSpectrum >::SetSpatialRegularizationWeights | ( | const SingleComponentImageType * | regweights | ) |
Set methods for all inputs, since they have different types
void rtk::MechlemOneStepSpectralReconstructionFilter< TOutputImage, TPhotonCounts, TSpectrum >::SetSupportMask | ( | const SingleComponentImageType * | support | ) |
Set methods for all inputs, since they have different types
|
inlineoverrideprotected |
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
Definition at line 332 of file rtkMechlemOneStepSpectralReconstructionFilter.h.
|
overrideprotectedvirtual |
Checks that inputs are correctly set.
Reimplemented from itk::ProcessObject.
|
protected |
Definition at line 307 of file rtkMechlemOneStepSpectralReconstructionFilter.h.
|
protected |
Definition at line 316 of file rtkMechlemOneStepSpectralReconstructionFilter.h.
|
protected |
Member pointers to the filters used internally (for convenience)
Definition at line 306 of file rtkMechlemOneStepSpectralReconstructionFilter.h.
|
protected |
Definition at line 319 of file rtkMechlemOneStepSpectralReconstructionFilter.h.
|
protected |
Definition at line 368 of file rtkMechlemOneStepSpectralReconstructionFilter.h.
|
protected |
Definition at line 320 of file rtkMechlemOneStepSpectralReconstructionFilter.h.
|
protected |
Definition at line 312 of file rtkMechlemOneStepSpectralReconstructionFilter.h.
|
protected |
Definition at line 321 of file rtkMechlemOneStepSpectralReconstructionFilter.h.
|
protected |
Definition at line 313 of file rtkMechlemOneStepSpectralReconstructionFilter.h.
|
protected |
Definition at line 325 of file rtkMechlemOneStepSpectralReconstructionFilter.h.
|
protected |
Definition at line 323 of file rtkMechlemOneStepSpectralReconstructionFilter.h.
|
protected |
Definition at line 324 of file rtkMechlemOneStepSpectralReconstructionFilter.h.
|
protected |
Definition at line 322 of file rtkMechlemOneStepSpectralReconstructionFilter.h.
|
protected |
Definition at line 318 of file rtkMechlemOneStepSpectralReconstructionFilter.h.
|
protected |
Definition at line 317 of file rtkMechlemOneStepSpectralReconstructionFilter.h.
|
protected |
Definition at line 370 of file rtkMechlemOneStepSpectralReconstructionFilter.h.
|
protected |
Definition at line 374 of file rtkMechlemOneStepSpectralReconstructionFilter.h.
|
protected |
Definition at line 373 of file rtkMechlemOneStepSpectralReconstructionFilter.h.
|
protected |
Definition at line 371 of file rtkMechlemOneStepSpectralReconstructionFilter.h.
|
protected |
Definition at line 372 of file rtkMechlemOneStepSpectralReconstructionFilter.h.
|
protected |
Definition at line 309 of file rtkMechlemOneStepSpectralReconstructionFilter.h.
|
protected |
Definition at line 378 of file rtkMechlemOneStepSpectralReconstructionFilter.h.
|
protected |
Definition at line 377 of file rtkMechlemOneStepSpectralReconstructionFilter.h.
|
protected |
Definition at line 375 of file rtkMechlemOneStepSpectralReconstructionFilter.h.
|
protected |
Definition at line 308 of file rtkMechlemOneStepSpectralReconstructionFilter.h.
|
protected |
Definition at line 310 of file rtkMechlemOneStepSpectralReconstructionFilter.h.
|
protected |
Definition at line 311 of file rtkMechlemOneStepSpectralReconstructionFilter.h.
|
protected |
Definition at line 315 of file rtkMechlemOneStepSpectralReconstructionFilter.h.
|
protected |
Definition at line 314 of file rtkMechlemOneStepSpectralReconstructionFilter.h.
|
static |
Internal type alias and parameters
Definition at line 169 of file rtkMechlemOneStepSpectralReconstructionFilter.h.
|
static |
Definition at line 170 of file rtkMechlemOneStepSpectralReconstructionFilter.h.