19 #ifndef rtkADMMTotalVariationConjugateGradientOperator_h 20 #define rtkADMMTotalVariationConjugateGradientOperator_h 35 # include <itkCudaImage.h> 107 template <
typename TOutputImage>
137 typename std::conditional<std::is_same<TOutputImage, CPUImageType>::value,
145 typename TOutputImage::ValueType,
146 typename TOutputImage::ValueType,
168 SetGatingWeights(std::vector<float> weights);
172 itkGetMacro(DisableDisplacedDetectorFilter,
bool);
181 VerifyPreconditions()
const override;
185 GenerateData()
override;
219 GenerateInputRequestedRegion()
override;
221 GenerateOutputInformation()
override;
227 #ifndef ITK_MANUAL_INSTANTIATION 228 # include "rtkADMMTotalVariationConjugateGradientOperator.hxx"
void VerifyInputInformation() const override
Weigting for displaced detectors.
MultiplyFilterType::Pointer m_ZeroMultiplyProjectionFilter
bool m_DisableDisplacedDetectorFilter
typename ForwardProjectionFilterType::Pointer ForwardProjectionFilterPointer
Projection geometry for a source and a 2-D flat panel.
#define itkSetMacro(name, type)
GradientFilterType::Pointer m_GradientFilter
Computes the gradient of an image using forward difference.
BackProjectionFilterPointer m_BackProjectionFilter
Implements the operator A used in the conjugate gradient step of ADMM reconstruction with total varia...
Multiplies each (n-1) dimension image by the corresponding element in a vector.
ThreeDCircularProjectionGeometry::Pointer m_Geometry
MultiplyFilterType::Pointer m_ZeroMultiplyVolumeFilter
ForwardProjectionFilterPointer m_ForwardProjectionFilter
MultiplyFilterType::Pointer m_MultiplyFilter
DivergenceFilterType::Pointer m_DivergenceFilter
std::conditional< std::is_same< TOutputImage, CPUImageType >::value, itk::Image< VectorPixelType, TOutputImage::ImageDimension >, itk::CudaImage< VectorPixelType, TOutputImage::ImageDimension > >::type GradientImageType
Computes the backward differences divergence (adjoint of the forward differences gradient) of the inp...
typename BackProjectionFilterType::Pointer BackProjectionFilterPointer
DisplacedDetectorFilterType::Pointer m_DisplacedDetectorFilter
SubtractFilterType::Pointer m_SubtractFilter
GatingWeightsFilterType::Pointer m_GatingWeightsFilter
std::vector< float > m_GatingWeights