19 #ifndef rtkReconstructionConjugateGradientOperator_h    20 #define rtkReconstructionConjugateGradientOperator_h    22 #include <itkMultiplyImageFilter.h>    23 #include <itkAddImageFilter.h>   117 template <
typename TOutputImage, 
typename TSingleComponentImage = TOutputImage, 
typename TWeightsImage = TOutputImage>
   127   using VectorPixelType = itk::CovariantVector<typename TOutputImage::ValueType, TOutputImage::ImageDimension>;
   129     typename TOutputImage::template RebindImageType<VectorPixelType, TOutputImage::ImageDimension>;
   136   SetInputVolume(
const TOutputImage * vol);
   138   SetInputProjectionStack(
const TOutputImage * projs);
   140   SetInputWeights(
const TWeightsImage * weights);
   177   SetSupportMask(
const TSingleComponentImage * SupportMask);
   178   typename TSingleComponentImage::ConstPointer
   186   SetLocalRegularizationWeights(
const TSingleComponentImage * localRegularizationWeights);
   187   typename TSingleComponentImage::ConstPointer
   188   GetLocalRegularizationWeights();
   197   itkGetMacro(Gamma, 
float);
   199   itkGetMacro(Tikhonov, 
float);
   208   VerifyPreconditions() 
const override;
   212   GenerateData() 
override;
   214   template <
typename ImageType>
   215   typename std::enable_if<std::is_same_v<TSingleComponentImage, ImageType>, ImageType>::type::Pointer
   216   ConnectGradientRegularization();
   218   template <
typename ImageType>
   219   typename std::enable_if<!std::is_same_v<TSingleComponentImage, ImageType>, ImageType>::type::Pointer
   220   ConnectGradientRegularization();
   241   float                                               m_Tikhonov{ 0 }; 
   254   GenerateInputRequestedRegion() 
override;
   256   GenerateOutputInformation() 
override;
   260   typename TOutputImage::ConstPointer
   262   typename TOutputImage::ConstPointer
   263   GetInputProjectionStack();
   264   typename TWeightsImage::ConstPointer
   271 #ifndef ITK_MANUAL_INSTANTIATION   272 #  include "rtkReconstructionConjugateGradientOperator.hxx" MultiplyFilterType::Pointer m_MultiplyLaplacianFilter
 
ConstantSourceType::Pointer m_ConstantVolumeSource
 
MultiplyFilterType::Pointer m_MultiplyOutputVolumeFilter
 
Implements the operator A used in conjugate gradient reconstruction. 
 
typename TOutputImage::Pointer OutputImagePointer
 
MultiplyFilterType::Pointer m_MultiplyTikhonovWeightsFilter
 
itk::MultiplyImageFilter< TOutputImage, TSingleComponentImage > MultiplyFilterType
 
Generate an n-dimensional image with constant pixel values. 
 
itk::SmartPointer< const Self > ConstPointer
 
MultiplyFilterType::Pointer m_MultiplyTikhonovFilter
 
Multiplies matrix by vector. 
 
itk::AddImageFilter< TOutputImage > AddFilterType
 
AddFilterType::Pointer m_AddLaplacianFilter
 
itk::MultiplyImageFilter< TOutputImage, TOutputImage, TOutputImage > PlainMultiplyFilterType
 
ForwardProjectionFilterPointer m_ForwardProjectionFilter
 
typename BackProjectionFilterType::Pointer BackProjectionFilterPointer
 
TOutputImage::Pointer m_FloatingOutputPointer
 
Projection geometry for a source and a 2-D flat panel. 
 
MultiplyWithWeightsFilterType::Pointer m_MultiplyWithWeightsFilter
 
#define itkSetMacro(name, type)
 
itk::SmartPointer< Self > Pointer
 
ConstantSourceType::Pointer m_ConstantProjectionsSource
 
void VerifyInputInformation() const override
 
typename ForwardProjectionFilterType::Pointer ForwardProjectionFilterPointer
 
MultiplyFilterType::Pointer m_MultiplyInputVolumeFilter
 
typename TOutputImage::template RebindImageType< VectorPixelType, TOutputImage::ImageDimension > GradientImageType
 
itk::CovariantVector< typename TOutputImage::ValueType, TOutputImage::ImageDimension > VectorPixelType
 
itk::ImageToImageFilter< TOutputImage, TOutputImage >::Pointer m_LaplacianFilter
 
AddFilterType::Pointer m_AddTikhonovFilter
 
BackProjectionFilterPointer m_BackProjectionFilter
 
typename std::conditional_t< std::is_same_v< TSingleComponentImage, TOutputImage >, PlainMultiplyFilterType, MatrixVectorMultiplyFilterType > MultiplyWithWeightsFilterType
 
itk::SmartPointer< Self > Pointer