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 140 of file rtkConjugateGradientConeBeamReconstructionFilter.h.
using rtk::ConjugateGradientConeBeamReconstructionFilter< TOutputImage, TSingleComponentImage, TWeightsImage >::BackProjectionType = typename Superclass::BackProjectionType |
Definition at line 152 of file rtkConjugateGradientConeBeamReconstructionFilter.h.
using rtk::ConjugateGradientConeBeamReconstructionFilter< TOutputImage, TSingleComponentImage, TWeightsImage >::CGOperatorFilterType = ReconstructionConjugateGradientOperator<TOutputImage, TSingleComponentImage, TWeightsImage> |
Definition at line 145 of file rtkConjugateGradientConeBeamReconstructionFilter.h.
using rtk::ConjugateGradientConeBeamReconstructionFilter< TOutputImage, TSingleComponentImage, TWeightsImage >::ConjugateGradientFilterPointer = typename ConjugateGradientFilterType::Pointer |
Definition at line 142 of file rtkConjugateGradientConeBeamReconstructionFilter.h.
using rtk::ConjugateGradientConeBeamReconstructionFilter< TOutputImage, TSingleComponentImage, TWeightsImage >::ConjugateGradientFilterType = ConjugateGradientImageFilter<TOutputImage> |
Definition at line 141 of file rtkConjugateGradientConeBeamReconstructionFilter.h.
using rtk::ConjugateGradientConeBeamReconstructionFilter< TOutputImage, TSingleComponentImage, TWeightsImage >::ConstantImageSourceType = ConstantImageSource<TOutputImage> |
Definition at line 178 of file rtkConjugateGradientConeBeamReconstructionFilter.h.
using rtk::ConjugateGradientConeBeamReconstructionFilter< TOutputImage, TSingleComponentImage, TWeightsImage >::ConstantWeightSourceType = ConstantImageSource<TWeightsImage> |
Definition at line 179 of file rtkConjugateGradientConeBeamReconstructionFilter.h.
using rtk::ConjugateGradientConeBeamReconstructionFilter< TOutputImage, TSingleComponentImage, TWeightsImage >::CPUOutputImageType = typename itk::Image<typename TOutputImage::PixelType, TOutputImage::ImageDimension> |
Definition at line 162 of file rtkConjugateGradientConeBeamReconstructionFilter.h.
using rtk::ConjugateGradientConeBeamReconstructionFilter< TOutputImage, TSingleComponentImage, TWeightsImage >::DisplacedDetectorFilterType = DisplacedDetectorImageFilter<TWeightsImage> |
Definition at line 177 of file rtkConjugateGradientConeBeamReconstructionFilter.h.
using rtk::ConjugateGradientConeBeamReconstructionFilter< TOutputImage, TSingleComponentImage, TWeightsImage >::DivideFilterType = itk::DivideOrZeroOutImageFilter<TOutputImage> |
Definition at line 146 of file rtkConjugateGradientConeBeamReconstructionFilter.h.
using rtk::ConjugateGradientConeBeamReconstructionFilter< TOutputImage, TSingleComponentImage, TWeightsImage >::ForwardProjectionFilterPointer = typename ForwardProjectionFilterType::Pointer |
Definition at line 139 of file rtkConjugateGradientConeBeamReconstructionFilter.h.
using rtk::ConjugateGradientConeBeamReconstructionFilter< TOutputImage, TSingleComponentImage, TWeightsImage >::ForwardProjectionFilterType = ForwardProjectionImageFilter<TOutputImage, TOutputImage> |
Definition at line 138 of file rtkConjugateGradientConeBeamReconstructionFilter.h.
using rtk::ConjugateGradientConeBeamReconstructionFilter< TOutputImage, TSingleComponentImage, TWeightsImage >::ForwardProjectionType = typename Superclass::ForwardProjectionType |
Definition at line 151 of file rtkConjugateGradientConeBeamReconstructionFilter.h.
using rtk::ConjugateGradientConeBeamReconstructionFilter< TOutputImage, TSingleComponentImage, TWeightsImage >::MatrixVectorMultiplyFilterType = BlockDiagonalMatrixVectorMultiplyImageFilter<TOutputImage, TWeightsImage> |
Definition at line 157 of file rtkConjugateGradientConeBeamReconstructionFilter.h.
using rtk::ConjugateGradientConeBeamReconstructionFilter< TOutputImage, TSingleComponentImage, TWeightsImage >::MultiplyFilterType = itk::MultiplyImageFilter<TOutputImage, TSingleComponentImage, TOutputImage> |
Definition at line 143 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 161 of file rtkConjugateGradientConeBeamReconstructionFilter.h.
using rtk::ConjugateGradientConeBeamReconstructionFilter< TOutputImage, TSingleComponentImage, TWeightsImage >::OutputImagePointer = typename TOutputImage::Pointer |
Definition at line 148 of file rtkConjugateGradientConeBeamReconstructionFilter.h.
using rtk::ConjugateGradientConeBeamReconstructionFilter< TOutputImage, TSingleComponentImage, TWeightsImage >::PlainMultiplyFilterType = itk::MultiplyImageFilter<TOutputImage, TOutputImage, TOutputImage> |
Definition at line 158 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 149 of file rtkConjugateGradientConeBeamReconstructionFilter.h.
using rtk::ConjugateGradientConeBeamReconstructionFilter< TOutputImage, TSingleComponentImage, TWeightsImage >::StatisticsImageFilterType = itk::StatisticsImageFilter<TOutputImage> |
Definition at line 147 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< typename 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
|
overridevirtual |
Run-time type information (and related methods).
Reimplemented from itk::ImageSource< typename 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 242 of file rtkConjugateGradientConeBeamReconstructionFilter.h.
|
overrideprotectedvirtual |
Checks that inputs are correctly set.
Reimplemented from itk::ProcessObject.
|
protected |
Definition at line 232 of file rtkConjugateGradientConeBeamReconstructionFilter.h.
|
protected |
Definition at line 233 of file rtkConjugateGradientConeBeamReconstructionFilter.h.
|
protected |
Definition at line 230 of file rtkConjugateGradientConeBeamReconstructionFilter.h.
|
protected |
Definition at line 229 of file rtkConjugateGradientConeBeamReconstructionFilter.h.
|
protected |
Definition at line 235 of file rtkConjugateGradientConeBeamReconstructionFilter.h.
|
private |
Definition at line 286 of file rtkConjugateGradientConeBeamReconstructionFilter.h.
|
private |
Definition at line 287 of file rtkConjugateGradientConeBeamReconstructionFilter.h.
|
protected |
Definition at line 234 of file rtkConjugateGradientConeBeamReconstructionFilter.h.
|
protected |
Definition at line 231 of file rtkConjugateGradientConeBeamReconstructionFilter.h.
|
private |
Definition at line 284 of file rtkConjugateGradientConeBeamReconstructionFilter.h.
|
private |
Definition at line 281 of file rtkConjugateGradientConeBeamReconstructionFilter.h.
|
private |
Definition at line 290 of file rtkConjugateGradientConeBeamReconstructionFilter.h.
|
protected |
Definition at line 228 of file rtkConjugateGradientConeBeamReconstructionFilter.h.
|
protected |
Member pointers to the filters used internally (for convenience)
Definition at line 226 of file rtkConjugateGradientConeBeamReconstructionFilter.h.
|
protected |
Definition at line 227 of file rtkConjugateGradientConeBeamReconstructionFilter.h.
|
protected |
Definition at line 236 of file rtkConjugateGradientConeBeamReconstructionFilter.h.
|
private |
Definition at line 283 of file rtkConjugateGradientConeBeamReconstructionFilter.h.
|
private |
Definition at line 285 of file rtkConjugateGradientConeBeamReconstructionFilter.h.