RTK  2.0.1
Reconstruction Toolkit
Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes | List of all members
rtk::ConjugateGradientImageFilter< OutputImageType > Class Template Reference

#include <rtkConjugateGradientImageFilter.h>

+ Inheritance diagram for rtk::ConjugateGradientImageFilter< OutputImageType >:
+ Collaboration diagram for rtk::ConjugateGradientImageFilter< OutputImageType >:

Public Types

using ConjugateGradientOperatorPointerType = typename ConjugateGradientOperatorType::Pointer
 
using ConjugateGradientOperatorType = ConjugateGradientOperator< OutputImageType >
 
using OutputImagePointer = typename OutputImageType::Pointer
 
using Pointer = itk::SmartPointer< Self >
 
using Self = ConjugateGradientImageFilter
 
using Superclass = itk::InPlaceImageFilter< OutputImageType, OutputImageType >
 

Public Member Functions

virtual ::itk::LightObject::Pointer CreateAnother () const
 
virtual bool GetIterationCosts ()
 
virtual const char * GetNameOfClass () const
 
virtual int GetNumberOfIterations ()
 
const std::vector< double > & GetResidualCosts ()
 
void SetA (ConjugateGradientOperatorPointerType _arg)
 
void SetB (const OutputImageType *OutputImage)
 
virtual void SetIterationCosts (bool _arg)
 
virtual void SetNumberOfIterations (int _arg)
 
void SetX (const OutputImageType *OutputImage)
 
void SetC (const double _arg)
 
double GetC ()
 

Static Public Member Functions

static Pointer New ()
 

Protected Member Functions

 ConjugateGradientImageFilter ()
 
void GenerateData () override
 
OutputImagePointer GetB ()
 
OutputImagePointer GetX ()
 
 ~ConjugateGradientImageFilter () override=default
 
void GenerateInputRequestedRegion () override
 
void GenerateOutputInformation () override
 

Protected Attributes

ConjugateGradientOperatorPointerType m_A
 
double m_C
 
bool m_IterationCosts
 
int m_NumberOfIterations
 
std::vector< double > m_ResidualCosts
 

Detailed Description

template<typename OutputImageType>
class rtk::ConjugateGradientImageFilter< OutputImageType >

Solves AX = B by conjugate gradient.

ConjugateGradientImageFilter implements the algorithm described in http://en.wikipedia.org/wiki/Conjugate_gradient_method

Definition at line 46 of file rtkConjugateGradientImageFilter.h.

Member Typedef Documentation

template<typename OutputImageType >
using rtk::ConjugateGradientImageFilter< OutputImageType >::ConjugateGradientOperatorPointerType = typename ConjugateGradientOperatorType::Pointer

Definition at line 56 of file rtkConjugateGradientImageFilter.h.

template<typename OutputImageType >
using rtk::ConjugateGradientImageFilter< OutputImageType >::ConjugateGradientOperatorType = ConjugateGradientOperator<OutputImageType>

Definition at line 55 of file rtkConjugateGradientImageFilter.h.

template<typename OutputImageType >
using rtk::ConjugateGradientImageFilter< OutputImageType >::OutputImagePointer = typename OutputImageType::Pointer

Definition at line 57 of file rtkConjugateGradientImageFilter.h.

template<typename OutputImageType >
using rtk::ConjugateGradientImageFilter< OutputImageType >::Pointer = itk::SmartPointer< Self >

Definition at line 54 of file rtkConjugateGradientImageFilter.h.

template<typename OutputImageType >
using rtk::ConjugateGradientImageFilter< OutputImageType >::Self = ConjugateGradientImageFilter

Standard class type alias.

Definition at line 52 of file rtkConjugateGradientImageFilter.h.

template<typename OutputImageType >
using rtk::ConjugateGradientImageFilter< OutputImageType >::Superclass = itk::InPlaceImageFilter< OutputImageType, OutputImageType>

Definition at line 53 of file rtkConjugateGradientImageFilter.h.

Constructor & Destructor Documentation

template<typename OutputImageType >
rtk::ConjugateGradientImageFilter< OutputImageType >::ConjugateGradientImageFilter ( )
protected
template<typename OutputImageType >
rtk::ConjugateGradientImageFilter< OutputImageType >::~ConjugateGradientImageFilter ( )
overrideprotecteddefault

Member Function Documentation

template<typename OutputImageType >
virtual::itk::LightObject::Pointer rtk::ConjugateGradientImageFilter< OutputImageType >::CreateAnother ( ) const
template<typename OutputImageType >
void rtk::ConjugateGradientImageFilter< OutputImageType >::GenerateData ( )
overrideprotected

Does the real work.

template<typename OutputImageType >
void rtk::ConjugateGradientImageFilter< OutputImageType >::GenerateInputRequestedRegion ( )
overrideprotected

Conjugate gradient requires the whole image

template<typename OutputImageType >
void rtk::ConjugateGradientImageFilter< OutputImageType >::GenerateOutputInformation ( )
overrideprotected

Conjugate gradient requires the whole image

template<typename OutputImageType >
OutputImagePointer rtk::ConjugateGradientImageFilter< OutputImageType >::GetB ( )
protected
template<typename OutputImageType >
double rtk::ConjugateGradientImageFilter< OutputImageType >::GetC ( )

Set and Get the constant quantity BtWB for residual costs calculation

template<typename OutputImageType >
virtual bool rtk::ConjugateGradientImageFilter< OutputImageType >::GetIterationCosts ( )
virtual

Displays the conjugate gradient cost function at each iteration.

template<typename OutputImageType >
virtual const char* rtk::ConjugateGradientImageFilter< OutputImageType >::GetNameOfClass ( ) const
virtual

Run-time type information (and related methods).

Reimplemented from itk::ImageSource< TOutputImage >.

template<typename OutputImageType >
virtual int rtk::ConjugateGradientImageFilter< OutputImageType >::GetNumberOfIterations ( )
virtual

Get and Set macro

template<typename OutputImageType >
const std::vector<double>& rtk::ConjugateGradientImageFilter< OutputImageType >::GetResidualCosts ( )

Getter for ResidualCosts storing array

template<typename OutputImageType >
OutputImagePointer rtk::ConjugateGradientImageFilter< OutputImageType >::GetX ( )
protected
template<typename OutputImageType >
static Pointer rtk::ConjugateGradientImageFilter< OutputImageType >::New ( )
static

Method for creation through the object factory.

template<typename OutputImageType >
void rtk::ConjugateGradientImageFilter< OutputImageType >::SetA ( ConjugateGradientOperatorPointerType  _arg)
template<typename OutputImageType >
void rtk::ConjugateGradientImageFilter< OutputImageType >::SetB ( const OutputImageType *  OutputImage)

The image called "B" in the CG algorithm.

template<typename OutputImageType >
void rtk::ConjugateGradientImageFilter< OutputImageType >::SetC ( const double  _arg)

Set and Get the constant quantity BtWB for residual costs calculation

template<typename OutputImageType >
virtual void rtk::ConjugateGradientImageFilter< OutputImageType >::SetIterationCosts ( bool  _arg)
virtual
template<typename OutputImageType >
virtual void rtk::ConjugateGradientImageFilter< OutputImageType >::SetNumberOfIterations ( int  _arg)
virtual
template<typename OutputImageType >
void rtk::ConjugateGradientImageFilter< OutputImageType >::SetX ( const OutputImageType *  OutputImage)

The input image to be updated.

Member Data Documentation

template<typename OutputImageType >
ConjugateGradientOperatorPointerType rtk::ConjugateGradientImageFilter< OutputImageType >::m_A
protected

Definition at line 104 of file rtkConjugateGradientImageFilter.h.

template<typename OutputImageType >
double rtk::ConjugateGradientImageFilter< OutputImageType >::m_C
protected

Definition at line 109 of file rtkConjugateGradientImageFilter.h.

template<typename OutputImageType >
bool rtk::ConjugateGradientImageFilter< OutputImageType >::m_IterationCosts
protected

Definition at line 107 of file rtkConjugateGradientImageFilter.h.

template<typename OutputImageType >
int rtk::ConjugateGradientImageFilter< OutputImageType >::m_NumberOfIterations
protected

Definition at line 106 of file rtkConjugateGradientImageFilter.h.

template<typename OutputImageType >
std::vector<double> rtk::ConjugateGradientImageFilter< OutputImageType >::m_ResidualCosts
protected

Definition at line 108 of file rtkConjugateGradientImageFilter.h.


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