![]() |
RTK
2.7.0
Reconstruction Toolkit
|
#include <rtkADMMTotalVariationConjugateGradientOperator.h>
Public Member Functions | |
virtual ::itk::LightObject::Pointer | CreateAnother () const |
const char * | GetNameOfClass () const override |
void | SetBackProjectionFilter (BackProjectionFilterType *_arg) |
virtual void | SetBeta (float _arg) |
void | SetForwardProjectionFilter (ForwardProjectionFilterType *_arg) |
void | SetGatingWeights (std::vector< float > weights) |
virtual void | SetGeometry (ThreeDCircularProjectionGeometry *_arg) |
virtual void | SetDisableDisplacedDetectorFilter (bool _arg) |
virtual bool | GetDisableDisplacedDetectorFilter () |
![]() | |
virtual ::itk::LightObject::Pointer | CreateAnother () const |
const char * | GetNameOfClass () const override |
virtual void | SetX (const TOutputImage *OutputImage) |
Static Public Member Functions | |
static Pointer | New () |
![]() | |
static Pointer | New () |
Protected Member Functions | |
ADMMTotalVariationConjugateGradientOperator () | |
void | GenerateData () override |
void | VerifyInputInformation () const override |
void | VerifyPreconditions () const override |
~ADMMTotalVariationConjugateGradientOperator () override=default | |
void | GenerateInputRequestedRegion () override |
void | GenerateOutputInformation () override |
![]() | |
ConjugateGradientOperator () | |
~ConjugateGradientOperator () override=default | |
Implements the operator A used in the conjugate gradient step of ADMM reconstruction with total variation regularization.
This filter implements the operator A used in the conjugate gradient step of a reconstruction method based on compressed sensing. The method attempts to find the f that minimizes || sqrt(D) (Rf -p) ||_2^2 + alpha * TV(f), with R the forward projection operator, p the measured projections, D the displaced detector weighting matrix, and TV the total variation. Details on the method and the calculations can be found in
Mory, C., B. Zhang, V. Auvray, M. Grass, D. Schafer, F. Peyrin, S. Rit, P. Douek, and L. Boussel. "ECG-Gated C-Arm Computed Tomography Using L1 Regularization." In Proceedings of the 20th European Signal Processing Conference (EUSIPCO), 2728-32, 2012.
This filter takes in input f and outputs R_t D R f - beta div(grad(f)).
Definition at line 108 of file rtkADMMTotalVariationConjugateGradientOperator.h.
using rtk::ADMMTotalVariationConjugateGradientOperator< TOutputImage >::BackProjectionFilterPointer = typename BackProjectionFilterType::Pointer |
Definition at line 125 of file rtkADMMTotalVariationConjugateGradientOperator.h.
using rtk::ADMMTotalVariationConjugateGradientOperator< TOutputImage >::BackProjectionFilterType = rtk::BackProjectionImageFilter<TOutputImage, TOutputImage> |
Definition at line 124 of file rtkADMMTotalVariationConjugateGradientOperator.h.
using rtk::ADMMTotalVariationConjugateGradientOperator< TOutputImage >::CPUImageType = itk::Image<typename TOutputImage::PixelType, TOutputImage::ImageDimension> |
Definition at line 134 of file rtkADMMTotalVariationConjugateGradientOperator.h.
using rtk::ADMMTotalVariationConjugateGradientOperator< TOutputImage >::DisplacedDetectorFilterType = rtk::DisplacedDetectorImageFilter<TOutputImage> |
Definition at line 149 of file rtkADMMTotalVariationConjugateGradientOperator.h.
using rtk::ADMMTotalVariationConjugateGradientOperator< TOutputImage >::DivergenceFilterType = rtk::BackwardDifferenceDivergenceImageFilter<GradientImageType, TOutputImage> |
Definition at line 148 of file rtkADMMTotalVariationConjugateGradientOperator.h.
using rtk::ADMMTotalVariationConjugateGradientOperator< TOutputImage >::ForwardProjectionFilterPointer = typename ForwardProjectionFilterType::Pointer |
Definition at line 128 of file rtkADMMTotalVariationConjugateGradientOperator.h.
using rtk::ADMMTotalVariationConjugateGradientOperator< TOutputImage >::ForwardProjectionFilterType = rtk::ForwardProjectionImageFilter<TOutputImage, TOutputImage> |
Definition at line 127 of file rtkADMMTotalVariationConjugateGradientOperator.h.
using rtk::ADMMTotalVariationConjugateGradientOperator< TOutputImage >::GatingWeightsFilterType = rtk::MultiplyByVectorImageFilter<TOutputImage> |
Definition at line 150 of file rtkADMMTotalVariationConjugateGradientOperator.h.
using rtk::ADMMTotalVariationConjugateGradientOperator< TOutputImage >::GradientFilterType = ForwardDifferenceGradientImageFilter<TOutputImage, typename TOutputImage::ValueType, typename TOutputImage::ValueType, GradientImageType> |
Definition at line 147 of file rtkADMMTotalVariationConjugateGradientOperator.h.
typedef std::conditional<std::is_same<TOutputImage, CPUImageType>::value, itk::Image<VectorPixelType, TOutputImage::ImageDimension>, itk::CudaImage<VectorPixelType, TOutputImage::ImageDimension> >::type rtk::ADMMTotalVariationConjugateGradientOperator< TOutputImage >::GradientImageType |
Definition at line 139 of file rtkADMMTotalVariationConjugateGradientOperator.h.
using rtk::ADMMTotalVariationConjugateGradientOperator< TOutputImage >::MultiplyFilterType = itk::MultiplyImageFilter<TOutputImage> |
Definition at line 130 of file rtkADMMTotalVariationConjugateGradientOperator.h.
using rtk::ADMMTotalVariationConjugateGradientOperator< TOutputImage >::Pointer = itk::SmartPointer<Self> |
Definition at line 116 of file rtkADMMTotalVariationConjugateGradientOperator.h.
using rtk::ADMMTotalVariationConjugateGradientOperator< TOutputImage >::Self = ADMMTotalVariationConjugateGradientOperator |
Standard class type alias.
Definition at line 114 of file rtkADMMTotalVariationConjugateGradientOperator.h.
using rtk::ADMMTotalVariationConjugateGradientOperator< TOutputImage >::SubtractFilterType = itk::SubtractImageFilter<TOutputImage> |
Definition at line 131 of file rtkADMMTotalVariationConjugateGradientOperator.h.
using rtk::ADMMTotalVariationConjugateGradientOperator< TOutputImage >::Superclass = ConjugateGradientOperator<TOutputImage> |
Definition at line 115 of file rtkADMMTotalVariationConjugateGradientOperator.h.
using rtk::ADMMTotalVariationConjugateGradientOperator< TOutputImage >::VectorPixelType = itk::CovariantVector<typename TOutputImage::ValueType, TOutputImage::ImageDimension> |
Definition at line 133 of file rtkADMMTotalVariationConjugateGradientOperator.h.
|
protected |
|
overrideprotecteddefault |
|
virtual |
Reimplemented from itk::Object.
|
overrideprotectedvirtual |
Does the real work.
Reimplemented from itk::ProcessObject.
|
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 |
Set / Get whether the displaced detector filter should be disabled
|
overridevirtual |
Run-time type information (and related methods).
Reimplemented from itk::ProcessObject.
|
static |
Method for creation through the object factory.
void rtk::ADMMTotalVariationConjugateGradientOperator< TOutputImage >::SetBackProjectionFilter | ( | BackProjectionFilterType * | _arg | ) |
Set the backprojection filter
|
virtual |
Set the regularization parameter
|
virtual |
Set / Get whether the displaced detector filter should be disabled
void rtk::ADMMTotalVariationConjugateGradientOperator< TOutputImage >::SetForwardProjectionFilter | ( | ForwardProjectionFilterType * | _arg | ) |
Set the forward projection filter
void rtk::ADMMTotalVariationConjugateGradientOperator< TOutputImage >::SetGatingWeights | ( | std::vector< float > | weights | ) |
In the case of a gated reconstruction, set the gating weights
|
virtual |
Pass the geometry to all filters needing it
|
inlineoverrideprotectedvirtual |
When the inputs have the same type, ITK checks whether they occupy the same physical space or not. Obviously they dont, so we have to remove this check
Reimplemented from itk::ProcessObject.
Definition at line 213 of file rtkADMMTotalVariationConjugateGradientOperator.h.
|
overrideprotectedvirtual |
Checks that inputs are correctly set.
Reimplemented from itk::ProcessObject.
|
protected |
Member pointers to the filters used internally (for convenience)
Definition at line 188 of file rtkADMMTotalVariationConjugateGradientOperator.h.
|
protected |
Definition at line 201 of file rtkADMMTotalVariationConjugateGradientOperator.h.
|
protected |
Definition at line 202 of file rtkADMMTotalVariationConjugateGradientOperator.h.
|
protected |
Definition at line 197 of file rtkADMMTotalVariationConjugateGradientOperator.h.
|
protected |
Definition at line 195 of file rtkADMMTotalVariationConjugateGradientOperator.h.
|
protected |
Definition at line 189 of file rtkADMMTotalVariationConjugateGradientOperator.h.
|
protected |
Definition at line 207 of file rtkADMMTotalVariationConjugateGradientOperator.h.
|
protected |
Definition at line 198 of file rtkADMMTotalVariationConjugateGradientOperator.h.
|
protected |
Definition at line 200 of file rtkADMMTotalVariationConjugateGradientOperator.h.
|
protected |
Definition at line 196 of file rtkADMMTotalVariationConjugateGradientOperator.h.
|
protected |
Have gating weights been set ? If so, apply them, otherwise ignore the gating weights filter
Definition at line 206 of file rtkADMMTotalVariationConjugateGradientOperator.h.
|
protected |
Definition at line 192 of file rtkADMMTotalVariationConjugateGradientOperator.h.
|
protected |
Definition at line 191 of file rtkADMMTotalVariationConjugateGradientOperator.h.
|
protected |
Definition at line 193 of file rtkADMMTotalVariationConjugateGradientOperator.h.
|
protected |
Definition at line 194 of file rtkADMMTotalVariationConjugateGradientOperator.h.