RTK  2.5.0
Reconstruction Toolkit
Public Types | Public Member Functions | Static Public Member Functions | Static Public Attributes | Protected Member Functions | List of all members
rtk::AddMatrixAndDiagonalImageFilter< TDiagonal, TMatrix > Class Template Reference

#include <rtkAddMatrixAndDiagonalImageFilter.h>

+ Inheritance diagram for rtk::AddMatrixAndDiagonalImageFilter< TDiagonal, TMatrix >:
+ Collaboration diagram for rtk::AddMatrixAndDiagonalImageFilter< TDiagonal, TMatrix >:

Public Types

using dataType = typename TDiagonal::PixelType::ValueType
 
using Pointer = itk::SmartPointer< Self >
 
using Self = AddMatrixAndDiagonalImageFilter
 
using Superclass = itk::ImageToImageFilter< TMatrix, TMatrix >
 

Public Member Functions

virtual ::itk::LightObject::Pointer CreateAnother () const
 
virtual const char * GetNameOfClass () const
 
void SetInputDiagonal (const TDiagonal *gradient)
 
void SetInputMatrix (const TMatrix *hessian)
 

Static Public Member Functions

static Pointer New ()
 

Static Public Attributes

static constexpr unsigned int nChannels = TDiagonal::PixelType::Dimension
 

Protected Member Functions

 AddMatrixAndDiagonalImageFilter ()
 
void DynamicThreadedGenerateData (const typename TDiagonal::RegionType &outputRegionForThread) override
 
void GenerateInputRequestedRegion () override
 
 ~AddMatrixAndDiagonalImageFilter () override=default
 
TDiagonal::ConstPointer GetInputDiagonal ()
 
TMatrix::ConstPointer GetInputMatrix ()
 

Detailed Description

template<class TDiagonal, class TMatrix = itk::Image<itk::Vector<typename TDiagonal::PixelType::ValueType, TDiagonal::PixelType::Dimension * TDiagonal::PixelType::Dimension>, TDiagonal::ImageDimension>>
class rtk::AddMatrixAndDiagonalImageFilter< TDiagonal, TMatrix >

For each vector-valued pixel, adds a vector to the diagonal of a matrix.

This filter takes in input an image of vectors of length n (input 1) and an image of vectors of length n*n (input 2). The vectors in input 2 are used as n*n matrices, and those in input 1 are assumed to be a compact representation of diagonal matrices of size n*n (thus with only n non-null values).

Author
Cyril Mory

Definition at line 44 of file rtkAddMatrixAndDiagonalImageFilter.h.

Member Typedef Documentation

◆ dataType

template<class TDiagonal , class TMatrix = itk::Image<itk::Vector<typename TDiagonal::PixelType::ValueType, TDiagonal::PixelType::Dimension * TDiagonal::PixelType::Dimension>, TDiagonal::ImageDimension>>
using rtk::AddMatrixAndDiagonalImageFilter< TDiagonal, TMatrix >::dataType = typename TDiagonal::PixelType::ValueType

Convenient type alias

Definition at line 69 of file rtkAddMatrixAndDiagonalImageFilter.h.

◆ Pointer

template<class TDiagonal , class TMatrix = itk::Image<itk::Vector<typename TDiagonal::PixelType::ValueType, TDiagonal::PixelType::Dimension * TDiagonal::PixelType::Dimension>, TDiagonal::ImageDimension>>
using rtk::AddMatrixAndDiagonalImageFilter< TDiagonal, TMatrix >::Pointer = itk::SmartPointer<Self>

Definition at line 52 of file rtkAddMatrixAndDiagonalImageFilter.h.

◆ Self

template<class TDiagonal , class TMatrix = itk::Image<itk::Vector<typename TDiagonal::PixelType::ValueType, TDiagonal::PixelType::Dimension * TDiagonal::PixelType::Dimension>, TDiagonal::ImageDimension>>
using rtk::AddMatrixAndDiagonalImageFilter< TDiagonal, TMatrix >::Self = AddMatrixAndDiagonalImageFilter

Standard class type alias.

Definition at line 50 of file rtkAddMatrixAndDiagonalImageFilter.h.

◆ Superclass

template<class TDiagonal , class TMatrix = itk::Image<itk::Vector<typename TDiagonal::PixelType::ValueType, TDiagonal::PixelType::Dimension * TDiagonal::PixelType::Dimension>, TDiagonal::ImageDimension>>
using rtk::AddMatrixAndDiagonalImageFilter< TDiagonal, TMatrix >::Superclass = itk::ImageToImageFilter<TMatrix, TMatrix>

Definition at line 51 of file rtkAddMatrixAndDiagonalImageFilter.h.

Constructor & Destructor Documentation

◆ AddMatrixAndDiagonalImageFilter()

template<class TDiagonal , class TMatrix = itk::Image<itk::Vector<typename TDiagonal::PixelType::ValueType, TDiagonal::PixelType::Dimension * TDiagonal::PixelType::Dimension>, TDiagonal::ImageDimension>>
rtk::AddMatrixAndDiagonalImageFilter< TDiagonal, TMatrix >::AddMatrixAndDiagonalImageFilter ( )
protected

◆ ~AddMatrixAndDiagonalImageFilter()

template<class TDiagonal , class TMatrix = itk::Image<itk::Vector<typename TDiagonal::PixelType::ValueType, TDiagonal::PixelType::Dimension * TDiagonal::PixelType::Dimension>, TDiagonal::ImageDimension>>
rtk::AddMatrixAndDiagonalImageFilter< TDiagonal, TMatrix >::~AddMatrixAndDiagonalImageFilter ( )
overrideprotecteddefault

Member Function Documentation

◆ CreateAnother()

template<class TDiagonal , class TMatrix = itk::Image<itk::Vector<typename TDiagonal::PixelType::ValueType, TDiagonal::PixelType::Dimension * TDiagonal::PixelType::Dimension>, TDiagonal::ImageDimension>>
virtual::itk::LightObject::Pointer rtk::AddMatrixAndDiagonalImageFilter< TDiagonal, TMatrix >::CreateAnother ( ) const
virtual

Reimplemented from itk::Object.

◆ DynamicThreadedGenerateData()

template<class TDiagonal , class TMatrix = itk::Image<itk::Vector<typename TDiagonal::PixelType::ValueType, TDiagonal::PixelType::Dimension * TDiagonal::PixelType::Dimension>, TDiagonal::ImageDimension>>
void rtk::AddMatrixAndDiagonalImageFilter< TDiagonal, TMatrix >::DynamicThreadedGenerateData ( const typename TDiagonal::RegionType outputRegionForThread)
overrideprotected

Does the real work.

◆ GenerateInputRequestedRegion()

template<class TDiagonal , class TMatrix = itk::Image<itk::Vector<typename TDiagonal::PixelType::ValueType, TDiagonal::PixelType::Dimension * TDiagonal::PixelType::Dimension>, TDiagonal::ImageDimension>>
void rtk::AddMatrixAndDiagonalImageFilter< TDiagonal, TMatrix >::GenerateInputRequestedRegion ( )
overrideprotectedvirtual

Reimplemented from itk::ProcessObject.

◆ GetInputDiagonal()

template<class TDiagonal , class TMatrix = itk::Image<itk::Vector<typename TDiagonal::PixelType::ValueType, TDiagonal::PixelType::Dimension * TDiagonal::PixelType::Dimension>, TDiagonal::ImageDimension>>
TDiagonal::ConstPointer rtk::AddMatrixAndDiagonalImageFilter< TDiagonal, TMatrix >::GetInputDiagonal ( )
protected

Getters for the inputs

◆ GetInputMatrix()

template<class TDiagonal , class TMatrix = itk::Image<itk::Vector<typename TDiagonal::PixelType::ValueType, TDiagonal::PixelType::Dimension * TDiagonal::PixelType::Dimension>, TDiagonal::ImageDimension>>
TMatrix::ConstPointer rtk::AddMatrixAndDiagonalImageFilter< TDiagonal, TMatrix >::GetInputMatrix ( )
protected

Getters for the inputs

◆ GetNameOfClass()

template<class TDiagonal , class TMatrix = itk::Image<itk::Vector<typename TDiagonal::PixelType::ValueType, TDiagonal::PixelType::Dimension * TDiagonal::PixelType::Dimension>, TDiagonal::ImageDimension>>
virtual const char* rtk::AddMatrixAndDiagonalImageFilter< TDiagonal, TMatrix >::GetNameOfClass ( ) const
virtual

Run-time type information (and related methods).

Reimplemented from itk::ImageSource< TOutputImage >.

◆ New()

template<class TDiagonal , class TMatrix = itk::Image<itk::Vector<typename TDiagonal::PixelType::ValueType, TDiagonal::PixelType::Dimension * TDiagonal::PixelType::Dimension>, TDiagonal::ImageDimension>>
static Pointer rtk::AddMatrixAndDiagonalImageFilter< TDiagonal, TMatrix >::New ( )
static

Method for creation through the object factory.

◆ SetInputDiagonal()

template<class TDiagonal , class TMatrix = itk::Image<itk::Vector<typename TDiagonal::PixelType::ValueType, TDiagonal::PixelType::Dimension * TDiagonal::PixelType::Dimension>, TDiagonal::ImageDimension>>
void rtk::AddMatrixAndDiagonalImageFilter< TDiagonal, TMatrix >::SetInputDiagonal ( const TDiagonal *  gradient)

Set methods for all inputs, since they have different types

◆ SetInputMatrix()

template<class TDiagonal , class TMatrix = itk::Image<itk::Vector<typename TDiagonal::PixelType::ValueType, TDiagonal::PixelType::Dimension * TDiagonal::PixelType::Dimension>, TDiagonal::ImageDimension>>
void rtk::AddMatrixAndDiagonalImageFilter< TDiagonal, TMatrix >::SetInputMatrix ( const TMatrix *  hessian)

Set methods for all inputs, since they have different types

Member Data Documentation

◆ nChannels

template<class TDiagonal , class TMatrix = itk::Image<itk::Vector<typename TDiagonal::PixelType::ValueType, TDiagonal::PixelType::Dimension * TDiagonal::PixelType::Dimension>, TDiagonal::ImageDimension>>
constexpr unsigned int rtk::AddMatrixAndDiagonalImageFilter< TDiagonal, TMatrix >::nChannels = TDiagonal::PixelType::Dimension
static

Convenient parameters extracted from template types

Definition at line 66 of file rtkAddMatrixAndDiagonalImageFilter.h.


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