RTK
2.6.0
Reconstruction Toolkit
|
#include <rtkConjugateGradientConeBeamReconstructionFilter.h>
Static Public Member Functions | |
static Pointer | New () |
Static Public Member Functions inherited from rtk::IterativeConeBeamReconstructionFilter< TOutputImage > | |
static Pointer | New () |
Private Attributes | |
bool | m_CudaConjugateGradient |
bool | m_DisableDisplacedDetectorFilter |
float | m_Gamma |
ThreeDCircularProjectionGeometry::ConstPointer | m_Geometry |
itk::IterationReporter | m_IterationReporter |
int | m_NumberOfIterations |
float | m_Tikhonov |
Additional Inherited Members | |
Protected Types inherited from rtk::IterativeConeBeamReconstructionFilter< 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 ConjugateGradient.
This filter implements the ConjugateGradient method. ConjugateGradient attempts to find the f that minimizes (1/2).|| sqrt(D) (Rf -p) ||_2^2 + (1/2).gamma.|| grad f ||_2^2 with R the forward projection operator, p the measured projections, and D the displaced detector weighting operator.
With gamma=0, this it is similar to the ART and SART methods. The difference lies in the algorithm employed to minimize this cost function. ART uses the Kaczmarz method (projects and back projects one ray at a time), SART the block-Kaczmarz method (projects and back projects one projection at a time), and ConjugateGradient a conjugate gradient method (projects and back projects all projections together).
With gamma > 0, a regularization is applied.
Definition at line 110 of file rtkConjugateGradientConeBeamReconstructionFilter.h.
using rtk::ConjugateGradientConeBeamReconstructionFilter< TOutputImage, TSingleComponentImage, TWeightsImage >::BackProjectionFilterType = BackProjectionImageFilter<TOutputImage, TOutputImage> |
Definition at line 145 of file rtkConjugateGradientConeBeamReconstructionFilter.h.
using rtk::ConjugateGradientConeBeamReconstructionFilter< TOutputImage, TSingleComponentImage, TWeightsImage >::BackProjectionType = typename Superclass::BackProjectionType |
Definition at line 157 of file rtkConjugateGradientConeBeamReconstructionFilter.h.
using rtk::ConjugateGradientConeBeamReconstructionFilter< TOutputImage, TSingleComponentImage, TWeightsImage >::CGOperatorFilterType = ReconstructionConjugateGradientOperator<TOutputImage, TSingleComponentImage, TWeightsImage> |
Definition at line 150 of file rtkConjugateGradientConeBeamReconstructionFilter.h.
using rtk::ConjugateGradientConeBeamReconstructionFilter< TOutputImage, TSingleComponentImage, TWeightsImage >::ConjugateGradientFilterPointer = typename ConjugateGradientFilterType::Pointer |
Definition at line 147 of file rtkConjugateGradientConeBeamReconstructionFilter.h.
using rtk::ConjugateGradientConeBeamReconstructionFilter< TOutputImage, TSingleComponentImage, TWeightsImage >::ConjugateGradientFilterType = ConjugateGradientImageFilter<TOutputImage> |
Definition at line 146 of file rtkConjugateGradientConeBeamReconstructionFilter.h.
using rtk::ConjugateGradientConeBeamReconstructionFilter< TOutputImage, TSingleComponentImage, TWeightsImage >::ConstantImageSourceType = ConstantImageSource<TOutputImage> |
Definition at line 183 of file rtkConjugateGradientConeBeamReconstructionFilter.h.
using rtk::ConjugateGradientConeBeamReconstructionFilter< TOutputImage, TSingleComponentImage, TWeightsImage >::ConstantWeightSourceType = ConstantImageSource<TWeightsImage> |
Definition at line 184 of file rtkConjugateGradientConeBeamReconstructionFilter.h.
using rtk::ConjugateGradientConeBeamReconstructionFilter< TOutputImage, TSingleComponentImage, TWeightsImage >::CPUOutputImageType = typename itk::Image<typename TOutputImage::PixelType, TOutputImage::ImageDimension> |
Definition at line 167 of file rtkConjugateGradientConeBeamReconstructionFilter.h.
using rtk::ConjugateGradientConeBeamReconstructionFilter< TOutputImage, TSingleComponentImage, TWeightsImage >::DisplacedDetectorFilterType = DisplacedDetectorImageFilter<TWeightsImage> |
Definition at line 182 of file rtkConjugateGradientConeBeamReconstructionFilter.h.
using rtk::ConjugateGradientConeBeamReconstructionFilter< TOutputImage, TSingleComponentImage, TWeightsImage >::DivideFilterType = itk::DivideOrZeroOutImageFilter<TOutputImage> |
Definition at line 151 of file rtkConjugateGradientConeBeamReconstructionFilter.h.
using rtk::ConjugateGradientConeBeamReconstructionFilter< TOutputImage, TSingleComponentImage, TWeightsImage >::ForwardProjectionFilterPointer = typename ForwardProjectionFilterType::Pointer |
Definition at line 144 of file rtkConjugateGradientConeBeamReconstructionFilter.h.
using rtk::ConjugateGradientConeBeamReconstructionFilter< TOutputImage, TSingleComponentImage, TWeightsImage >::ForwardProjectionFilterType = ForwardProjectionImageFilter<TOutputImage, TOutputImage> |
Definition at line 143 of file rtkConjugateGradientConeBeamReconstructionFilter.h.
using rtk::ConjugateGradientConeBeamReconstructionFilter< TOutputImage, TSingleComponentImage, TWeightsImage >::ForwardProjectionType = typename Superclass::ForwardProjectionType |
Definition at line 156 of file rtkConjugateGradientConeBeamReconstructionFilter.h.
using rtk::ConjugateGradientConeBeamReconstructionFilter< TOutputImage, TSingleComponentImage, TWeightsImage >::MatrixVectorMultiplyFilterType = BlockDiagonalMatrixVectorMultiplyImageFilter<TOutputImage, TWeightsImage> |
Definition at line 162 of file rtkConjugateGradientConeBeamReconstructionFilter.h.
using rtk::ConjugateGradientConeBeamReconstructionFilter< TOutputImage, TSingleComponentImage, TWeightsImage >::MultiplyFilterType = itk::MultiplyImageFilter<TOutputImage, TSingleComponentImage, TOutputImage> |
Definition at line 148 of file rtkConjugateGradientConeBeamReconstructionFilter.h.
typedef std::conditional<std::is_same<TSingleComponentImage, TOutputImage>::value, PlainMultiplyFilterType, MatrixVectorMultiplyFilterType>::type rtk::ConjugateGradientConeBeamReconstructionFilter< TOutputImage, TSingleComponentImage, TWeightsImage >::MultiplyWithWeightsFilterType |
Definition at line 166 of file rtkConjugateGradientConeBeamReconstructionFilter.h.
using rtk::ConjugateGradientConeBeamReconstructionFilter< TOutputImage, TSingleComponentImage, TWeightsImage >::OutputImagePointer = typename TOutputImage::Pointer |
Definition at line 153 of file rtkConjugateGradientConeBeamReconstructionFilter.h.
using rtk::ConjugateGradientConeBeamReconstructionFilter< TOutputImage, TSingleComponentImage, TWeightsImage >::PlainMultiplyFilterType = itk::MultiplyImageFilter<TOutputImage, TOutputImage, TOutputImage> |
Definition at line 163 of file rtkConjugateGradientConeBeamReconstructionFilter.h.
using rtk::ConjugateGradientConeBeamReconstructionFilter< TOutputImage, TSingleComponentImage, TWeightsImage >::Pointer = itk::SmartPointer<Self> |
Definition at line 119 of file rtkConjugateGradientConeBeamReconstructionFilter.h.
using rtk::ConjugateGradientConeBeamReconstructionFilter< TOutputImage, TSingleComponentImage, TWeightsImage >::Self = ConjugateGradientConeBeamReconstructionFilter |
Standard class type alias.
Definition at line 117 of file rtkConjugateGradientConeBeamReconstructionFilter.h.
using rtk::ConjugateGradientConeBeamReconstructionFilter< TOutputImage, TSingleComponentImage, TWeightsImage >::StatisticsFilterType = itk::StatisticsImageFilter<TSingleComponentImage> |
Definition at line 154 of file rtkConjugateGradientConeBeamReconstructionFilter.h.
using rtk::ConjugateGradientConeBeamReconstructionFilter< TOutputImage, TSingleComponentImage, TWeightsImage >::StatisticsImageFilterType = itk::StatisticsImageFilter<TOutputImage> |
Definition at line 152 of file rtkConjugateGradientConeBeamReconstructionFilter.h.
using rtk::ConjugateGradientConeBeamReconstructionFilter< TOutputImage, TSingleComponentImage, TWeightsImage >::Superclass = IterativeConeBeamReconstructionFilter<TOutputImage> |
Definition at line 118 of file rtkConjugateGradientConeBeamReconstructionFilter.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.
|
virtual |
Get / Set whether conjugate gradient should be performed on GPU
|
virtual |
Set / Get whether the displaced detector filter should be disabled
|
virtual |
If Regularized, perform laplacian-based regularization during reconstruction (gamma is the strength of the regularization)
|
protected |
Getters for the inputs
|
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 >.
|
virtual |
TSingleComponentImage::ConstPointer rtk::ConjugateGradientConeBeamReconstructionFilter< TOutputImage, TSingleComponentImage, TWeightsImage >::GetSupportMask | ( | ) |
Set the support mask, if any, for support constraint in reconstruction
|
virtual |
If Regularized, perform laplacian-based regularization during reconstruction (gamma is the strength of the regularization)
|
protected |
|
protected |
|
static |
Method for creation through the object factory.
|
protected |
Iteration reporter
|
virtual |
Get / Set whether conjugate gradient should be performed on GPU
|
virtual |
Set / Get whether the displaced detector filter should be disabled
|
virtual |
If Regularized, perform laplacian-based regularization during reconstruction (gamma is the strength of the regularization)
|
virtual |
Pass the geometry to all filters needing it
void rtk::ConjugateGradientConeBeamReconstructionFilter< TOutputImage, TSingleComponentImage, TWeightsImage >::SetInputProjectionStack | ( | const TOutputImage * | projs | ) |
Setters for the inputs
void rtk::ConjugateGradientConeBeamReconstructionFilter< TOutputImage, TSingleComponentImage, TWeightsImage >::SetInputVolume | ( | const TOutputImage * | vol | ) |
Setters for the inputs
void rtk::ConjugateGradientConeBeamReconstructionFilter< TOutputImage, TSingleComponentImage, TWeightsImage >::SetInputWeights | ( | const TWeightsImage * | weights | ) |
Setters for the inputs
void rtk::ConjugateGradientConeBeamReconstructionFilter< TOutputImage, TSingleComponentImage, TWeightsImage >::SetLocalRegularizationWeights | ( | const TSingleComponentImage * | weights | ) |
Setters for the inputs
|
virtual |
void rtk::ConjugateGradientConeBeamReconstructionFilter< TOutputImage, TSingleComponentImage, TWeightsImage >::SetSupportMask | ( | const TSingleComponentImage * | SupportMask | ) |
Set the support mask, if any, for support constraint in reconstruction
|
virtual |
If Regularized, perform laplacian-based regularization during reconstruction (gamma is the strength of the regularization)
|
inlineoverrideprotectedvirtual |
The inputs of this filter have the same type (float, 3) 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 247 of file rtkConjugateGradientConeBeamReconstructionFilter.h.
|
overrideprotectedvirtual |
Checks that inputs are correctly set.
Reimplemented from itk::ProcessObject.
|
protected |
Definition at line 237 of file rtkConjugateGradientConeBeamReconstructionFilter.h.
|
protected |
Definition at line 238 of file rtkConjugateGradientConeBeamReconstructionFilter.h.
|
protected |
Definition at line 235 of file rtkConjugateGradientConeBeamReconstructionFilter.h.
|
protected |
Definition at line 234 of file rtkConjugateGradientConeBeamReconstructionFilter.h.
|
protected |
Definition at line 240 of file rtkConjugateGradientConeBeamReconstructionFilter.h.
|
private |
Definition at line 291 of file rtkConjugateGradientConeBeamReconstructionFilter.h.
|
private |
Definition at line 292 of file rtkConjugateGradientConeBeamReconstructionFilter.h.
|
protected |
Definition at line 239 of file rtkConjugateGradientConeBeamReconstructionFilter.h.
|
protected |
Definition at line 236 of file rtkConjugateGradientConeBeamReconstructionFilter.h.
|
private |
Definition at line 289 of file rtkConjugateGradientConeBeamReconstructionFilter.h.
|
private |
Definition at line 286 of file rtkConjugateGradientConeBeamReconstructionFilter.h.
|
private |
Definition at line 295 of file rtkConjugateGradientConeBeamReconstructionFilter.h.
|
protected |
Definition at line 233 of file rtkConjugateGradientConeBeamReconstructionFilter.h.
|
protected |
Member pointers to the filters used internally (for convenience)
Definition at line 231 of file rtkConjugateGradientConeBeamReconstructionFilter.h.
|
protected |
Definition at line 232 of file rtkConjugateGradientConeBeamReconstructionFilter.h.
|
protected |
Definition at line 241 of file rtkConjugateGradientConeBeamReconstructionFilter.h.
|
private |
Definition at line 288 of file rtkConjugateGradientConeBeamReconstructionFilter.h.
|
private |
Definition at line 290 of file rtkConjugateGradientConeBeamReconstructionFilter.h.