RTK  2.0.0
Reconstruction Toolkit
Public Types | Public Member Functions | Static Public Member Functions | Static Public Attributes | Protected 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

using dataType = typename TGradient::PixelType::ValueType
 
using Pointer = itk::SmartPointer< Self >
 
using Self = GetNewtonUpdateImageFilter
 
using Superclass = itk::ImageToImageFilter< TGradient, TGradient >
 

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 constexpr unsigned int nChannels = TGradient::PixelType::Dimension
 

Protected Member Functions

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

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 >>
using rtk::GetNewtonUpdateImageFilter< TGradient, THessian >::dataType = typename TGradient::PixelType::ValueType

Convenient type alias

Definition at line 63 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 >>
using rtk::GetNewtonUpdateImageFilter< TGradient, THessian >::Pointer = itk::SmartPointer< Self >

Definition at line 51 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 >>
using rtk::GetNewtonUpdateImageFilter< TGradient, THessian >::Self = GetNewtonUpdateImageFilter

Standard class type alias.

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 >>
using rtk::GetNewtonUpdateImageFilter< TGradient, THessian >::Superclass = itk::ImageToImageFilter<TGradient, TGradient>

Definition at line 50 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 ( )
overrideprotecteddefault

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

Getters for the inputs

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

Getters for the inputs

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 >::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

Does the real work.

Member Data Documentation

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

Convenient parameters extracted from template types

Definition at line 60 of file rtkGetNewtonUpdateImageFilter.h.


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