RTK  1.4.0
Reconstruction Toolkit
Public Types | Public Member Functions | Static Public Member Functions | Static Public Attributes | Protected Member Functions | Private Member Functions | List of all members
rtk::GetNewtonUpdateImageFilter< TGradient, THessian > Class Template Reference

#include <rtkGetNewtonUpdateImageFilter.h>

+ Inheritance diagram for rtk::GetNewtonUpdateImageFilter< TGradient, THessian >:
+ Collaboration diagram for rtk::GetNewtonUpdateImageFilter< TGradient, THessian >:

Public Types

typedef TGradient::PixelType::ValueType dataType
 
typedef itk::SmartPointer< SelfPointer
 
typedef GetNewtonUpdateImageFilter Self
 
typedef itk::ImageToImageFilter< TGradient, TGradient > Superclass
 

Public Member Functions

virtual ::itk::LightObject::Pointer CreateAnother () const
 
virtual const char * GetNameOfClass () const
 
void SetInputGradient (const TGradient *gradient)
 
void SetInputHessian (const THessian *hessian)
 

Static Public Member Functions

static Pointer New ()
 

Static Public Attributes

static const unsigned int nChannels = TGradient::PixelType::Dimension
 

Protected Member Functions

void GenerateInputRequestedRegion () override
 
 GetNewtonUpdateImageFilter ()
 
 ~GetNewtonUpdateImageFilter ()
 
void ThreadedGenerateData (const typename TGradient::RegionType &outputRegionForThread, itk::ThreadIdType) override
 
TGradient::ConstPointer GetInputGradient ()
 
THessian::ConstPointer GetInputHessian ()
 

Private Member Functions

 GetNewtonUpdateImageFilter (const Self &)
 
void operator= (const Self &)
 

Detailed Description

template<class TGradient, class THessian = itk::Image<itk::Vector<typename TGradient::PixelType::ValueType, TGradient::PixelType::Dimension * TGradient::PixelType::Dimension>, TGradient::ImageDimension >>
class rtk::GetNewtonUpdateImageFilter< TGradient, THessian >

Computes update from gradient and Hessian in Newton's method.

This filter takes in inputs the gradient G (input 1) and the Hessian H (input 2) of a cost function, and computes the update U (output), by U = H^{-1} * G. In Newton's method, the quantity to add to the current iterate in order to get the next iterate is actually -U, so the minus operation has to be handled downstream. It is assumed that the cost function is separable, so that each pixel can be processed independently and has its own small G, H and U

Author
Cyril Mory

Definition at line 43 of file rtkGetNewtonUpdateImageFilter.h.

Member Typedef Documentation

template<class TGradient , class THessian = itk::Image<itk::Vector<typename TGradient::PixelType::ValueType, TGradient::PixelType::Dimension * TGradient::PixelType::Dimension>, TGradient::ImageDimension >>
typedef TGradient::PixelType::ValueType rtk::GetNewtonUpdateImageFilter< TGradient, THessian >::dataType

Convenient typedef

Definition at line 61 of file rtkGetNewtonUpdateImageFilter.h.

template<class TGradient , class THessian = itk::Image<itk::Vector<typename TGradient::PixelType::ValueType, TGradient::PixelType::Dimension * TGradient::PixelType::Dimension>, TGradient::ImageDimension >>
typedef itk::SmartPointer< Self > rtk::GetNewtonUpdateImageFilter< TGradient, THessian >::Pointer

Definition at line 49 of file rtkGetNewtonUpdateImageFilter.h.

template<class TGradient , class THessian = itk::Image<itk::Vector<typename TGradient::PixelType::ValueType, TGradient::PixelType::Dimension * TGradient::PixelType::Dimension>, TGradient::ImageDimension >>
typedef GetNewtonUpdateImageFilter rtk::GetNewtonUpdateImageFilter< TGradient, THessian >::Self

Standard class typedefs.

Definition at line 47 of file rtkGetNewtonUpdateImageFilter.h.

template<class TGradient , class THessian = itk::Image<itk::Vector<typename TGradient::PixelType::ValueType, TGradient::PixelType::Dimension * TGradient::PixelType::Dimension>, TGradient::ImageDimension >>
typedef itk::ImageToImageFilter<TGradient, TGradient> rtk::GetNewtonUpdateImageFilter< TGradient, THessian >::Superclass

Definition at line 48 of file rtkGetNewtonUpdateImageFilter.h.

Constructor & Destructor Documentation

template<class TGradient , class THessian = itk::Image<itk::Vector<typename TGradient::PixelType::ValueType, TGradient::PixelType::Dimension * TGradient::PixelType::Dimension>, TGradient::ImageDimension >>
rtk::GetNewtonUpdateImageFilter< TGradient, THessian >::GetNewtonUpdateImageFilter ( )
protected
template<class TGradient , class THessian = itk::Image<itk::Vector<typename TGradient::PixelType::ValueType, TGradient::PixelType::Dimension * TGradient::PixelType::Dimension>, TGradient::ImageDimension >>
rtk::GetNewtonUpdateImageFilter< TGradient, THessian >::~GetNewtonUpdateImageFilter ( )
inlineprotected
template<class TGradient , class THessian = itk::Image<itk::Vector<typename TGradient::PixelType::ValueType, TGradient::PixelType::Dimension * TGradient::PixelType::Dimension>, TGradient::ImageDimension >>
rtk::GetNewtonUpdateImageFilter< TGradient, THessian >::GetNewtonUpdateImageFilter ( const Self )
private

Member Function Documentation

template<class TGradient , class THessian = itk::Image<itk::Vector<typename TGradient::PixelType::ValueType, TGradient::PixelType::Dimension * TGradient::PixelType::Dimension>, TGradient::ImageDimension >>
virtual::itk::LightObject::Pointer rtk::GetNewtonUpdateImageFilter< TGradient, THessian >::CreateAnother ( ) const
template<class TGradient , class THessian = itk::Image<itk::Vector<typename TGradient::PixelType::ValueType, TGradient::PixelType::Dimension * TGradient::PixelType::Dimension>, TGradient::ImageDimension >>
void rtk::GetNewtonUpdateImageFilter< TGradient, THessian >::GenerateInputRequestedRegion ( )
overrideprotected
template<class TGradient , class THessian = itk::Image<itk::Vector<typename TGradient::PixelType::ValueType, TGradient::PixelType::Dimension * TGradient::PixelType::Dimension>, TGradient::ImageDimension >>
TGradient::ConstPointer rtk::GetNewtonUpdateImageFilter< TGradient, THessian >::GetInputGradient ( )
protected
template<class TGradient , class THessian = itk::Image<itk::Vector<typename TGradient::PixelType::ValueType, TGradient::PixelType::Dimension * TGradient::PixelType::Dimension>, TGradient::ImageDimension >>
THessian::ConstPointer rtk::GetNewtonUpdateImageFilter< TGradient, THessian >::GetInputHessian ( )
protected
template<class TGradient , class THessian = itk::Image<itk::Vector<typename TGradient::PixelType::ValueType, TGradient::PixelType::Dimension * TGradient::PixelType::Dimension>, TGradient::ImageDimension >>
virtual const char* rtk::GetNewtonUpdateImageFilter< TGradient, THessian >::GetNameOfClass ( ) const
virtual

Run-time type information (and related methods).

Reimplemented from itk::ImageSource< TOutputImage >.

template<class TGradient , class THessian = itk::Image<itk::Vector<typename TGradient::PixelType::ValueType, TGradient::PixelType::Dimension * TGradient::PixelType::Dimension>, TGradient::ImageDimension >>
static Pointer rtk::GetNewtonUpdateImageFilter< TGradient, THessian >::New ( )
static

Method for creation through the object factory.

template<class TGradient , class THessian = itk::Image<itk::Vector<typename TGradient::PixelType::ValueType, TGradient::PixelType::Dimension * TGradient::PixelType::Dimension>, TGradient::ImageDimension >>
void rtk::GetNewtonUpdateImageFilter< TGradient, THessian >::operator= ( const Self )
private
template<class TGradient , class THessian = itk::Image<itk::Vector<typename TGradient::PixelType::ValueType, TGradient::PixelType::Dimension * TGradient::PixelType::Dimension>, TGradient::ImageDimension >>
void rtk::GetNewtonUpdateImageFilter< TGradient, THessian >::SetInputGradient ( const TGradient *  gradient)

Set methods for all inputs, since they have different types

template<class TGradient , class THessian = itk::Image<itk::Vector<typename TGradient::PixelType::ValueType, TGradient::PixelType::Dimension * TGradient::PixelType::Dimension>, TGradient::ImageDimension >>
void rtk::GetNewtonUpdateImageFilter< TGradient, THessian >::SetInputHessian ( const THessian *  hessian)

Set methods for all inputs, since they have different types

template<class TGradient , class THessian = itk::Image<itk::Vector<typename TGradient::PixelType::ValueType, TGradient::PixelType::Dimension * TGradient::PixelType::Dimension>, TGradient::ImageDimension >>
void rtk::GetNewtonUpdateImageFilter< TGradient, THessian >::ThreadedGenerateData ( const typename TGradient::RegionType outputRegionForThread,
itk::ThreadIdType   
)
overrideprotected

Member Data Documentation

template<class TGradient , class THessian = itk::Image<itk::Vector<typename TGradient::PixelType::ValueType, TGradient::PixelType::Dimension * TGradient::PixelType::Dimension>, TGradient::ImageDimension >>
const unsigned int rtk::GetNewtonUpdateImageFilter< TGradient, THessian >::nChannels = TGradient::PixelType::Dimension
static

Convenient parameters extracted from template types

Definition at line 58 of file rtkGetNewtonUpdateImageFilter.h.


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