RTK
2.6.0
Reconstruction Toolkit
|
#include <rtkADMMTotalVariationConjugateGradientOperator.h>
Public Member Functions | |
virtual ::itk::LightObject::Pointer | CreateAnother () const |
void | SetBackProjectionFilter (const BackProjectionFilterPointer _arg) |
virtual void | SetBeta (float _arg) |
void | SetForwardProjectionFilter (const ForwardProjectionFilterPointer _arg) |
void | SetGatingWeights (std::vector< float > weights) |
virtual void | SetGeometry (ThreeDCircularProjectionGeometry *_arg) |
virtual const char * | GetNameOfClass () const |
virtual void | SetDisableDisplacedDetectorFilter (bool _arg) |
virtual bool | GetDisableDisplacedDetectorFilter () |
Public Member Functions inherited from rtk::ConjugateGradientOperator< TOutputImage > | |
virtual ::itk::LightObject::Pointer | CreateAnother () const |
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 129 of file rtkADMMTotalVariationConjugateGradientOperator.h.
using rtk::ADMMTotalVariationConjugateGradientOperator< TOutputImage, TGradientOutputImage >::BackProjectionFilterType = rtk::BackProjectionImageFilter<TOutputImage, TOutputImage> |
Definition at line 128 of file rtkADMMTotalVariationConjugateGradientOperator.h.
using rtk::ADMMTotalVariationConjugateGradientOperator< TOutputImage, TGradientOutputImage >::DisplacedDetectorFilterType = rtk::DisplacedDetectorImageFilter<TOutputImage> |
Definition at line 141 of file rtkADMMTotalVariationConjugateGradientOperator.h.
using rtk::ADMMTotalVariationConjugateGradientOperator< TOutputImage, TGradientOutputImage >::DivergenceFilterType = rtk::BackwardDifferenceDivergenceImageFilter<TGradientOutputImage, TOutputImage> |
Definition at line 140 of file rtkADMMTotalVariationConjugateGradientOperator.h.
using rtk::ADMMTotalVariationConjugateGradientOperator< TOutputImage, TGradientOutputImage >::ForwardProjectionFilterPointer = typename ForwardProjectionFilterType::Pointer |
Definition at line 132 of file rtkADMMTotalVariationConjugateGradientOperator.h.
using rtk::ADMMTotalVariationConjugateGradientOperator< TOutputImage, TGradientOutputImage >::ForwardProjectionFilterType = rtk::ForwardProjectionImageFilter<TOutputImage, TOutputImage> |
Definition at line 131 of file rtkADMMTotalVariationConjugateGradientOperator.h.
using rtk::ADMMTotalVariationConjugateGradientOperator< TOutputImage, TGradientOutputImage >::GatingWeightsFilterType = rtk::MultiplyByVectorImageFilter<TOutputImage> |
Definition at line 142 of file rtkADMMTotalVariationConjugateGradientOperator.h.
using rtk::ADMMTotalVariationConjugateGradientOperator< TOutputImage, TGradientOutputImage >::GradientFilterType = ForwardDifferenceGradientImageFilter<TOutputImage, typename TOutputImage::ValueType, typename TOutputImage::ValueType, TGradientOutputImage> |
Definition at line 139 of file rtkADMMTotalVariationConjugateGradientOperator.h.
using rtk::ADMMTotalVariationConjugateGradientOperator< TOutputImage, TGradientOutputImage >::MultiplyFilterType = itk::MultiplyImageFilter<TOutputImage> |
Definition at line 134 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 135 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< 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
|
virtual |
Run-time type information (and related methods).
Reimplemented from rtk::ConjugateGradientOperator< TOutputImage >.
|
static |
Method for creation through the object factory.
void rtk::ADMMTotalVariationConjugateGradientOperator< TOutputImage, TGradientOutputImage >::SetBackProjectionFilter | ( | const BackProjectionFilterPointer | _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 | ( | const ForwardProjectionFilterPointer | _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 205 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 180 of file rtkADMMTotalVariationConjugateGradientOperator.h.
|
protected |
Definition at line 193 of file rtkADMMTotalVariationConjugateGradientOperator.h.
|
protected |
Definition at line 194 of file rtkADMMTotalVariationConjugateGradientOperator.h.
|
protected |
Definition at line 189 of file rtkADMMTotalVariationConjugateGradientOperator.h.
|
protected |
Definition at line 187 of file rtkADMMTotalVariationConjugateGradientOperator.h.
|
protected |
Definition at line 181 of file rtkADMMTotalVariationConjugateGradientOperator.h.
|
protected |
Definition at line 199 of file rtkADMMTotalVariationConjugateGradientOperator.h.
|
protected |
Definition at line 190 of file rtkADMMTotalVariationConjugateGradientOperator.h.
|
protected |
Definition at line 192 of file rtkADMMTotalVariationConjugateGradientOperator.h.
|
protected |
Definition at line 188 of file rtkADMMTotalVariationConjugateGradientOperator.h.
|
protected |
Have gating weights been set ? If so, apply them, otherwise ignore the gating weights filter
Definition at line 198 of file rtkADMMTotalVariationConjugateGradientOperator.h.
|
protected |
Definition at line 184 of file rtkADMMTotalVariationConjugateGradientOperator.h.
|
protected |
Definition at line 183 of file rtkADMMTotalVariationConjugateGradientOperator.h.
|
protected |
Definition at line 185 of file rtkADMMTotalVariationConjugateGradientOperator.h.
|
protected |
Definition at line 186 of file rtkADMMTotalVariationConjugateGradientOperator.h.