RTK
2.6.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 () |
Public Member Functions inherited from rtk::ConjugateGradientOperator< TOutputImage > | |
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 Public Member Functions inherited from rtk::ConjugateGradientOperator< TOutputImage > | |
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 |
Protected Member Functions inherited from rtk::ConjugateGradientOperator< TOutputImage > | |
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 107 of file rtkADMMTotalVariationConjugateGradientOperator.h.
using rtk::ADMMTotalVariationConjugateGradientOperator< TOutputImage, TGradientOutputImage >::BackProjectionFilterPointer = typename BackProjectionFilterType::Pointer |
Definition at line 124 of file rtkADMMTotalVariationConjugateGradientOperator.h.
using rtk::ADMMTotalVariationConjugateGradientOperator< TOutputImage, TGradientOutputImage >::BackProjectionFilterType = rtk::BackProjectionImageFilter<TOutputImage, TOutputImage> |
Definition at line 123 of file rtkADMMTotalVariationConjugateGradientOperator.h.
using rtk::ADMMTotalVariationConjugateGradientOperator< TOutputImage, TGradientOutputImage >::DisplacedDetectorFilterType = rtk::DisplacedDetectorImageFilter<TOutputImage> |
Definition at line 136 of file rtkADMMTotalVariationConjugateGradientOperator.h.
using rtk::ADMMTotalVariationConjugateGradientOperator< TOutputImage, TGradientOutputImage >::DivergenceFilterType = rtk::BackwardDifferenceDivergenceImageFilter<TGradientOutputImage, TOutputImage> |
Definition at line 135 of file rtkADMMTotalVariationConjugateGradientOperator.h.
using rtk::ADMMTotalVariationConjugateGradientOperator< TOutputImage, TGradientOutputImage >::ForwardProjectionFilterPointer = typename ForwardProjectionFilterType::Pointer |
Definition at line 127 of file rtkADMMTotalVariationConjugateGradientOperator.h.
using rtk::ADMMTotalVariationConjugateGradientOperator< TOutputImage, TGradientOutputImage >::ForwardProjectionFilterType = rtk::ForwardProjectionImageFilter<TOutputImage, TOutputImage> |
Definition at line 126 of file rtkADMMTotalVariationConjugateGradientOperator.h.
using rtk::ADMMTotalVariationConjugateGradientOperator< TOutputImage, TGradientOutputImage >::GatingWeightsFilterType = rtk::MultiplyByVectorImageFilter<TOutputImage> |
Definition at line 137 of file rtkADMMTotalVariationConjugateGradientOperator.h.
using rtk::ADMMTotalVariationConjugateGradientOperator< TOutputImage, TGradientOutputImage >::GradientFilterType = ForwardDifferenceGradientImageFilter<TOutputImage, typename TOutputImage::ValueType, typename TOutputImage::ValueType, TGradientOutputImage> |
Definition at line 134 of file rtkADMMTotalVariationConjugateGradientOperator.h.
using rtk::ADMMTotalVariationConjugateGradientOperator< TOutputImage, TGradientOutputImage >::MultiplyFilterType = itk::MultiplyImageFilter<TOutputImage> |
Definition at line 129 of file rtkADMMTotalVariationConjugateGradientOperator.h.
using rtk::ADMMTotalVariationConjugateGradientOperator< TOutputImage, TGradientOutputImage >::Pointer = itk::SmartPointer<Self> |
Definition at line 115 of file rtkADMMTotalVariationConjugateGradientOperator.h.
using rtk::ADMMTotalVariationConjugateGradientOperator< TOutputImage, TGradientOutputImage >::Self = ADMMTotalVariationConjugateGradientOperator |
Standard class type alias.
Definition at line 113 of file rtkADMMTotalVariationConjugateGradientOperator.h.
using rtk::ADMMTotalVariationConjugateGradientOperator< TOutputImage, TGradientOutputImage >::SubtractFilterType = itk::SubtractImageFilter<TOutputImage> |
Definition at line 130 of file rtkADMMTotalVariationConjugateGradientOperator.h.
using rtk::ADMMTotalVariationConjugateGradientOperator< TOutputImage, TGradientOutputImage >::Superclass = ConjugateGradientOperator<TOutputImage> |
Definition at line 114 of file rtkADMMTotalVariationConjugateGradientOperator.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 |
Set / Get whether the displaced detector filter should be disabled
|
overridevirtual |
Run-time type information (and related methods).
Reimplemented from itk::ImageSource< typename TOutputImage >.
|
static |
Method for creation through the object factory.
void rtk::ADMMTotalVariationConjugateGradientOperator< TOutputImage, TGradientOutputImage >::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, TGradientOutputImage >::SetForwardProjectionFilter | ( | ForwardProjectionFilterType * | _arg | ) |
Set the forward projection filter
void rtk::ADMMTotalVariationConjugateGradientOperator< TOutputImage, TGradientOutputImage >::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 200 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 175 of file rtkADMMTotalVariationConjugateGradientOperator.h.
|
protected |
Definition at line 188 of file rtkADMMTotalVariationConjugateGradientOperator.h.
|
protected |
Definition at line 189 of file rtkADMMTotalVariationConjugateGradientOperator.h.
|
protected |
Definition at line 184 of file rtkADMMTotalVariationConjugateGradientOperator.h.
|
protected |
Definition at line 182 of file rtkADMMTotalVariationConjugateGradientOperator.h.
|
protected |
Definition at line 176 of file rtkADMMTotalVariationConjugateGradientOperator.h.
|
protected |
Definition at line 194 of file rtkADMMTotalVariationConjugateGradientOperator.h.
|
protected |
Definition at line 185 of file rtkADMMTotalVariationConjugateGradientOperator.h.
|
protected |
Definition at line 187 of file rtkADMMTotalVariationConjugateGradientOperator.h.
|
protected |
Definition at line 183 of file rtkADMMTotalVariationConjugateGradientOperator.h.
|
protected |
Have gating weights been set ? If so, apply them, otherwise ignore the gating weights filter
Definition at line 193 of file rtkADMMTotalVariationConjugateGradientOperator.h.
|
protected |
Definition at line 179 of file rtkADMMTotalVariationConjugateGradientOperator.h.
|
protected |
Definition at line 178 of file rtkADMMTotalVariationConjugateGradientOperator.h.
|
protected |
Definition at line 180 of file rtkADMMTotalVariationConjugateGradientOperator.h.
|
protected |
Definition at line 181 of file rtkADMMTotalVariationConjugateGradientOperator.h.