![]() |
RTK
2.6.0
Reconstruction Toolkit
|
#include <rtkMechlemOneStepSpectralReconstructionFilter.h>
Static Public Member Functions | |
static Pointer | New () |
![]() | |
static Pointer | New () |
Static Public Attributes | |
static constexpr unsigned int | nBins = TMeasuredProjections::PixelType::Dimension |
static constexpr unsigned int | nMaterials = TOutputImage::PixelType::Dimension |
Additional Inherited Members | |
![]() | |
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 155 of file rtkMechlemOneStepSpectralReconstructionFilter.h.
using rtk::MechlemOneStepSpectralReconstructionFilter< TOutputImage, TMeasuredProjections, TIncidentSpectrum >::AddFilterType = itk::AddImageFilter<GradientsImageType> |
Definition at line 232 of file rtkMechlemOneStepSpectralReconstructionFilter.h.
using rtk::MechlemOneStepSpectralReconstructionFilter< TOutputImage, TMeasuredProjections, TIncidentSpectrum >::AddMatrixAndDiagonalFilterType = rtk::AddMatrixAndDiagonalImageFilter<GradientsImageType, HessiansImageType> |
Definition at line 244 of file rtkMechlemOneStepSpectralReconstructionFilter.h.
using rtk::MechlemOneStepSpectralReconstructionFilter< TOutputImage, TMeasuredProjections, TIncidentSpectrum >::BackProjectionType = typename Superclass::BackProjectionType |
Definition at line 225 of file rtkMechlemOneStepSpectralReconstructionFilter.h.
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.
using rtk::MechlemOneStepSpectralReconstructionFilter< TOutputImage, TMeasuredProjections, TIncidentSpectrum >::CastMaterialVolumesFilterType = itk::CastImageFilter<VectorImageType, TOutputImage> |
Filter type alias
Definition at line 229 of file rtkMechlemOneStepSpectralReconstructionFilter.h.
using rtk::MechlemOneStepSpectralReconstructionFilter< TOutputImage, TMeasuredProjections, TIncidentSpectrum >::CastMeasuredProjectionsFilterType = itk::CastImageFilter<VectorImageType, TMeasuredProjections> |
Definition at line 230 of file rtkMechlemOneStepSpectralReconstructionFilter.h.
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.
using rtk::MechlemOneStepSpectralReconstructionFilter< TOutputImage, TMeasuredProjections, TIncidentSpectrum >::CudaHessiansBackProjectionImageFilterType = BackProjectionImageFilter<HessiansImageType, HessiansImageType> |
Definition at line 219 of file rtkMechlemOneStepSpectralReconstructionFilter.h.
using rtk::MechlemOneStepSpectralReconstructionFilter< TOutputImage, TMeasuredProjections, TIncidentSpectrum >::CudaSingleComponentForwardProjectionImageFilterType = JosephForwardProjectionImageFilter<SingleComponentImageType, SingleComponentImageType> |
Definition at line 218 of file rtkMechlemOneStepSpectralReconstructionFilter.h.
using rtk::MechlemOneStepSpectralReconstructionFilter< TOutputImage, TMeasuredProjections, TIncidentSpectrum >::dataType = typename TOutputImage::PixelType::ValueType |
Definition at line 175 of file rtkMechlemOneStepSpectralReconstructionFilter.h.
using rtk::MechlemOneStepSpectralReconstructionFilter< TOutputImage, TMeasuredProjections, TIncidentSpectrum >::ExtractMeasuredProjectionsFilterType = itk::ExtractImageFilter<TMeasuredProjections, TMeasuredProjections> |
Definition at line 231 of file rtkMechlemOneStepSpectralReconstructionFilter.h.
using rtk::MechlemOneStepSpectralReconstructionFilter< TOutputImage, TMeasuredProjections, TIncidentSpectrum >::ForwardProjectionFilterType = rtk::ForwardProjectionImageFilter<TOutputImage, TOutputImage> |
Definition at line 235 of file rtkMechlemOneStepSpectralReconstructionFilter.h.
using rtk::MechlemOneStepSpectralReconstructionFilter< TOutputImage, TMeasuredProjections, TIncidentSpectrum >::ForwardProjectionType = typename Superclass::ForwardProjectionType |
Definition at line 224 of file rtkMechlemOneStepSpectralReconstructionFilter.h.
using rtk::MechlemOneStepSpectralReconstructionFilter< TOutputImage, TMeasuredProjections, TIncidentSpectrum >::GradientsBackProjectionFilterType = rtk::BackProjectionImageFilter<GradientsImageType, GradientsImageType> |
Definition at line 236 of file rtkMechlemOneStepSpectralReconstructionFilter.h.
using rtk::MechlemOneStepSpectralReconstructionFilter< TOutputImage, TMeasuredProjections, TIncidentSpectrum >::GradientsImageType = TOutputImage |
Definition at line 221 of file rtkMechlemOneStepSpectralReconstructionFilter.h.
using rtk::MechlemOneStepSpectralReconstructionFilter< TOutputImage, TMeasuredProjections, TIncidentSpectrum >::GradientsSourceType = rtk::ConstantImageSource<GradientsImageType> |
Definition at line 241 of file rtkMechlemOneStepSpectralReconstructionFilter.h.
using rtk::MechlemOneStepSpectralReconstructionFilter< TOutputImage, TMeasuredProjections, TIncidentSpectrum >::HessiansBackProjectionFilterType = rtk::BackProjectionImageFilter<HessiansImageType, HessiansImageType> |
Definition at line 237 of file rtkMechlemOneStepSpectralReconstructionFilter.h.
using rtk::MechlemOneStepSpectralReconstructionFilter< TOutputImage, TMeasuredProjections, TIncidentSpectrum >::HessiansImageType = typename itk::Image<itk::Vector<dataType, nMaterials * nMaterials>, TOutputImage::ImageDimension> |
Definition at line 194 of file rtkMechlemOneStepSpectralReconstructionFilter.h.
using rtk::MechlemOneStepSpectralReconstructionFilter< TOutputImage, TMeasuredProjections, TIncidentSpectrum >::HessiansSourceType = rtk::ConstantImageSource<HessiansImageType> |
Definition at line 242 of file rtkMechlemOneStepSpectralReconstructionFilter.h.
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.
using rtk::MechlemOneStepSpectralReconstructionFilter< TOutputImage, TMeasuredProjections, TIncidentSpectrum >::MaterialProjectionsSourceType = rtk::ConstantImageSource<TOutputImage> |
Definition at line 240 of file rtkMechlemOneStepSpectralReconstructionFilter.h.
using rtk::MechlemOneStepSpectralReconstructionFilter< TOutputImage, TMeasuredProjections, TIncidentSpectrum >::MultiplyFilterType = itk::MultiplyImageFilter<TOutputImage, SingleComponentImageType> |
Definition at line 246 of file rtkMechlemOneStepSpectralReconstructionFilter.h.
using rtk::MechlemOneStepSpectralReconstructionFilter< TOutputImage, TMeasuredProjections, TIncidentSpectrum >::MultiplyGradientFilterType = itk::MultiplyImageFilter<GradientsImageType, SingleComponentImageType> |
Definition at line 247 of file rtkMechlemOneStepSpectralReconstructionFilter.h.
using rtk::MechlemOneStepSpectralReconstructionFilter< TOutputImage, TMeasuredProjections, TIncidentSpectrum >::NesterovFilterType = rtk::NesterovUpdateImageFilter<TOutputImage> |
Definition at line 238 of file rtkMechlemOneStepSpectralReconstructionFilter.h.
using rtk::MechlemOneStepSpectralReconstructionFilter< TOutputImage, TMeasuredProjections, TIncidentSpectrum >::NewtonFilterType = rtk::GetNewtonUpdateImageFilter<GradientsImageType, HessiansImageType> |
Definition at line 245 of file rtkMechlemOneStepSpectralReconstructionFilter.h.
using rtk::MechlemOneStepSpectralReconstructionFilter< TOutputImage, TMeasuredProjections, TIncidentSpectrum >::Pointer = itk::SmartPointer<Self> |
Definition at line 164 of file rtkMechlemOneStepSpectralReconstructionFilter.h.
using rtk::MechlemOneStepSpectralReconstructionFilter< TOutputImage, TMeasuredProjections, TIncidentSpectrum >::ReorderMeasuredProjectionsFilterType = rtk::ReorderProjectionsImageFilter<TMeasuredProjections> |
Definition at line 248 of file rtkMechlemOneStepSpectralReconstructionFilter.h.
using rtk::MechlemOneStepSpectralReconstructionFilter< TOutputImage, TMeasuredProjections, TIncidentSpectrum >::ReorderProjectionsWeightsFilterType = rtk::ReorderProjectionsImageFilter<SingleComponentImageType> |
Definition at line 249 of file rtkMechlemOneStepSpectralReconstructionFilter.h.
using rtk::MechlemOneStepSpectralReconstructionFilter< TOutputImage, TMeasuredProjections, TIncidentSpectrum >::Self = MechlemOneStepSpectralReconstructionFilter |
Standard class type alias.
Definition at line 162 of file rtkMechlemOneStepSpectralReconstructionFilter.h.
using rtk::MechlemOneStepSpectralReconstructionFilter< TOutputImage, TMeasuredProjections, TIncidentSpectrum >::SingleComponentForwardProjectionFilterType = rtk::ForwardProjectionImageFilter<SingleComponentImageType, SingleComponentImageType> |
Definition at line 234 of file rtkMechlemOneStepSpectralReconstructionFilter.h.
using rtk::MechlemOneStepSpectralReconstructionFilter< TOutputImage, TMeasuredProjections, TIncidentSpectrum >::SingleComponentImageSourceType = rtk::ConstantImageSource<SingleComponentImageType> |
Definition at line 239 of file rtkMechlemOneStepSpectralReconstructionFilter.h.
using rtk::MechlemOneStepSpectralReconstructionFilter< TOutputImage, TMeasuredProjections, TIncidentSpectrum >::SingleComponentImageType = typename itk::Image<dataType, TOutputImage::ImageDimension> |
Definition at line 195 of file rtkMechlemOneStepSpectralReconstructionFilter.h.
using rtk::MechlemOneStepSpectralReconstructionFilter< TOutputImage, TMeasuredProjections, TIncidentSpectrum >::SQSRegularizationType = rtk::SeparableQuadraticSurrogateRegularizationImageFilter<GradientsImageType> |
Definition at line 243 of file rtkMechlemOneStepSpectralReconstructionFilter.h.
using rtk::MechlemOneStepSpectralReconstructionFilter< TOutputImage, TMeasuredProjections, TIncidentSpectrum >::Superclass = IterativeConeBeamReconstructionFilter<TOutputImage, TOutputImage> |
Definition at line 163 of file rtkMechlemOneStepSpectralReconstructionFilter.h.
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.
using rtk::MechlemOneStepSpectralReconstructionFilter< TOutputImage, TMeasuredProjections, TIncidentSpectrum >::WeidingerForwardModelType = WeidingerForwardModelImageFilter<TOutputImage, TMeasuredProjections, TIncidentSpectrum> |
Definition at line 216 of file rtkMechlemOneStepSpectralReconstructionFilter.h.
|
protected |
|
overrideprotecteddefault |
|
virtual |
Reimplemented from itk::Object.
|
overrideprotectedvirtual |
Does the real work.
Reimplemented from itk::ProcessObject.
|
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
|
overridevirtual |
Run-time type information (and related methods).
Reimplemented from itk::ProcessObject.
|
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, TMeasuredProjections, TIncidentSpectrum >::SetInputIncidentSpectrum | ( | const TIncidentSpectrum * | incidentSpectrum | ) |
Set methods for all inputs, since they have different types
void rtk::MechlemOneStepSpectralReconstructionFilter< TOutputImage, TMeasuredProjections, TIncidentSpectrum >::SetInputMaterialVolumes | ( | const TOutputImage * | materialVolumes | ) |
Set methods for all inputs, since they have different types
void rtk::MechlemOneStepSpectralReconstructionFilter< TOutputImage, TMeasuredProjections, TIncidentSpectrum >::SetInputMaterialVolumes | ( | const VectorImageType * | materialVolumes | ) |
Set methods for all inputs, since they have different types
void rtk::MechlemOneStepSpectralReconstructionFilter< TOutputImage, TMeasuredProjections, TIncidentSpectrum >::SetInputMeasuredProjections | ( | const TMeasuredProjections * | measuredProjections | ) |
Set methods for all inputs, since they have different types
void rtk::MechlemOneStepSpectralReconstructionFilter< TOutputImage, TMeasuredProjections, TIncidentSpectrum >::SetInputMeasuredProjections | ( | const VectorImageType * | measuredProjections | ) |
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, TMeasuredProjections, TIncidentSpectrum >::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, TMeasuredProjections, TIncidentSpectrum >::SetSpatialRegularizationWeights | ( | const SingleComponentImageType * | regweights | ) |
Set methods for all inputs, since they have different types
void rtk::MechlemOneStepSpectralReconstructionFilter< TOutputImage, TMeasuredProjections, TIncidentSpectrum >::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 359 of file rtkMechlemOneStepSpectralReconstructionFilter.h.
|
overrideprotectedvirtual |
Checks that inputs are correctly set.
Reimplemented from itk::ProcessObject.
|
protected |
Definition at line 332 of file rtkMechlemOneStepSpectralReconstructionFilter.h.
|
protected |
Definition at line 341 of file rtkMechlemOneStepSpectralReconstructionFilter.h.
|
protected |
Member pointers to the filters used internally (for convenience)
Definition at line 329 of file rtkMechlemOneStepSpectralReconstructionFilter.h.
|
protected |
Definition at line 330 of file rtkMechlemOneStepSpectralReconstructionFilter.h.
|
protected |
Definition at line 331 of file rtkMechlemOneStepSpectralReconstructionFilter.h.
|
protected |
Definition at line 344 of file rtkMechlemOneStepSpectralReconstructionFilter.h.
|
protected |
Definition at line 401 of file rtkMechlemOneStepSpectralReconstructionFilter.h.
|
protected |
Definition at line 345 of file rtkMechlemOneStepSpectralReconstructionFilter.h.
|
protected |
Definition at line 337 of file rtkMechlemOneStepSpectralReconstructionFilter.h.
|
protected |
Definition at line 346 of file rtkMechlemOneStepSpectralReconstructionFilter.h.
|
protected |
Definition at line 338 of file rtkMechlemOneStepSpectralReconstructionFilter.h.
|
protected |
Definition at line 350 of file rtkMechlemOneStepSpectralReconstructionFilter.h.
|
protected |
Definition at line 348 of file rtkMechlemOneStepSpectralReconstructionFilter.h.
|
protected |
Definition at line 349 of file rtkMechlemOneStepSpectralReconstructionFilter.h.
|
protected |
Definition at line 347 of file rtkMechlemOneStepSpectralReconstructionFilter.h.
|
protected |
Definition at line 343 of file rtkMechlemOneStepSpectralReconstructionFilter.h.
|
protected |
Definition at line 342 of file rtkMechlemOneStepSpectralReconstructionFilter.h.
|
protected |
Definition at line 403 of file rtkMechlemOneStepSpectralReconstructionFilter.h.
|
protected |
Definition at line 407 of file rtkMechlemOneStepSpectralReconstructionFilter.h.
|
protected |
Definition at line 406 of file rtkMechlemOneStepSpectralReconstructionFilter.h.
|
protected |
Definition at line 404 of file rtkMechlemOneStepSpectralReconstructionFilter.h.
|
protected |
Definition at line 405 of file rtkMechlemOneStepSpectralReconstructionFilter.h.
|
protected |
Definition at line 334 of file rtkMechlemOneStepSpectralReconstructionFilter.h.
|
protected |
Definition at line 411 of file rtkMechlemOneStepSpectralReconstructionFilter.h.
|
protected |
Definition at line 410 of file rtkMechlemOneStepSpectralReconstructionFilter.h.
|
protected |
Definition at line 351 of file rtkMechlemOneStepSpectralReconstructionFilter.h.
|
protected |
Definition at line 352 of file rtkMechlemOneStepSpectralReconstructionFilter.h.
|
protected |
Definition at line 408 of file rtkMechlemOneStepSpectralReconstructionFilter.h.
|
protected |
Definition at line 333 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 340 of file rtkMechlemOneStepSpectralReconstructionFilter.h.
|
protected |
Definition at line 339 of file rtkMechlemOneStepSpectralReconstructionFilter.h.
|
static |
Internal type alias and parameters
Definition at line 173 of file rtkMechlemOneStepSpectralReconstructionFilter.h.
|
static |
Definition at line 174 of file rtkMechlemOneStepSpectralReconstructionFilter.h.