RTK
2.6.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 153 of file rtkMechlemOneStepSpectralReconstructionFilter.h.
using rtk::MechlemOneStepSpectralReconstructionFilter< TOutputImage, TPhotonCounts, TSpectrum >::AddFilterType = itk::AddImageFilter<GradientsImageType> |
Definition at line 228 of file rtkMechlemOneStepSpectralReconstructionFilter.h.
using rtk::MechlemOneStepSpectralReconstructionFilter< TOutputImage, TPhotonCounts, TSpectrum >::AddMatrixAndDiagonalFilterType = rtk::AddMatrixAndDiagonalImageFilter<GradientsImageType, HessiansImageType> |
Definition at line 240 of file rtkMechlemOneStepSpectralReconstructionFilter.h.
using rtk::MechlemOneStepSpectralReconstructionFilter< TOutputImage, TPhotonCounts, TSpectrum >::BackProjectionType = typename Superclass::BackProjectionType |
Definition at line 223 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 293 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 181 of file rtkMechlemOneStepSpectralReconstructionFilter.h.
using rtk::MechlemOneStepSpectralReconstructionFilter< TOutputImage, TPhotonCounts, TSpectrum >::CudaHessiansBackProjectionImageFilterType = BackProjectionImageFilter<HessiansImageType, HessiansImageType> |
Definition at line 217 of file rtkMechlemOneStepSpectralReconstructionFilter.h.
using rtk::MechlemOneStepSpectralReconstructionFilter< TOutputImage, TPhotonCounts, TSpectrum >::CudaSingleComponentForwardProjectionImageFilterType = JosephForwardProjectionImageFilter<SingleComponentImageType, SingleComponentImageType> |
Definition at line 216 of file rtkMechlemOneStepSpectralReconstructionFilter.h.
using rtk::MechlemOneStepSpectralReconstructionFilter< TOutputImage, TPhotonCounts, TSpectrum >::dataType = typename TOutputImage::PixelType::ValueType |
Definition at line 178 of file rtkMechlemOneStepSpectralReconstructionFilter.h.
using rtk::MechlemOneStepSpectralReconstructionFilter< TOutputImage, TPhotonCounts, TSpectrum >::ExtractPhotonCountsFilterType = itk::ExtractImageFilter<TPhotonCounts, TPhotonCounts> |
Filter type alias
Definition at line 227 of file rtkMechlemOneStepSpectralReconstructionFilter.h.
using rtk::MechlemOneStepSpectralReconstructionFilter< TOutputImage, TPhotonCounts, TSpectrum >::ForwardProjectionFilterType = rtk::ForwardProjectionImageFilter<TOutputImage, TOutputImage> |
Definition at line 231 of file rtkMechlemOneStepSpectralReconstructionFilter.h.
using rtk::MechlemOneStepSpectralReconstructionFilter< TOutputImage, TPhotonCounts, TSpectrum >::ForwardProjectionType = typename Superclass::ForwardProjectionType |
Definition at line 222 of file rtkMechlemOneStepSpectralReconstructionFilter.h.
using rtk::MechlemOneStepSpectralReconstructionFilter< TOutputImage, TPhotonCounts, TSpectrum >::GradientsBackProjectionFilterType = rtk::BackProjectionImageFilter<GradientsImageType, GradientsImageType> |
Definition at line 232 of file rtkMechlemOneStepSpectralReconstructionFilter.h.
using rtk::MechlemOneStepSpectralReconstructionFilter< TOutputImage, TPhotonCounts, TSpectrum >::GradientsImageType = TOutputImage |
Definition at line 219 of file rtkMechlemOneStepSpectralReconstructionFilter.h.
using rtk::MechlemOneStepSpectralReconstructionFilter< TOutputImage, TPhotonCounts, TSpectrum >::GradientsSourceType = rtk::ConstantImageSource<GradientsImageType> |
Definition at line 237 of file rtkMechlemOneStepSpectralReconstructionFilter.h.
using rtk::MechlemOneStepSpectralReconstructionFilter< TOutputImage, TPhotonCounts, TSpectrum >::HessiansBackProjectionFilterType = rtk::BackProjectionImageFilter<HessiansImageType, HessiansImageType> |
Definition at line 233 of file rtkMechlemOneStepSpectralReconstructionFilter.h.
using rtk::MechlemOneStepSpectralReconstructionFilter< TOutputImage, TPhotonCounts, TSpectrum >::HessiansImageType = typename itk::Image<itk::Vector<dataType, nMaterials * nMaterials>, TOutputImage::ImageDimension> |
Definition at line 194 of file rtkMechlemOneStepSpectralReconstructionFilter.h.
using rtk::MechlemOneStepSpectralReconstructionFilter< TOutputImage, TPhotonCounts, TSpectrum >::HessiansSourceType = rtk::ConstantImageSource<HessiansImageType> |
Definition at line 238 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 294 of file rtkMechlemOneStepSpectralReconstructionFilter.h.
using rtk::MechlemOneStepSpectralReconstructionFilter< TOutputImage, TPhotonCounts, TSpectrum >::MaterialProjectionsSourceType = rtk::ConstantImageSource<TOutputImage> |
Definition at line 236 of file rtkMechlemOneStepSpectralReconstructionFilter.h.
using rtk::MechlemOneStepSpectralReconstructionFilter< TOutputImage, TPhotonCounts, TSpectrum >::MultiplyFilterType = itk::MultiplyImageFilter<TOutputImage, SingleComponentImageType> |
Definition at line 242 of file rtkMechlemOneStepSpectralReconstructionFilter.h.
using rtk::MechlemOneStepSpectralReconstructionFilter< TOutputImage, TPhotonCounts, TSpectrum >::MultiplyGradientFilterType = itk::MultiplyImageFilter<GradientsImageType, SingleComponentImageType> |
Definition at line 243 of file rtkMechlemOneStepSpectralReconstructionFilter.h.
using rtk::MechlemOneStepSpectralReconstructionFilter< TOutputImage, TPhotonCounts, TSpectrum >::NesterovFilterType = rtk::NesterovUpdateImageFilter<TOutputImage> |
Definition at line 234 of file rtkMechlemOneStepSpectralReconstructionFilter.h.
using rtk::MechlemOneStepSpectralReconstructionFilter< TOutputImage, TPhotonCounts, TSpectrum >::NewtonFilterType = rtk::GetNewtonUpdateImageFilter<GradientsImageType, HessiansImageType> |
Definition at line 241 of file rtkMechlemOneStepSpectralReconstructionFilter.h.
using rtk::MechlemOneStepSpectralReconstructionFilter< TOutputImage, TPhotonCounts, TSpectrum >::Pointer = itk::SmartPointer<Self> |
Definition at line 162 of file rtkMechlemOneStepSpectralReconstructionFilter.h.
using rtk::MechlemOneStepSpectralReconstructionFilter< TOutputImage, TPhotonCounts, TSpectrum >::ReorderProjectionsFilterPhotonCountsType = rtk::ReorderProjectionsImageFilter<TPhotonCounts> |
Definition at line 244 of file rtkMechlemOneStepSpectralReconstructionFilter.h.
using rtk::MechlemOneStepSpectralReconstructionFilter< TOutputImage, TPhotonCounts, TSpectrum >::ReorderProjectionsFilterProjectionsWeightsType = rtk::ReorderProjectionsImageFilter<SingleComponentImageType> |
Definition at line 245 of file rtkMechlemOneStepSpectralReconstructionFilter.h.
using rtk::MechlemOneStepSpectralReconstructionFilter< TOutputImage, TPhotonCounts, TSpectrum >::Self = MechlemOneStepSpectralReconstructionFilter |
Standard class type alias.
Definition at line 160 of file rtkMechlemOneStepSpectralReconstructionFilter.h.
using rtk::MechlemOneStepSpectralReconstructionFilter< TOutputImage, TPhotonCounts, TSpectrum >::SingleComponentForwardProjectionFilterType = rtk::ForwardProjectionImageFilter<SingleComponentImageType, SingleComponentImageType> |
Definition at line 230 of file rtkMechlemOneStepSpectralReconstructionFilter.h.
using rtk::MechlemOneStepSpectralReconstructionFilter< TOutputImage, TPhotonCounts, TSpectrum >::SingleComponentImageSourceType = rtk::ConstantImageSource<SingleComponentImageType> |
Definition at line 235 of file rtkMechlemOneStepSpectralReconstructionFilter.h.
using rtk::MechlemOneStepSpectralReconstructionFilter< TOutputImage, TPhotonCounts, TSpectrum >::SingleComponentImageType = typename itk::Image<dataType, TOutputImage::ImageDimension> |
Definition at line 195 of file rtkMechlemOneStepSpectralReconstructionFilter.h.
using rtk::MechlemOneStepSpectralReconstructionFilter< TOutputImage, TPhotonCounts, TSpectrum >::SQSRegularizationType = rtk::SeparableQuadraticSurrogateRegularizationImageFilter<GradientsImageType> |
Definition at line 239 of file rtkMechlemOneStepSpectralReconstructionFilter.h.
using rtk::MechlemOneStepSpectralReconstructionFilter< TOutputImage, TPhotonCounts, TSpectrum >::Superclass = IterativeConeBeamReconstructionFilter<TOutputImage, TOutputImage> |
Definition at line 161 of file rtkMechlemOneStepSpectralReconstructionFilter.h.
using rtk::MechlemOneStepSpectralReconstructionFilter< TOutputImage, TPhotonCounts, TSpectrum >::WeidingerForwardModelType = WeidingerForwardModelImageFilter<TOutputImage, TPhotonCounts, TSpectrum> |
Definition at line 214 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
|
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 343 of file rtkMechlemOneStepSpectralReconstructionFilter.h.
|
overrideprotectedvirtual |
Checks that inputs are correctly set.
Reimplemented from itk::ProcessObject.
|
protected |
Definition at line 316 of file rtkMechlemOneStepSpectralReconstructionFilter.h.
|
protected |
Definition at line 325 of file rtkMechlemOneStepSpectralReconstructionFilter.h.
|
protected |
Member pointers to the filters used internally (for convenience)
Definition at line 315 of file rtkMechlemOneStepSpectralReconstructionFilter.h.
|
protected |
Definition at line 328 of file rtkMechlemOneStepSpectralReconstructionFilter.h.
|
protected |
Definition at line 379 of file rtkMechlemOneStepSpectralReconstructionFilter.h.
|
protected |
Definition at line 329 of file rtkMechlemOneStepSpectralReconstructionFilter.h.
|
protected |
Definition at line 321 of file rtkMechlemOneStepSpectralReconstructionFilter.h.
|
protected |
Definition at line 330 of file rtkMechlemOneStepSpectralReconstructionFilter.h.
|
protected |
Definition at line 322 of file rtkMechlemOneStepSpectralReconstructionFilter.h.
|
protected |
Definition at line 334 of file rtkMechlemOneStepSpectralReconstructionFilter.h.
|
protected |
Definition at line 332 of file rtkMechlemOneStepSpectralReconstructionFilter.h.
|
protected |
Definition at line 333 of file rtkMechlemOneStepSpectralReconstructionFilter.h.
|
protected |
Definition at line 331 of file rtkMechlemOneStepSpectralReconstructionFilter.h.
|
protected |
Definition at line 327 of file rtkMechlemOneStepSpectralReconstructionFilter.h.
|
protected |
Definition at line 326 of file rtkMechlemOneStepSpectralReconstructionFilter.h.
|
protected |
Definition at line 381 of file rtkMechlemOneStepSpectralReconstructionFilter.h.
|
protected |
Definition at line 385 of file rtkMechlemOneStepSpectralReconstructionFilter.h.
|
protected |
Definition at line 384 of file rtkMechlemOneStepSpectralReconstructionFilter.h.
|
protected |
Definition at line 382 of file rtkMechlemOneStepSpectralReconstructionFilter.h.
|
protected |
Definition at line 383 of file rtkMechlemOneStepSpectralReconstructionFilter.h.
|
protected |
Definition at line 318 of file rtkMechlemOneStepSpectralReconstructionFilter.h.
|
protected |
Definition at line 389 of file rtkMechlemOneStepSpectralReconstructionFilter.h.
|
protected |
Definition at line 388 of file rtkMechlemOneStepSpectralReconstructionFilter.h.
|
protected |
Definition at line 335 of file rtkMechlemOneStepSpectralReconstructionFilter.h.
|
protected |
Definition at line 336 of file rtkMechlemOneStepSpectralReconstructionFilter.h.
|
protected |
Definition at line 386 of file rtkMechlemOneStepSpectralReconstructionFilter.h.
|
protected |
Definition at line 317 of file rtkMechlemOneStepSpectralReconstructionFilter.h.
|
protected |
Definition at line 319 of file rtkMechlemOneStepSpectralReconstructionFilter.h.
|
protected |
Definition at line 320 of file rtkMechlemOneStepSpectralReconstructionFilter.h.
|
protected |
Definition at line 324 of file rtkMechlemOneStepSpectralReconstructionFilter.h.
|
protected |
Definition at line 323 of file rtkMechlemOneStepSpectralReconstructionFilter.h.
|
static |
Internal type alias and parameters
Definition at line 176 of file rtkMechlemOneStepSpectralReconstructionFilter.h.
|
static |
Definition at line 177 of file rtkMechlemOneStepSpectralReconstructionFilter.h.