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

#include <rtkTotalVariationImageFilter.h>

+ Inheritance diagram for rtk::TotalVariationImageFilter< TInputImage >:
+ Collaboration diagram for rtk::TotalVariationImageFilter< TInputImage >:

Public Types

using ConstPointer = itk::SmartPointer< const Self >
 
using DataObjectPointer = typename itk::DataObject::Pointer
 
using DataObjectPointerArraySizeType = itk::ProcessObject::DataObjectPointerArraySizeType
 
using IndexType = typename TInputImage::IndexType
 
using InputImagePointer = typename TInputImage::Pointer
 
using PixelType = typename TInputImage::PixelType
 
using Pointer = itk::SmartPointer< Self >
 
using RealObjectType = itk::SimpleDataObjectDecorator< RealType >
 
using RealType = typename itk::NumericTraits< PixelType >::RealType
 
using RegionType = typename TInputImage::RegionType
 
using Self = TotalVariationImageFilter
 
using SizeType = typename TInputImage::SizeType
 
using Superclass = itk::ImageToImageFilter< TInputImage, TInputImage >
 

Public Member Functions

virtual ::itk::LightObject::Pointer CreateAnother () const
 
const char * GetNameOfClass () const override
 
const RealObjectTypeGetTotalVariationOutput () const
 
DataObjectPointer MakeOutput (DataObjectPointerArraySizeType output) override
 
void SetUseImageSpacingOff ()
 
void SetUseImageSpacingOn ()
 
RealType GetTotalVariation () const
 
RealObjectTypeGetTotalVariationOutput ()
 
virtual void SetUseImageSpacing (bool _arg)
 
virtual bool GetUseImageSpacing () const
 

Static Public Member Functions

static Pointer New ()
 

Static Public Attributes

static constexpr unsigned int ImageDimension = TInputImage::ImageDimension
 

Protected Member Functions

void AfterThreadedGenerateData () override
 
void AllocateOutputs () override
 
void BeforeThreadedGenerateData () override
 
void EnlargeOutputRequestedRegion (itk::DataObject *data) override
 
void GenerateInputRequestedRegion () override
 
void PrintSelf (std::ostream &os, itk::Indent indent) const override
 
void ThreadedGenerateData (const RegionType &outputRegionForThread, itk::ThreadIdType threadId) override
 
 TotalVariationImageFilter ()
 
 ~TotalVariationImageFilter () override=default
 

Protected Attributes

bool m_UseImageSpacing
 

Private Attributes

itk::Array< RealTypem_SumOfSquareRoots
 

Detailed Description

template<typename TInputImage>
class rtk::TotalVariationImageFilter< TInputImage >

Compute the total variation of an Image.

TotalVariationImageFilter computes the total variation, defined as the L1 norm of the image of the L2 norm of the gradient, of an image. The filter needs all of its input image. It behaves as a filter with an input and output. Thus it can be inserted in a pipeline with other filters and the total variation will only be recomputed if a downstream filter changes.

The filter passes its input through unmodified. The filter is threaded.

Definition at line 50 of file rtkTotalVariationImageFilter.h.

Member Typedef Documentation

◆ ConstPointer

template<typename TInputImage >
using rtk::TotalVariationImageFilter< TInputImage >::ConstPointer = itk::SmartPointer<const Self>

Definition at line 59 of file rtkTotalVariationImageFilter.h.

◆ DataObjectPointer

template<typename TInputImage >
using rtk::TotalVariationImageFilter< TInputImage >::DataObjectPointer = typename itk::DataObject::Pointer

Smart Pointer type to a DataObject.

Definition at line 82 of file rtkTotalVariationImageFilter.h.

◆ DataObjectPointerArraySizeType

Make a DataObject of the correct type to be used as the specified output.

Definition at line 103 of file rtkTotalVariationImageFilter.h.

◆ IndexType

template<typename TInputImage >
using rtk::TotalVariationImageFilter< TInputImage >::IndexType = typename TInputImage::IndexType

Definition at line 72 of file rtkTotalVariationImageFilter.h.

◆ InputImagePointer

template<typename TInputImage >
using rtk::TotalVariationImageFilter< TInputImage >::InputImagePointer = typename TInputImage::Pointer

Image related type alias.

Definition at line 68 of file rtkTotalVariationImageFilter.h.

◆ PixelType

template<typename TInputImage >
using rtk::TotalVariationImageFilter< TInputImage >::PixelType = typename TInputImage::PixelType

Definition at line 73 of file rtkTotalVariationImageFilter.h.

◆ Pointer

template<typename TInputImage >
using rtk::TotalVariationImageFilter< TInputImage >::Pointer = itk::SmartPointer<Self>

Definition at line 58 of file rtkTotalVariationImageFilter.h.

◆ RealObjectType

template<typename TInputImage >
using rtk::TotalVariationImageFilter< TInputImage >::RealObjectType = itk::SimpleDataObjectDecorator<RealType>

Type of DataObjects used for scalar outputs

Definition at line 85 of file rtkTotalVariationImageFilter.h.

◆ RealType

template<typename TInputImage >
using rtk::TotalVariationImageFilter< TInputImage >::RealType = typename itk::NumericTraits<PixelType>::RealType

Type to use for computations.

Definition at line 79 of file rtkTotalVariationImageFilter.h.

◆ RegionType

template<typename TInputImage >
using rtk::TotalVariationImageFilter< TInputImage >::RegionType = typename TInputImage::RegionType

Definition at line 70 of file rtkTotalVariationImageFilter.h.

◆ Self

template<typename TInputImage >
using rtk::TotalVariationImageFilter< TInputImage >::Self = TotalVariationImageFilter

Standard Self type alias

Definition at line 56 of file rtkTotalVariationImageFilter.h.

◆ SizeType

template<typename TInputImage >
using rtk::TotalVariationImageFilter< TInputImage >::SizeType = typename TInputImage::SizeType

Definition at line 71 of file rtkTotalVariationImageFilter.h.

◆ Superclass

template<typename TInputImage >
using rtk::TotalVariationImageFilter< TInputImage >::Superclass = itk::ImageToImageFilter<TInputImage, TInputImage>

Definition at line 57 of file rtkTotalVariationImageFilter.h.

Constructor & Destructor Documentation

◆ TotalVariationImageFilter()

template<typename TInputImage >
rtk::TotalVariationImageFilter< TInputImage >::TotalVariationImageFilter ( )
protected

◆ ~TotalVariationImageFilter()

template<typename TInputImage >
rtk::TotalVariationImageFilter< TInputImage >::~TotalVariationImageFilter ( )
overrideprotecteddefault

Member Function Documentation

◆ AfterThreadedGenerateData()

template<typename TInputImage >
void rtk::TotalVariationImageFilter< TInputImage >::AfterThreadedGenerateData ( )
overrideprotectedvirtual

Do final mean and variance computation from data accumulated in threads.

Reimplemented from itk::ImageSource< typename TOutputImage >.

◆ AllocateOutputs()

template<typename TInputImage >
void rtk::TotalVariationImageFilter< TInputImage >::AllocateOutputs ( )
overrideprotectedvirtual

Pass the input through unmodified. Do this by Grafting in the AllocateOutputs method.

Reimplemented from itk::ImageSource< typename TOutputImage >.

◆ BeforeThreadedGenerateData()

template<typename TInputImage >
void rtk::TotalVariationImageFilter< TInputImage >::BeforeThreadedGenerateData ( )
overrideprotectedvirtual

Initialize some accumulators before the threads run.

Reimplemented from itk::ImageSource< typename TOutputImage >.

◆ CreateAnother()

template<typename TInputImage >
virtual::itk::LightObject::Pointer rtk::TotalVariationImageFilter< TInputImage >::CreateAnother ( ) const
virtual

Reimplemented from itk::Object.

◆ EnlargeOutputRequestedRegion()

template<typename TInputImage >
void rtk::TotalVariationImageFilter< TInputImage >::EnlargeOutputRequestedRegion ( itk::DataObject data)
overrideprotectedvirtual

Reimplemented from itk::ProcessObject.

◆ GenerateInputRequestedRegion()

template<typename TInputImage >
void rtk::TotalVariationImageFilter< TInputImage >::GenerateInputRequestedRegion ( )
overrideprotectedvirtual

Reimplemented from itk::ProcessObject.

◆ GetNameOfClass()

template<typename TInputImage >
const char* rtk::TotalVariationImageFilter< TInputImage >::GetNameOfClass ( ) const
overridevirtual

Runtime information support.

Reimplemented from itk::ImageSource< typename TOutputImage >.

◆ GetTotalVariation()

template<typename TInputImage >
RealType rtk::TotalVariationImageFilter< TInputImage >::GetTotalVariation ( ) const
inline

Return the computed Minimum.

Definition at line 90 of file rtkTotalVariationImageFilter.h.

◆ GetTotalVariationOutput() [1/2]

template<typename TInputImage >
RealObjectType* rtk::TotalVariationImageFilter< TInputImage >::GetTotalVariationOutput ( )

Return the computed Minimum.

◆ GetTotalVariationOutput() [2/2]

template<typename TInputImage >
const RealObjectType* rtk::TotalVariationImageFilter< TInputImage >::GetTotalVariationOutput ( ) const

◆ GetUseImageSpacing()

template<typename TInputImage >
virtual bool rtk::TotalVariationImageFilter< TInputImage >::GetUseImageSpacing ( ) const
virtual

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

◆ MakeOutput()

template<typename TInputImage >
DataObjectPointer rtk::TotalVariationImageFilter< TInputImage >::MakeOutput ( DataObjectPointerArraySizeType  output)
overridevirtual

◆ New()

template<typename TInputImage >
static Pointer rtk::TotalVariationImageFilter< TInputImage >::New ( )
static

Method for creation through the object factory.

◆ PrintSelf()

template<typename TInputImage >
void rtk::TotalVariationImageFilter< TInputImage >::PrintSelf ( std::ostream &  os,
itk::Indent  indent 
) const
overrideprotectedvirtual

◆ SetUseImageSpacing()

template<typename TInputImage >
virtual void rtk::TotalVariationImageFilter< TInputImage >::SetUseImageSpacing ( bool  _arg)
virtual

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

◆ SetUseImageSpacingOff()

template<typename TInputImage >
void rtk::TotalVariationImageFilter< TInputImage >::SetUseImageSpacingOff ( )
inline

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

Definition at line 123 of file rtkTotalVariationImageFilter.h.

◆ SetUseImageSpacingOn()

template<typename TInputImage >
void rtk::TotalVariationImageFilter< TInputImage >::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 115 of file rtkTotalVariationImageFilter.h.

◆ ThreadedGenerateData()

template<typename TInputImage >
void rtk::TotalVariationImageFilter< TInputImage >::ThreadedGenerateData ( const RegionType outputRegionForThread,
itk::ThreadIdType  threadId 
)
overrideprotected

Multi-thread version GenerateData.

Member Data Documentation

◆ ImageDimension

template<typename TInputImage >
constexpr unsigned int rtk::TotalVariationImageFilter< TInputImage >::ImageDimension = TInputImage::ImageDimension
static

Image related type alias.

Definition at line 76 of file rtkTotalVariationImageFilter.h.

◆ m_SumOfSquareRoots

template<typename TInputImage >
itk::Array<RealType> rtk::TotalVariationImageFilter< TInputImage >::m_SumOfSquareRoots
private

Definition at line 170 of file rtkTotalVariationImageFilter.h.

◆ m_UseImageSpacing

template<typename TInputImage >
bool rtk::TotalVariationImageFilter< TInputImage >::m_UseImageSpacing
protected

Definition at line 167 of file rtkTotalVariationImageFilter.h.


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