19 #ifndef rtkReconstructionConjugateGradientOperator_h 20 #define rtkReconstructionConjugateGradientOperator_h 117 template <
typename TOutputImage,
typename TSingleComponentImage = TOutputImage,
typename TWeightsImage = TOutputImage>
129 itk::CudaImage<itk::CovariantVector<typename TOutputImage::PixelType, TOutputImage::ImageDimension>,
130 TOutputImage::ImageDimension>;
134 TOutputImage::ImageDimension>;
142 SetInputVolume(
const TOutputImage * vol);
144 SetInputProjectionStack(
const TOutputImage * projs);
146 SetInputWeights(
const TWeightsImage * weights);
167 typedef typename std::conditional<std::is_same<TSingleComponentImage, TOutputImage>::value,
183 SetSupportMask(
const TSingleComponentImage * SupportMask);
184 typename TSingleComponentImage::ConstPointer
194 itkGetMacro(Gamma,
float);
196 itkGetMacro(Tikhonov,
float);
205 VerifyPreconditions() ITKv5_CONST override;
209 GenerateData() override;
211 template <typename ImageType>
212 typename
std::enable_if<
std::is_same<TSingleComponentImage, ImageType>::value, ImageType>::type::
Pointer 213 ConnectGradientRegularization();
215 template <typename ImageType>
216 typename
std::enable_if<!
std::is_same<TSingleComponentImage, ImageType>::value, ImageType>::type::
Pointer 217 ConnectGradientRegularization();
237 float m_Tikhonov{ 0 };
250 GenerateInputRequestedRegion()
override;
252 GenerateOutputInformation()
override;
256 typename TOutputImage::ConstPointer
258 typename TOutputImage::ConstPointer
259 GetInputProjectionStack();
260 typename TWeightsImage::ConstPointer
267 #ifndef ITK_MANUAL_INSTANTIATION 268 # include "rtkReconstructionConjugateGradientOperator.hxx"
typename OutputImageType::Pointer OutputImagePointer
Implements the operator A used in conjugate gradient reconstruction.
Generate an n-dimensional image with constant pixel values.
std::conditional< std::is_same< TSingleComponentImage, TOutputImage >::value, PlainMultiplyFilterType, MatrixVectorMultiplyFilterType >::type MultiplyWithWeightsFilterType
Multiplies matrix by vector.
itk::AddImageFilter< TOutputImage > AddFilterType
typename BackProjectionFilterType::Pointer BackProjectionFilterPointer
TOutputImage::Pointer m_FloatingOutputPointer
Projection geometry for a source and a 2-D flat panel.
#define itkSetMacro(name, type)
void VerifyInputInformation() const override
typename ForwardProjectionFilterType::Pointer ForwardProjectionFilterPointer