RTK
2.6.0
Reconstruction Toolkit
|
#include <rtkADMMTotalVariationConeBeamReconstructionFilter.h>
Static Public Member Functions | |
static Pointer | New () |
Static Public Member Functions inherited from rtk::IterativeConeBeamReconstructionFilter< TOutputImage, TOutputImage > | |
static Pointer | New () |
Private Attributes | |
unsigned int | m_AL_iterations |
float | m_Alpha |
float | m_Beta |
unsigned int | m_CG_iterations |
ThreeDCircularProjectionGeometry::Pointer | m_Geometry |
Additional Inherited Members | |
Protected Types inherited from rtk::IterativeConeBeamReconstructionFilter< TOutputImage, TOutputImage > | |
using | CPUImageType = typename itk::Image< typename TOutputImage ::PixelType, TOutputImage ::ImageDimension > |
using | EnableCudaScalarAndVectorType = typename std::enable_if< !std::is_same< CPUImageType, ImageType >::value &&std::is_same< typename itk::PixelTraits< typename ImageType::PixelType >::ValueType, float >::value &&(itk::PixelTraits< typename ImageType::PixelType >::Dimension==1||itk::PixelTraits< typename ImageType::PixelType >::Dimension==2||itk::PixelTraits< typename ImageType::PixelType >::Dimension==3)>::type |
using | DisableCudaScalarAndVectorType = typename std::enable_if< std::is_same< CPUImageType, ImageType >::value||!std::is_same< typename itk::PixelTraits< typename ImageType::PixelType >::ValueType, float >::value||(itk::PixelTraits< typename ImageType::PixelType >::Dimension !=1 &&itk::PixelTraits< typename ImageType::PixelType >::Dimension !=2 &&itk::PixelTraits< typename ImageType::PixelType >::Dimension !=3)>::type |
using | EnableCudaScalarType = typename std::enable_if< !std::is_same< CPUImageType, ImageType >::value &&std::is_same< typename itk::PixelTraits< typename ImageType::PixelType >::ValueType, float >::value &&itk::PixelTraits< typename ImageType::PixelType >::Dimension==1 >::type |
using | DisableCudaScalarType = typename std::enable_if< std::is_same< CPUImageType, ImageType >::value||!std::is_same< typename itk::PixelTraits< typename ImageType::PixelType >::ValueType, float >::value||itk::PixelTraits< typename ImageType::PixelType >::Dimension !=1 >::type |
using | EnableVectorType = typename std::enable_if< itk::PixelTraits< typename ImageType::PixelType >::Dimension !=1 >::type |
using | DisableVectorType = typename std::enable_if< itk::PixelTraits< typename ImageType::PixelType >::Dimension==1 >::type |
Implements the ADMM reconstruction with total variation regularization.
This filter implements 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 on page 48 of
Mory, C. "Cardiac C-Arm Computed Tomography", PhD thesis, 2014. https://hal.inria.fr/tel-00985728/document
\( f_{k+1} \) is obtained by linear conjugate solving the following:
\[ ( R^T R + \beta \nabla^T \nabla ) f = R^T p + \beta \nabla^T ( g_k + d_k ) \]
\( g_{k+1} \) is obtained by soft thresholding:
\[ g_{k+1} = ST_{ \frac{\alpha}{2 \beta} } ( \nabla f_{k+1} - d_k ) \]
\( d_{k+1} \) is a simple subtraction:
\[ d_{k+1} = g_{k+1} - ( \nabla f_{k+1} - d_k) \]
Definition at line 137 of file rtkADMMTotalVariationConeBeamReconstructionFilter.h.
using rtk::ADMMTotalVariationConeBeamReconstructionFilter< TOutputImage, TGradientOutputImage >::AddGradientsFilterType = itk::AddImageFilter<TGradientOutputImage> |
Definition at line 174 of file rtkADMMTotalVariationConeBeamReconstructionFilter.h.
using rtk::ADMMTotalVariationConeBeamReconstructionFilter< TOutputImage, TGradientOutputImage >::BackProjectionFilterPointer = typename BackProjectionFilterType::Pointer |
Definition at line 165 of file rtkADMMTotalVariationConeBeamReconstructionFilter.h.
using rtk::ADMMTotalVariationConeBeamReconstructionFilter< TOutputImage, TGradientOutputImage >::BackProjectionFilterType = rtk::BackProjectionImageFilter<TOutputImage, TOutputImage> |
Definition at line 164 of file rtkADMMTotalVariationConeBeamReconstructionFilter.h.
using rtk::ADMMTotalVariationConeBeamReconstructionFilter< TOutputImage, TGradientOutputImage >::BackProjectionType = typename Superclass::BackProjectionType |
Definition at line 149 of file rtkADMMTotalVariationConeBeamReconstructionFilter.h.
using rtk::ADMMTotalVariationConeBeamReconstructionFilter< TOutputImage, TGradientOutputImage >::CGOperatorFilterType = rtk::ADMMTotalVariationConjugateGradientOperator<TOutputImage> |
Definition at line 178 of file rtkADMMTotalVariationConeBeamReconstructionFilter.h.
using rtk::ADMMTotalVariationConeBeamReconstructionFilter< TOutputImage, TGradientOutputImage >::ConjugateGradientFilterType = rtk::ConjugateGradientImageFilter<TOutputImage> |
Definition at line 166 of file rtkADMMTotalVariationConeBeamReconstructionFilter.h.
using rtk::ADMMTotalVariationConeBeamReconstructionFilter< TOutputImage, TGradientOutputImage >::DisplacedDetectorFilterType = rtk::DisplacedDetectorImageFilter<TOutputImage> |
Definition at line 179 of file rtkADMMTotalVariationConeBeamReconstructionFilter.h.
using rtk::ADMMTotalVariationConeBeamReconstructionFilter< TOutputImage, TGradientOutputImage >::ForwardProjectionFilterPointer = typename ForwardProjectionFilterType::Pointer |
Definition at line 163 of file rtkADMMTotalVariationConeBeamReconstructionFilter.h.
using rtk::ADMMTotalVariationConeBeamReconstructionFilter< TOutputImage, TGradientOutputImage >::ForwardProjectionFilterType = rtk::ForwardProjectionImageFilter<TOutputImage, TOutputImage> |
Definition at line 162 of file rtkADMMTotalVariationConeBeamReconstructionFilter.h.
using rtk::ADMMTotalVariationConeBeamReconstructionFilter< TOutputImage, TGradientOutputImage >::ForwardProjectionType = typename Superclass::ForwardProjectionType |
Definition at line 148 of file rtkADMMTotalVariationConeBeamReconstructionFilter.h.
using rtk::ADMMTotalVariationConeBeamReconstructionFilter< TOutputImage, TGradientOutputImage >::GatingWeightsFilterType = rtk::MultiplyByVectorImageFilter<TOutputImage> |
Definition at line 180 of file rtkADMMTotalVariationConeBeamReconstructionFilter.h.
using rtk::ADMMTotalVariationConeBeamReconstructionFilter< TOutputImage, TGradientOutputImage >::ImageDivergenceFilterType = rtk::BackwardDifferenceDivergenceImageFilter<TGradientOutputImage, TOutputImage> |
Definition at line 171 of file rtkADMMTotalVariationConeBeamReconstructionFilter.h.
using rtk::ADMMTotalVariationConeBeamReconstructionFilter< TOutputImage, TGradientOutputImage >::ImageGradientFilterType = ForwardDifferenceGradientImageFilter<TOutputImage, typename TOutputImage::ValueType, typename TOutputImage::ValueType, TGradientOutputImage> |
Definition at line 170 of file rtkADMMTotalVariationConeBeamReconstructionFilter.h.
using rtk::ADMMTotalVariationConeBeamReconstructionFilter< TOutputImage, TGradientOutputImage >::MultiplyGradientFilterType = itk::MultiplyImageFilter<TGradientOutputImage> |
Definition at line 176 of file rtkADMMTotalVariationConeBeamReconstructionFilter.h.
using rtk::ADMMTotalVariationConeBeamReconstructionFilter< TOutputImage, TGradientOutputImage >::MultiplyVolumeFilterType = itk::MultiplyImageFilter<TOutputImage> |
Definition at line 175 of file rtkADMMTotalVariationConeBeamReconstructionFilter.h.
using rtk::ADMMTotalVariationConeBeamReconstructionFilter< TOutputImage, TGradientOutputImage >::Pointer = itk::SmartPointer<Self> |
Definition at line 146 of file rtkADMMTotalVariationConeBeamReconstructionFilter.h.
using rtk::ADMMTotalVariationConeBeamReconstructionFilter< TOutputImage, TGradientOutputImage >::Self = ADMMTotalVariationConeBeamReconstructionFilter |
Standard class type alias.
Definition at line 144 of file rtkADMMTotalVariationConeBeamReconstructionFilter.h.
typedef rtk::SoftThresholdTVImageFilter<TGradientOutputImage> rtk::ADMMTotalVariationConeBeamReconstructionFilter< TOutputImage, TGradientOutputImage >::SoftThresholdTVFilterType |
Definition at line 172 of file rtkADMMTotalVariationConeBeamReconstructionFilter.h.
using rtk::ADMMTotalVariationConeBeamReconstructionFilter< TOutputImage, TGradientOutputImage >::SubtractGradientsFilterType = itk::SubtractImageFilter<TGradientOutputImage> |
Definition at line 177 of file rtkADMMTotalVariationConeBeamReconstructionFilter.h.
using rtk::ADMMTotalVariationConeBeamReconstructionFilter< TOutputImage, TGradientOutputImage >::SubtractVolumeFilterType = itk::SubtractImageFilter<TOutputImage> |
Definition at line 173 of file rtkADMMTotalVariationConeBeamReconstructionFilter.h.
using rtk::ADMMTotalVariationConeBeamReconstructionFilter< TOutputImage, TGradientOutputImage >::Superclass = IterativeConeBeamReconstructionFilter<TOutputImage, TOutputImage> |
Definition at line 145 of file rtkADMMTotalVariationConeBeamReconstructionFilter.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 |
|
virtual |
|
virtual |
|
virtual |
|
virtual |
Set / Get whether the displaced detector filter should be disabled
|
virtual |
Run-time type information (and related methods).
Reimplemented from rtk::IterativeConeBeamReconstructionFilter< TOutputImage, TOutputImage >.
|
static |
Method for creation through the object factory.
|
virtual |
|
virtual |
|
virtual |
void rtk::ADMMTotalVariationConeBeamReconstructionFilter< TOutputImage, TGradientOutputImage >::SetBetaForCurrentIteration | ( | int | iter | ) |
Increase the value of Beta at each iteration
|
virtual |
|
virtual |
Set / Get whether the displaced detector filter should be disabled
void rtk::ADMMTotalVariationConeBeamReconstructionFilter< 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 |
The inputs of this filter have the same type (float, 3) but not the same meaning It is normal that they do not occupy the same physical space. Therefore this check must be removed
Reimplemented from itk::ProcessObject.
Definition at line 246 of file rtkADMMTotalVariationConeBeamReconstructionFilter.h.
|
overrideprotectedvirtual |
Checks that inputs are correctly set.
Reimplemented from itk::ProcessObject.
|
protected |
Definition at line 231 of file rtkADMMTotalVariationConeBeamReconstructionFilter.h.
|
private |
Definition at line 266 of file rtkADMMTotalVariationConeBeamReconstructionFilter.h.
|
private |
Definition at line 264 of file rtkADMMTotalVariationConeBeamReconstructionFilter.h.
|
protected |
Definition at line 238 of file rtkADMMTotalVariationConeBeamReconstructionFilter.h.
|
protected |
Definition at line 237 of file rtkADMMTotalVariationConeBeamReconstructionFilter.h.
|
private |
Definition at line 265 of file rtkADMMTotalVariationConeBeamReconstructionFilter.h.
|
private |
Definition at line 267 of file rtkADMMTotalVariationConeBeamReconstructionFilter.h.
|
protected |
Definition at line 235 of file rtkADMMTotalVariationConeBeamReconstructionFilter.h.
|
protected |
Definition at line 233 of file rtkADMMTotalVariationConeBeamReconstructionFilter.h.
|
protected |
Definition at line 261 of file rtkADMMTotalVariationConeBeamReconstructionFilter.h.
|
protected |
Definition at line 239 of file rtkADMMTotalVariationConeBeamReconstructionFilter.h.
|
protected |
Definition at line 232 of file rtkADMMTotalVariationConeBeamReconstructionFilter.h.
|
protected |
Definition at line 236 of file rtkADMMTotalVariationConeBeamReconstructionFilter.h.
|
protected |
Definition at line 260 of file rtkADMMTotalVariationConeBeamReconstructionFilter.h.
|
protected |
Definition at line 240 of file rtkADMMTotalVariationConeBeamReconstructionFilter.h.
|
private |
Definition at line 269 of file rtkADMMTotalVariationConeBeamReconstructionFilter.h.
|
protected |
Definition at line 228 of file rtkADMMTotalVariationConeBeamReconstructionFilter.h.
|
protected |
Definition at line 229 of file rtkADMMTotalVariationConeBeamReconstructionFilter.h.
|
protected |
Have gating weights been set ? If so, apply them, otherwise ignore the gating weights filter
Definition at line 259 of file rtkADMMTotalVariationConeBeamReconstructionFilter.h.
|
protected |
Definition at line 225 of file rtkADMMTotalVariationConeBeamReconstructionFilter.h.
|
protected |
Definition at line 234 of file rtkADMMTotalVariationConeBeamReconstructionFilter.h.
|
protected |
Member pointers to the filters used internally (for convenience)
Definition at line 223 of file rtkADMMTotalVariationConeBeamReconstructionFilter.h.
|
protected |
Definition at line 224 of file rtkADMMTotalVariationConeBeamReconstructionFilter.h.
|
protected |
Definition at line 230 of file rtkADMMTotalVariationConeBeamReconstructionFilter.h.
|
protected |
Definition at line 227 of file rtkADMMTotalVariationConeBeamReconstructionFilter.h.
|
protected |
Definition at line 226 of file rtkADMMTotalVariationConeBeamReconstructionFilter.h.