RTK  2.1.0
Reconstruction Toolkit
Public Types | Public Member Functions | Static Public Member Functions | Static Public Attributes | Protected Member Functions | Private Attributes | List of all members
rtk::BackwardDifferenceDivergenceImageFilter< TInputImage, TOutputImage > Class Template Reference

#include <rtkBackwardDifferenceDivergenceImageFilter.h>

+ Inheritance diagram for rtk::BackwardDifferenceDivergenceImageFilter< TInputImage, TOutputImage >:
+ Collaboration diagram for rtk::BackwardDifferenceDivergenceImageFilter< TInputImage, TOutputImage >:

Public Types

using ConstPointer = itk::SmartPointer< const Self >
 
using CovariantVectorType = itk::CovariantVector< InputPixelType, InputImageDimension >
 
using InputImageRegionType = typename InputImageType::RegionType
 
using InputImageType = TInputImage
 
using InputPixelType = typename InputImageType::PixelType
 
using InputSizeType = typename InputImageType::SizeType
 
using Pointer = itk::SmartPointer< Self >
 
using Self = BackwardDifferenceDivergenceImageFilter
 
using Superclass = itk::ImageToImageFilter< InputImageType, TOutputImage >
 

Public Member Functions

virtual ::itk::LightObject::Pointer CreateAnother () const
 
virtual const char * GetNameOfClass () const
 
void OverrideBoundaryCondition (itk::ImageBoundaryCondition< TInputImage > *boundaryCondition)
 
void SetDimensionsProcessed (bool *DimensionsProcessed)
 
void SetUseImageSpacingOff ()
 
void SetUseImageSpacingOn ()
 
virtual void SetUseImageSpacing (bool _arg)
 
virtual bool GetUseImageSpacing () const
 

Static Public Member Functions

static Pointer New ()
 

Static Public Attributes

static constexpr unsigned int InputImageDimension = TInputImage::ImageDimension
 

Protected Member Functions

void AfterThreadedGenerateData () override
 
 BackwardDifferenceDivergenceImageFilter ()
 
void BeforeThreadedGenerateData () override
 
void DynamicThreadedGenerateData (const typename InputImageType::RegionType &outputRegionForThread) override
 
void GenerateInputRequestedRegion () override
 
 ~BackwardDifferenceDivergenceImageFilter () override
 

Private Attributes

itk::ImageBoundaryCondition< TInputImage, TInputImage > * m_BoundaryCondition
 
bool m_DimensionsProcessed [TInputImage::ImageDimension]
 
TInputImage::SpacingType m_InvSpacingCoeffs
 
bool m_IsBoundaryConditionOverriden
 
bool m_UseImageSpacing
 

Detailed Description

template<typename TInputImage, typename TOutputImage = itk::Image<float, TInputImage::ImageDimension>>
class rtk::BackwardDifferenceDivergenceImageFilter< TInputImage, TOutputImage >

Computes the backward differences divergence (adjoint of the forward differences gradient) of the input image.

The exact definition of the desired divergence filter can be found in Chambolle, Antonin. "An Algorithm for Total Variation Minimization and Applications." J. Math. Imaging Vis. 20, no. 1-2 (January 2004): 89-97.

Definition at line 40 of file rtkBackwardDifferenceDivergenceImageFilter.h.

Member Typedef Documentation

◆ ConstPointer

template<typename TInputImage , typename TOutputImage = itk::Image<float, TInputImage::ImageDimension>>
using rtk::BackwardDifferenceDivergenceImageFilter< TInputImage, TOutputImage >::ConstPointer = itk::SmartPointer<const Self>

Definition at line 55 of file rtkBackwardDifferenceDivergenceImageFilter.h.

◆ CovariantVectorType

template<typename TInputImage , typename TOutputImage = itk::Image<float, TInputImage::ImageDimension>>
using rtk::BackwardDifferenceDivergenceImageFilter< TInputImage, TOutputImage >::CovariantVectorType = itk::CovariantVector<InputPixelType, InputImageDimension>

Definition at line 98 of file rtkBackwardDifferenceDivergenceImageFilter.h.

◆ InputImageRegionType

template<typename TInputImage , typename TOutputImage = itk::Image<float, TInputImage::ImageDimension>>
using rtk::BackwardDifferenceDivergenceImageFilter< TInputImage, TOutputImage >::InputImageRegionType = typename InputImageType::RegionType

Definition at line 96 of file rtkBackwardDifferenceDivergenceImageFilter.h.

◆ InputImageType

template<typename TInputImage , typename TOutputImage = itk::Image<float, TInputImage::ImageDimension>>
using rtk::BackwardDifferenceDivergenceImageFilter< TInputImage, TOutputImage >::InputImageType = TInputImage

Convenient type alias for simplifying declarations.

Definition at line 49 of file rtkBackwardDifferenceDivergenceImageFilter.h.

◆ InputPixelType

template<typename TInputImage , typename TOutputImage = itk::Image<float, TInputImage::ImageDimension>>
using rtk::BackwardDifferenceDivergenceImageFilter< TInputImage, TOutputImage >::InputPixelType = typename InputImageType::PixelType

Image type alias support.

Definition at line 95 of file rtkBackwardDifferenceDivergenceImageFilter.h.

◆ InputSizeType

template<typename TInputImage , typename TOutputImage = itk::Image<float, TInputImage::ImageDimension>>
using rtk::BackwardDifferenceDivergenceImageFilter< TInputImage, TOutputImage >::InputSizeType = typename InputImageType::SizeType

Definition at line 97 of file rtkBackwardDifferenceDivergenceImageFilter.h.

◆ Pointer

template<typename TInputImage , typename TOutputImage = itk::Image<float, TInputImage::ImageDimension>>
using rtk::BackwardDifferenceDivergenceImageFilter< TInputImage, TOutputImage >::Pointer = itk::SmartPointer<Self>

Definition at line 54 of file rtkBackwardDifferenceDivergenceImageFilter.h.

◆ Self

template<typename TInputImage , typename TOutputImage = itk::Image<float, TInputImage::ImageDimension>>
using rtk::BackwardDifferenceDivergenceImageFilter< TInputImage, TOutputImage >::Self = BackwardDifferenceDivergenceImageFilter

Standard class type alias.

Definition at line 52 of file rtkBackwardDifferenceDivergenceImageFilter.h.

◆ Superclass

template<typename TInputImage , typename TOutputImage = itk::Image<float, TInputImage::ImageDimension>>
using rtk::BackwardDifferenceDivergenceImageFilter< TInputImage, TOutputImage >::Superclass = itk::ImageToImageFilter<InputImageType, TOutputImage>

Definition at line 53 of file rtkBackwardDifferenceDivergenceImageFilter.h.

Constructor & Destructor Documentation

◆ BackwardDifferenceDivergenceImageFilter()

template<typename TInputImage , typename TOutputImage = itk::Image<float, TInputImage::ImageDimension>>
rtk::BackwardDifferenceDivergenceImageFilter< TInputImage, TOutputImage >::BackwardDifferenceDivergenceImageFilter ( )
protected

◆ ~BackwardDifferenceDivergenceImageFilter()

template<typename TInputImage , typename TOutputImage = itk::Image<float, TInputImage::ImageDimension>>
rtk::BackwardDifferenceDivergenceImageFilter< TInputImage, TOutputImage >::~BackwardDifferenceDivergenceImageFilter ( )
overrideprotected

Member Function Documentation

◆ AfterThreadedGenerateData()

template<typename TInputImage , typename TOutputImage = itk::Image<float, TInputImage::ImageDimension>>
void rtk::BackwardDifferenceDivergenceImageFilter< TInputImage, TOutputImage >::AfterThreadedGenerateData ( )
overrideprotectedvirtual

Reimplemented from itk::ImageSource< TOutputImage >.

◆ BeforeThreadedGenerateData()

template<typename TInputImage , typename TOutputImage = itk::Image<float, TInputImage::ImageDimension>>
void rtk::BackwardDifferenceDivergenceImageFilter< TInputImage, TOutputImage >::BeforeThreadedGenerateData ( )
overrideprotectedvirtual

Reimplemented from itk::ImageSource< TOutputImage >.

◆ CreateAnother()

template<typename TInputImage , typename TOutputImage = itk::Image<float, TInputImage::ImageDimension>>
virtual::itk::LightObject::Pointer rtk::BackwardDifferenceDivergenceImageFilter< TInputImage, TOutputImage >::CreateAnother ( ) const
virtual

Reimplemented from itk::Object.

◆ DynamicThreadedGenerateData()

template<typename TInputImage , typename TOutputImage = itk::Image<float, TInputImage::ImageDimension>>
void rtk::BackwardDifferenceDivergenceImageFilter< TInputImage, TOutputImage >::DynamicThreadedGenerateData ( const typename InputImageType::RegionType outputRegionForThread)
overrideprotected

◆ GenerateInputRequestedRegion()

template<typename TInputImage , typename TOutputImage = itk::Image<float, TInputImage::ImageDimension>>
void rtk::BackwardDifferenceDivergenceImageFilter< TInputImage, TOutputImage >::GenerateInputRequestedRegion ( )
overrideprotectedvirtual

◆ GetNameOfClass()

template<typename TInputImage , typename TOutputImage = itk::Image<float, TInputImage::ImageDimension>>
virtual const char* rtk::BackwardDifferenceDivergenceImageFilter< TInputImage, TOutputImage >::GetNameOfClass ( ) const
virtual

Run-time type information (and related methods).

Reimplemented from itk::ImageToImageFilter< TInputImage, TOutputImage >.

◆ GetUseImageSpacing()

template<typename TInputImage , typename TOutputImage = itk::Image<float, TInputImage::ImageDimension>>
virtual bool rtk::BackwardDifferenceDivergenceImageFilter< TInputImage, TOutputImage >::GetUseImageSpacing ( ) const
virtual

Set/Get whether or not the filter will use the spacing of the input image in its calculations

◆ New()

template<typename TInputImage , typename TOutputImage = itk::Image<float, TInputImage::ImageDimension>>
static Pointer rtk::BackwardDifferenceDivergenceImageFilter< TInputImage, TOutputImage >::New ( )
static

Method for creation through the object factory.

◆ OverrideBoundaryCondition()

template<typename TInputImage , typename TOutputImage = itk::Image<float, TInputImage::ImageDimension>>
void rtk::BackwardDifferenceDivergenceImageFilter< TInputImage, TOutputImage >::OverrideBoundaryCondition ( itk::ImageBoundaryCondition< TInputImage > *  boundaryCondition)

Allows to change the default boundary condition

◆ SetDimensionsProcessed()

template<typename TInputImage , typename TOutputImage = itk::Image<float, TInputImage::ImageDimension>>
void rtk::BackwardDifferenceDivergenceImageFilter< TInputImage, TOutputImage >::SetDimensionsProcessed ( bool *  DimensionsProcessed)

Set along which dimensions the gradient computation should be performed. The vector components at unprocessed dimensions are ignored

◆ SetUseImageSpacing()

template<typename TInputImage , typename TOutputImage = itk::Image<float, TInputImage::ImageDimension>>
virtual void rtk::BackwardDifferenceDivergenceImageFilter< TInputImage, TOutputImage >::SetUseImageSpacing ( bool  _arg)
virtual

◆ SetUseImageSpacingOff()

template<typename TInputImage , typename TOutputImage = itk::Image<float, TInputImage::ImageDimension>>
void rtk::BackwardDifferenceDivergenceImageFilter< TInputImage, TOutputImage >::SetUseImageSpacingOff ( )
inline

Ignore the image spacing. Use this option if you want derivatives in isotropic pixel space. Default is UseImageSpacingOn.

Definition at line 74 of file rtkBackwardDifferenceDivergenceImageFilter.h.

References rtk::BackwardDifferenceDivergenceImageFilter< TInputImage, TOutputImage >::SetUseImageSpacing().

◆ SetUseImageSpacingOn()

template<typename TInputImage , typename TOutputImage = itk::Image<float, TInputImage::ImageDimension>>
void rtk::BackwardDifferenceDivergenceImageFilter< TInputImage, TOutputImage >::SetUseImageSpacingOn ( )
inline

Use the image spacing information in calculations. Use this option if you want derivatives in physical space. Default is UseImageSpacingOn.

Definition at line 66 of file rtkBackwardDifferenceDivergenceImageFilter.h.

References rtk::BackwardDifferenceDivergenceImageFilter< TInputImage, TOutputImage >::SetUseImageSpacing().

Member Data Documentation

◆ InputImageDimension

template<typename TInputImage , typename TOutputImage = itk::Image<float, TInputImage::ImageDimension>>
constexpr unsigned int rtk::BackwardDifferenceDivergenceImageFilter< TInputImage, TOutputImage >::InputImageDimension = TInputImage::ImageDimension
static

Extract dimension from input and output image.

Definition at line 46 of file rtkBackwardDifferenceDivergenceImageFilter.h.

◆ m_BoundaryCondition

template<typename TInputImage , typename TOutputImage = itk::Image<float, TInputImage::ImageDimension>>
itk::ImageBoundaryCondition<TInputImage, TInputImage>* rtk::BackwardDifferenceDivergenceImageFilter< TInputImage, TOutputImage >::m_BoundaryCondition
private

◆ m_DimensionsProcessed

template<typename TInputImage , typename TOutputImage = itk::Image<float, TInputImage::ImageDimension>>
bool rtk::BackwardDifferenceDivergenceImageFilter< TInputImage, TOutputImage >::m_DimensionsProcessed[TInputImage::ImageDimension]
private

◆ m_InvSpacingCoeffs

template<typename TInputImage , typename TOutputImage = itk::Image<float, TInputImage::ImageDimension>>
TInputImage::SpacingType rtk::BackwardDifferenceDivergenceImageFilter< TInputImage, TOutputImage >::m_InvSpacingCoeffs
private

◆ m_IsBoundaryConditionOverriden

template<typename TInputImage , typename TOutputImage = itk::Image<float, TInputImage::ImageDimension>>
bool rtk::BackwardDifferenceDivergenceImageFilter< TInputImage, TOutputImage >::m_IsBoundaryConditionOverriden
private

◆ m_UseImageSpacing

template<typename TInputImage , typename TOutputImage = itk::Image<float, TInputImage::ImageDimension>>
bool rtk::BackwardDifferenceDivergenceImageFilter< TInputImage, TOutputImage >::m_UseImageSpacing
private

The documentation for this class was generated from the following file: