![]() |
RTK
2.7.0
Reconstruction Toolkit
|
#include <rtkADMMTotalVariationConeBeamReconstructionFilter.h>
Static Public Member Functions | |
static Pointer | New () |
![]() | |
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 | |
![]() | |
using | CPUImageType = typename itk::Image< typename TOutputImage ::PixelType, TOutputImage ::ImageDimension > |
using | EnableCudaScalarAndVectorType = typename std::enable_if< !std::is_same_v< CPUImageType, ImageType > &&std::is_same_v< typename itk::PixelTraits< typename ImageType::PixelType >::ValueType, float > &&(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_v< CPUImageType, ImageType >||!std::is_same_v< typename itk::PixelTraits< typename ImageType::PixelType >::ValueType, float >||(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_v< CPUImageType, ImageType > &&std::is_same_v< typename itk::PixelTraits< typename ImageType::PixelType >::ValueType, float > &&itk::PixelTraits< typename ImageType::PixelType >::Dimension==1 >::type |
using | DisableCudaScalarType = typename std::enable_if< std::is_same_v< CPUImageType, ImageType >||!std::is_same_v< typename itk::PixelTraits< typename ImageType::PixelType >::ValueType, float >||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 135 of file rtkADMMTotalVariationConeBeamReconstructionFilter.h.
using rtk::ADMMTotalVariationConeBeamReconstructionFilter< TOutputImage >::AddGradientsFilterType = itk::AddImageFilter<GradientImageType> |
Definition at line 177 of file rtkADMMTotalVariationConeBeamReconstructionFilter.h.
using rtk::ADMMTotalVariationConeBeamReconstructionFilter< TOutputImage >::BackProjectionFilterPointer = typename BackProjectionFilterType::Pointer |
Definition at line 158 of file rtkADMMTotalVariationConeBeamReconstructionFilter.h.
using rtk::ADMMTotalVariationConeBeamReconstructionFilter< TOutputImage >::BackProjectionFilterType = rtk::BackProjectionImageFilter<TOutputImage, TOutputImage> |
Definition at line 157 of file rtkADMMTotalVariationConeBeamReconstructionFilter.h.
using rtk::ADMMTotalVariationConeBeamReconstructionFilter< TOutputImage >::BackProjectionType = typename Superclass::BackProjectionType |
Definition at line 147 of file rtkADMMTotalVariationConeBeamReconstructionFilter.h.
using rtk::ADMMTotalVariationConeBeamReconstructionFilter< TOutputImage >::CGOperatorFilterType = rtk::ADMMTotalVariationConjugateGradientOperator<TOutputImage> |
Definition at line 181 of file rtkADMMTotalVariationConeBeamReconstructionFilter.h.
using rtk::ADMMTotalVariationConeBeamReconstructionFilter< TOutputImage >::ConjugateGradientFilterType = rtk::ConjugateGradientImageFilter<TOutputImage> |
Definition at line 159 of file rtkADMMTotalVariationConeBeamReconstructionFilter.h.
using rtk::ADMMTotalVariationConeBeamReconstructionFilter< TOutputImage >::CPUImageType = itk::Image<typename TOutputImage::PixelType, TOutputImage::ImageDimension> |
Definition at line 161 of file rtkADMMTotalVariationConeBeamReconstructionFilter.h.
using rtk::ADMMTotalVariationConeBeamReconstructionFilter< TOutputImage >::DisplacedDetectorFilterType = rtk::DisplacedDetectorImageFilter<TOutputImage> |
Definition at line 182 of file rtkADMMTotalVariationConeBeamReconstructionFilter.h.
using rtk::ADMMTotalVariationConeBeamReconstructionFilter< TOutputImage >::ForwardProjectionFilterPointer = typename ForwardProjectionFilterType::Pointer |
Definition at line 156 of file rtkADMMTotalVariationConeBeamReconstructionFilter.h.
using rtk::ADMMTotalVariationConeBeamReconstructionFilter< TOutputImage >::ForwardProjectionFilterType = rtk::ForwardProjectionImageFilter<TOutputImage, TOutputImage> |
Definition at line 155 of file rtkADMMTotalVariationConeBeamReconstructionFilter.h.
using rtk::ADMMTotalVariationConeBeamReconstructionFilter< TOutputImage >::ForwardProjectionType = typename Superclass::ForwardProjectionType |
Definition at line 146 of file rtkADMMTotalVariationConeBeamReconstructionFilter.h.
using rtk::ADMMTotalVariationConeBeamReconstructionFilter< TOutputImage >::GatingWeightsFilterType = rtk::MultiplyByVectorImageFilter<TOutputImage> |
Definition at line 183 of file rtkADMMTotalVariationConeBeamReconstructionFilter.h.
typedef std::conditional<std::is_same<TOutputImage, CPUImageType>::value, itk::Image<VectorPixelType, TOutputImage::ImageDimension>, itk::CudaImage<VectorPixelType, TOutputImage::ImageDimension> >::type rtk::ADMMTotalVariationConeBeamReconstructionFilter< TOutputImage >::GradientImageType |
Definition at line 166 of file rtkADMMTotalVariationConeBeamReconstructionFilter.h.
using rtk::ADMMTotalVariationConeBeamReconstructionFilter< TOutputImage >::ImageDivergenceFilterType = rtk::BackwardDifferenceDivergenceImageFilter<GradientImageType, TOutputImage> |
Definition at line 174 of file rtkADMMTotalVariationConeBeamReconstructionFilter.h.
using rtk::ADMMTotalVariationConeBeamReconstructionFilter< TOutputImage >::ImageGradientFilterType = ForwardDifferenceGradientImageFilter<TOutputImage, typename TOutputImage::ValueType, typename TOutputImage::ValueType, GradientImageType> |
Definition at line 173 of file rtkADMMTotalVariationConeBeamReconstructionFilter.h.
using rtk::ADMMTotalVariationConeBeamReconstructionFilter< TOutputImage >::MultiplyGradientFilterType = itk::MultiplyImageFilter<GradientImageType> |
Definition at line 179 of file rtkADMMTotalVariationConeBeamReconstructionFilter.h.
using rtk::ADMMTotalVariationConeBeamReconstructionFilter< TOutputImage >::MultiplyVolumeFilterType = itk::MultiplyImageFilter<TOutputImage> |
Definition at line 178 of file rtkADMMTotalVariationConeBeamReconstructionFilter.h.
using rtk::ADMMTotalVariationConeBeamReconstructionFilter< TOutputImage >::Pointer = itk::SmartPointer<Self> |
Definition at line 144 of file rtkADMMTotalVariationConeBeamReconstructionFilter.h.
using rtk::ADMMTotalVariationConeBeamReconstructionFilter< TOutputImage >::Self = ADMMTotalVariationConeBeamReconstructionFilter |
Standard class type alias.
Definition at line 142 of file rtkADMMTotalVariationConeBeamReconstructionFilter.h.
typedef rtk::SoftThresholdTVImageFilter<GradientImageType> rtk::ADMMTotalVariationConeBeamReconstructionFilter< TOutputImage >::SoftThresholdTVFilterType |
Definition at line 175 of file rtkADMMTotalVariationConeBeamReconstructionFilter.h.
using rtk::ADMMTotalVariationConeBeamReconstructionFilter< TOutputImage >::SubtractGradientsFilterType = itk::SubtractImageFilter<GradientImageType> |
Definition at line 180 of file rtkADMMTotalVariationConeBeamReconstructionFilter.h.
using rtk::ADMMTotalVariationConeBeamReconstructionFilter< TOutputImage >::SubtractVolumeFilterType = itk::SubtractImageFilter<TOutputImage> |
Definition at line 176 of file rtkADMMTotalVariationConeBeamReconstructionFilter.h.
using rtk::ADMMTotalVariationConeBeamReconstructionFilter< TOutputImage >::Superclass = IterativeConeBeamReconstructionFilter<TOutputImage, TOutputImage> |
Definition at line 143 of file rtkADMMTotalVariationConeBeamReconstructionFilter.h.
using rtk::ADMMTotalVariationConeBeamReconstructionFilter< TOutputImage >::VectorPixelType = itk::CovariantVector<typename TOutputImage::ValueType, TOutputImage::ImageDimension> |
Definition at line 160 of file rtkADMMTotalVariationConeBeamReconstructionFilter.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 |
|
virtual |
|
virtual |
|
virtual |
|
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.
|
virtual |
|
virtual |
|
virtual |
void rtk::ADMMTotalVariationConeBeamReconstructionFilter< TOutputImage >::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 >::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 249 of file rtkADMMTotalVariationConeBeamReconstructionFilter.h.
|
overrideprotectedvirtual |
Checks that inputs are correctly set.
Reimplemented from itk::ProcessObject.
|
protected |
Definition at line 234 of file rtkADMMTotalVariationConeBeamReconstructionFilter.h.
|
private |
Definition at line 269 of file rtkADMMTotalVariationConeBeamReconstructionFilter.h.
|
private |
Definition at line 267 of file rtkADMMTotalVariationConeBeamReconstructionFilter.h.
|
protected |
Definition at line 241 of file rtkADMMTotalVariationConeBeamReconstructionFilter.h.
|
protected |
Definition at line 240 of file rtkADMMTotalVariationConeBeamReconstructionFilter.h.
|
private |
Definition at line 268 of file rtkADMMTotalVariationConeBeamReconstructionFilter.h.
|
private |
Definition at line 270 of file rtkADMMTotalVariationConeBeamReconstructionFilter.h.
|
protected |
Definition at line 238 of file rtkADMMTotalVariationConeBeamReconstructionFilter.h.
|
protected |
Definition at line 236 of file rtkADMMTotalVariationConeBeamReconstructionFilter.h.
|
protected |
Definition at line 264 of file rtkADMMTotalVariationConeBeamReconstructionFilter.h.
|
protected |
Definition at line 242 of file rtkADMMTotalVariationConeBeamReconstructionFilter.h.
|
protected |
Definition at line 235 of file rtkADMMTotalVariationConeBeamReconstructionFilter.h.
|
protected |
Definition at line 239 of file rtkADMMTotalVariationConeBeamReconstructionFilter.h.
|
protected |
Definition at line 263 of file rtkADMMTotalVariationConeBeamReconstructionFilter.h.
|
protected |
Definition at line 243 of file rtkADMMTotalVariationConeBeamReconstructionFilter.h.
|
private |
Definition at line 272 of file rtkADMMTotalVariationConeBeamReconstructionFilter.h.
|
protected |
Definition at line 231 of file rtkADMMTotalVariationConeBeamReconstructionFilter.h.
|
protected |
Definition at line 232 of file rtkADMMTotalVariationConeBeamReconstructionFilter.h.
|
protected |
Have gating weights been set ? If so, apply them, otherwise ignore the gating weights filter
Definition at line 262 of file rtkADMMTotalVariationConeBeamReconstructionFilter.h.
|
protected |
Definition at line 228 of file rtkADMMTotalVariationConeBeamReconstructionFilter.h.
|
protected |
Definition at line 237 of file rtkADMMTotalVariationConeBeamReconstructionFilter.h.
|
protected |
Member pointers to the filters used internally (for convenience)
Definition at line 226 of file rtkADMMTotalVariationConeBeamReconstructionFilter.h.
|
protected |
Definition at line 227 of file rtkADMMTotalVariationConeBeamReconstructionFilter.h.
|
protected |
Definition at line 233 of file rtkADMMTotalVariationConeBeamReconstructionFilter.h.
|
protected |
Definition at line 230 of file rtkADMMTotalVariationConeBeamReconstructionFilter.h.
|
protected |
Definition at line 229 of file rtkADMMTotalVariationConeBeamReconstructionFilter.h.