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::UnwarpSequenceConjugateGradientOperator< TImageSequence, TDVFImageSequence, TImage, TDVFImage > Class Template Reference

#include <rtkUnwarpSequenceConjugateGradientOperator.h>

+ Inheritance diagram for rtk::UnwarpSequenceConjugateGradientOperator< TImageSequence, TDVFImageSequence, TImage, TDVFImage >:
+ Collaboration diagram for rtk::UnwarpSequenceConjugateGradientOperator< TImageSequence, TDVFImageSequence, TImage, TDVFImage >:

Public Types

using Pointer = itk::SmartPointer< Self >
 
using Self = UnwarpSequenceConjugateGradientOperator
 
using Superclass = ConjugateGradientOperator< TImageSequence >
 
using WarpSequenceFilterType = rtk::WarpSequenceImageFilter< TImageSequence, TDVFImageSequence, TImage, TDVFImage >
 
- Public Types inherited from rtk::ConjugateGradientOperator< TImageSequence >
using Pointer = itk::SmartPointer< Self >
 
using Self = ConjugateGradientOperator
 
using Superclass = itk::ImageToImageFilter< TImageSequence, TImageSequence >
 

Public Member Functions

virtual ::itk::LightObject::Pointer CreateAnother () const
 
TDVFImageSequence::Pointer GetDisplacementField ()
 
virtual const char * GetNameOfClass () const
 
virtual float GetPhaseShift ()
 
virtual bool GetUseCudaCyclicDeformation ()
 
virtual bool GetUseNearestNeighborInterpolationInWarping ()
 
void SetDisplacementField (const TDVFImageSequence *DVFs)
 
virtual void SetPhaseShift (float _arg)
 
virtual void SetUseCudaCyclicDeformation (bool _arg)
 
virtual void SetUseNearestNeighborInterpolationInWarping (bool _arg)
 
- Public Member Functions inherited from rtk::ConjugateGradientOperator< TImageSequence >
virtual ::itk::LightObject::Pointer CreateAnother () const
 
virtual void SetX (const TImageSequence *OutputImage)
 

Static Public Member Functions

static Pointer New ()
 
- Static Public Member Functions inherited from rtk::ConjugateGradientOperator< TImageSequence >
static Pointer New ()
 

Protected Member Functions

void GenerateData () override
 
 UnwarpSequenceConjugateGradientOperator ()
 
 ~UnwarpSequenceConjugateGradientOperator () override=default
 
void VerifyInputInformation () override
 
void GenerateInputRequestedRegion () override
 
void GenerateOutputInformation () override
 
- Protected Member Functions inherited from rtk::ConjugateGradientOperator< TImageSequence >
 ConjugateGradientOperator ()
 
 ~ConjugateGradientOperator () override=default
 

Protected Attributes

float m_PhaseShift
 
bool m_UseCudaCyclicDeformation
 
bool m_UseNearestNeighborInterpolationInWarping
 
WarpSequenceFilterType::Pointer m_WarpSequenceBackwardFilter
 
WarpSequenceFilterType::Pointer m_WarpSequenceForwardFilter
 

Detailed Description

template<typename TImageSequence, typename TDVFImageSequence = itk::Image< itk::CovariantVector < typename TImageSequence::ValueType, TImageSequence::ImageDimension-1 >, TImageSequence::ImageDimension >, typename TImage = itk::Image< typename TImageSequence::ValueType, TImageSequence::ImageDimension-1 >, typename TDVFImage = itk::Image<itk::CovariantVector < typename TImageSequence::ValueType, TImageSequence::ImageDimension - 1 >, TImageSequence::ImageDimension - 1>>
class rtk::UnwarpSequenceConjugateGradientOperator< TImageSequence, TDVFImageSequence, TImage, TDVFImage >

Implements the operator A used in the conjugate gradient unwarp sequence filter.

dot_inline_dotgraph_32.png
Test:
rtkunwarpsequencetest.cxx
Author
Cyril Mory

Definition at line 68 of file rtkUnwarpSequenceConjugateGradientOperator.h.

Member Typedef Documentation

template<typename TImageSequence , typename TDVFImageSequence = itk::Image< itk::CovariantVector < typename TImageSequence::ValueType, TImageSequence::ImageDimension-1 >, TImageSequence::ImageDimension >, typename TImage = itk::Image< typename TImageSequence::ValueType, TImageSequence::ImageDimension-1 >, typename TDVFImage = itk::Image<itk::CovariantVector < typename TImageSequence::ValueType, TImageSequence::ImageDimension - 1 >, TImageSequence::ImageDimension - 1>>
using rtk::UnwarpSequenceConjugateGradientOperator< TImageSequence, TDVFImageSequence, TImage, TDVFImage >::Pointer = itk::SmartPointer< Self >

Definition at line 76 of file rtkUnwarpSequenceConjugateGradientOperator.h.

template<typename TImageSequence , typename TDVFImageSequence = itk::Image< itk::CovariantVector < typename TImageSequence::ValueType, TImageSequence::ImageDimension-1 >, TImageSequence::ImageDimension >, typename TImage = itk::Image< typename TImageSequence::ValueType, TImageSequence::ImageDimension-1 >, typename TDVFImage = itk::Image<itk::CovariantVector < typename TImageSequence::ValueType, TImageSequence::ImageDimension - 1 >, TImageSequence::ImageDimension - 1>>
using rtk::UnwarpSequenceConjugateGradientOperator< TImageSequence, TDVFImageSequence, TImage, TDVFImage >::Self = UnwarpSequenceConjugateGradientOperator

Standard class type alias.

Definition at line 74 of file rtkUnwarpSequenceConjugateGradientOperator.h.

template<typename TImageSequence , typename TDVFImageSequence = itk::Image< itk::CovariantVector < typename TImageSequence::ValueType, TImageSequence::ImageDimension-1 >, TImageSequence::ImageDimension >, typename TImage = itk::Image< typename TImageSequence::ValueType, TImageSequence::ImageDimension-1 >, typename TDVFImage = itk::Image<itk::CovariantVector < typename TImageSequence::ValueType, TImageSequence::ImageDimension - 1 >, TImageSequence::ImageDimension - 1>>
using rtk::UnwarpSequenceConjugateGradientOperator< TImageSequence, TDVFImageSequence, TImage, TDVFImage >::Superclass = ConjugateGradientOperator< TImageSequence >

Definition at line 75 of file rtkUnwarpSequenceConjugateGradientOperator.h.

template<typename TImageSequence , typename TDVFImageSequence = itk::Image< itk::CovariantVector < typename TImageSequence::ValueType, TImageSequence::ImageDimension-1 >, TImageSequence::ImageDimension >, typename TImage = itk::Image< typename TImageSequence::ValueType, TImageSequence::ImageDimension-1 >, typename TDVFImage = itk::Image<itk::CovariantVector < typename TImageSequence::ValueType, TImageSequence::ImageDimension - 1 >, TImageSequence::ImageDimension - 1>>
using rtk::UnwarpSequenceConjugateGradientOperator< TImageSequence, TDVFImageSequence, TImage, TDVFImage >::WarpSequenceFilterType = rtk::WarpSequenceImageFilter<TImageSequence, TDVFImageSequence, TImage, TDVFImage>

Definition at line 84 of file rtkUnwarpSequenceConjugateGradientOperator.h.

Constructor & Destructor Documentation

template<typename TImageSequence , typename TDVFImageSequence = itk::Image< itk::CovariantVector < typename TImageSequence::ValueType, TImageSequence::ImageDimension-1 >, TImageSequence::ImageDimension >, typename TImage = itk::Image< typename TImageSequence::ValueType, TImageSequence::ImageDimension-1 >, typename TDVFImage = itk::Image<itk::CovariantVector < typename TImageSequence::ValueType, TImageSequence::ImageDimension - 1 >, TImageSequence::ImageDimension - 1>>
rtk::UnwarpSequenceConjugateGradientOperator< TImageSequence, TDVFImageSequence, TImage, TDVFImage >::UnwarpSequenceConjugateGradientOperator ( )
protected
template<typename TImageSequence , typename TDVFImageSequence = itk::Image< itk::CovariantVector < typename TImageSequence::ValueType, TImageSequence::ImageDimension-1 >, TImageSequence::ImageDimension >, typename TImage = itk::Image< typename TImageSequence::ValueType, TImageSequence::ImageDimension-1 >, typename TDVFImage = itk::Image<itk::CovariantVector < typename TImageSequence::ValueType, TImageSequence::ImageDimension - 1 >, TImageSequence::ImageDimension - 1>>
rtk::UnwarpSequenceConjugateGradientOperator< TImageSequence, TDVFImageSequence, TImage, TDVFImage >::~UnwarpSequenceConjugateGradientOperator ( )
overrideprotecteddefault

Member Function Documentation

template<typename TImageSequence , typename TDVFImageSequence = itk::Image< itk::CovariantVector < typename TImageSequence::ValueType, TImageSequence::ImageDimension-1 >, TImageSequence::ImageDimension >, typename TImage = itk::Image< typename TImageSequence::ValueType, TImageSequence::ImageDimension-1 >, typename TDVFImage = itk::Image<itk::CovariantVector < typename TImageSequence::ValueType, TImageSequence::ImageDimension - 1 >, TImageSequence::ImageDimension - 1>>
virtual::itk::LightObject::Pointer rtk::UnwarpSequenceConjugateGradientOperator< TImageSequence, TDVFImageSequence, TImage, TDVFImage >::CreateAnother ( ) const
virtual

Reimplemented from itk::Object.

template<typename TImageSequence , typename TDVFImageSequence = itk::Image< itk::CovariantVector < typename TImageSequence::ValueType, TImageSequence::ImageDimension-1 >, TImageSequence::ImageDimension >, typename TImage = itk::Image< typename TImageSequence::ValueType, TImageSequence::ImageDimension-1 >, typename TDVFImage = itk::Image<itk::CovariantVector < typename TImageSequence::ValueType, TImageSequence::ImageDimension - 1 >, TImageSequence::ImageDimension - 1>>
void rtk::UnwarpSequenceConjugateGradientOperator< TImageSequence, TDVFImageSequence, TImage, TDVFImage >::GenerateData ( )
overrideprotectedvirtual

Does the real work.

Reimplemented from itk::ImageSource< TOutputImage >.

template<typename TImageSequence , typename TDVFImageSequence = itk::Image< itk::CovariantVector < typename TImageSequence::ValueType, TImageSequence::ImageDimension-1 >, TImageSequence::ImageDimension >, typename TImage = itk::Image< typename TImageSequence::ValueType, TImageSequence::ImageDimension-1 >, typename TDVFImage = itk::Image<itk::CovariantVector < typename TImageSequence::ValueType, TImageSequence::ImageDimension - 1 >, TImageSequence::ImageDimension - 1>>
void rtk::UnwarpSequenceConjugateGradientOperator< TImageSequence, TDVFImageSequence, TImage, TDVFImage >::GenerateInputRequestedRegion ( )
overrideprotectedvirtual

The volume and the projections must have different requested regions

Reimplemented from itk::ProcessObject.

Referenced by rtk::UnwarpSequenceConjugateGradientOperator< TImageSequence, TDVFImageSequence, TImage, TDVFImage >::VerifyInputInformation().

template<typename TImageSequence , typename TDVFImageSequence = itk::Image< itk::CovariantVector < typename TImageSequence::ValueType, TImageSequence::ImageDimension-1 >, TImageSequence::ImageDimension >, typename TImage = itk::Image< typename TImageSequence::ValueType, TImageSequence::ImageDimension-1 >, typename TDVFImage = itk::Image<itk::CovariantVector < typename TImageSequence::ValueType, TImageSequence::ImageDimension - 1 >, TImageSequence::ImageDimension - 1>>
void rtk::UnwarpSequenceConjugateGradientOperator< TImageSequence, TDVFImageSequence, TImage, TDVFImage >::GenerateOutputInformation ( )
overrideprotectedvirtual

The volume and the projections must have different requested regions

Reimplemented from itk::ProcessObject.

Referenced by rtk::UnwarpSequenceConjugateGradientOperator< TImageSequence, TDVFImageSequence, TImage, TDVFImage >::VerifyInputInformation().

template<typename TImageSequence , typename TDVFImageSequence = itk::Image< itk::CovariantVector < typename TImageSequence::ValueType, TImageSequence::ImageDimension-1 >, TImageSequence::ImageDimension >, typename TImage = itk::Image< typename TImageSequence::ValueType, TImageSequence::ImageDimension-1 >, typename TDVFImage = itk::Image<itk::CovariantVector < typename TImageSequence::ValueType, TImageSequence::ImageDimension - 1 >, TImageSequence::ImageDimension - 1>>
TDVFImageSequence::Pointer rtk::UnwarpSequenceConjugateGradientOperator< TImageSequence, TDVFImageSequence, TImage, TDVFImage >::GetDisplacementField ( )

Get the motion vector field used in input 1

template<typename TImageSequence , typename TDVFImageSequence = itk::Image< itk::CovariantVector < typename TImageSequence::ValueType, TImageSequence::ImageDimension-1 >, TImageSequence::ImageDimension >, typename TImage = itk::Image< typename TImageSequence::ValueType, TImageSequence::ImageDimension-1 >, typename TDVFImage = itk::Image<itk::CovariantVector < typename TImageSequence::ValueType, TImageSequence::ImageDimension - 1 >, TImageSequence::ImageDimension - 1>>
virtual const char* rtk::UnwarpSequenceConjugateGradientOperator< TImageSequence, TDVFImageSequence, TImage, TDVFImage >::GetNameOfClass ( ) const
virtual

Run-time type information (and related methods).

Reimplemented from rtk::ConjugateGradientOperator< TImageSequence >.

template<typename TImageSequence , typename TDVFImageSequence = itk::Image< itk::CovariantVector < typename TImageSequence::ValueType, TImageSequence::ImageDimension-1 >, TImageSequence::ImageDimension >, typename TImage = itk::Image< typename TImageSequence::ValueType, TImageSequence::ImageDimension-1 >, typename TDVFImage = itk::Image<itk::CovariantVector < typename TImageSequence::ValueType, TImageSequence::ImageDimension - 1 >, TImageSequence::ImageDimension - 1>>
virtual float rtk::UnwarpSequenceConjugateGradientOperator< TImageSequence, TDVFImageSequence, TImage, TDVFImage >::GetPhaseShift ( )
virtual
template<typename TImageSequence , typename TDVFImageSequence = itk::Image< itk::CovariantVector < typename TImageSequence::ValueType, TImageSequence::ImageDimension-1 >, TImageSequence::ImageDimension >, typename TImage = itk::Image< typename TImageSequence::ValueType, TImageSequence::ImageDimension-1 >, typename TDVFImage = itk::Image<itk::CovariantVector < typename TImageSequence::ValueType, TImageSequence::ImageDimension - 1 >, TImageSequence::ImageDimension - 1>>
virtual bool rtk::UnwarpSequenceConjugateGradientOperator< TImageSequence, TDVFImageSequence, TImage, TDVFImage >::GetUseCudaCyclicDeformation ( )
virtual
template<typename TImageSequence , typename TDVFImageSequence = itk::Image< itk::CovariantVector < typename TImageSequence::ValueType, TImageSequence::ImageDimension-1 >, TImageSequence::ImageDimension >, typename TImage = itk::Image< typename TImageSequence::ValueType, TImageSequence::ImageDimension-1 >, typename TDVFImage = itk::Image<itk::CovariantVector < typename TImageSequence::ValueType, TImageSequence::ImageDimension - 1 >, TImageSequence::ImageDimension - 1>>
virtual bool rtk::UnwarpSequenceConjugateGradientOperator< TImageSequence, TDVFImageSequence, TImage, TDVFImage >::GetUseNearestNeighborInterpolationInWarping ( )
virtual
template<typename TImageSequence , typename TDVFImageSequence = itk::Image< itk::CovariantVector < typename TImageSequence::ValueType, TImageSequence::ImageDimension-1 >, TImageSequence::ImageDimension >, typename TImage = itk::Image< typename TImageSequence::ValueType, TImageSequence::ImageDimension-1 >, typename TDVFImage = itk::Image<itk::CovariantVector < typename TImageSequence::ValueType, TImageSequence::ImageDimension - 1 >, TImageSequence::ImageDimension - 1>>
static Pointer rtk::UnwarpSequenceConjugateGradientOperator< TImageSequence, TDVFImageSequence, TImage, TDVFImage >::New ( )
static

Method for creation through the object factory.

template<typename TImageSequence , typename TDVFImageSequence = itk::Image< itk::CovariantVector < typename TImageSequence::ValueType, TImageSequence::ImageDimension-1 >, TImageSequence::ImageDimension >, typename TImage = itk::Image< typename TImageSequence::ValueType, TImageSequence::ImageDimension-1 >, typename TDVFImage = itk::Image<itk::CovariantVector < typename TImageSequence::ValueType, TImageSequence::ImageDimension - 1 >, TImageSequence::ImageDimension - 1>>
void rtk::UnwarpSequenceConjugateGradientOperator< TImageSequence, TDVFImageSequence, TImage, TDVFImage >::SetDisplacementField ( const TDVFImageSequence *  DVFs)

Set the motion vector field used in input 1

template<typename TImageSequence , typename TDVFImageSequence = itk::Image< itk::CovariantVector < typename TImageSequence::ValueType, TImageSequence::ImageDimension-1 >, TImageSequence::ImageDimension >, typename TImage = itk::Image< typename TImageSequence::ValueType, TImageSequence::ImageDimension-1 >, typename TDVFImage = itk::Image<itk::CovariantVector < typename TImageSequence::ValueType, TImageSequence::ImageDimension - 1 >, TImageSequence::ImageDimension - 1>>
virtual void rtk::UnwarpSequenceConjugateGradientOperator< TImageSequence, TDVFImageSequence, TImage, TDVFImage >::SetPhaseShift ( float  _arg)
virtual

Phase shift to simulate phase estimation errors

template<typename TImageSequence , typename TDVFImageSequence = itk::Image< itk::CovariantVector < typename TImageSequence::ValueType, TImageSequence::ImageDimension-1 >, TImageSequence::ImageDimension >, typename TImage = itk::Image< typename TImageSequence::ValueType, TImageSequence::ImageDimension-1 >, typename TDVFImage = itk::Image<itk::CovariantVector < typename TImageSequence::ValueType, TImageSequence::ImageDimension - 1 >, TImageSequence::ImageDimension - 1>>
virtual void rtk::UnwarpSequenceConjugateGradientOperator< TImageSequence, TDVFImageSequence, TImage, TDVFImage >::SetUseCudaCyclicDeformation ( bool  _arg)
virtual

Set and Get for the UseCudaCyclicDeformation variable

template<typename TImageSequence , typename TDVFImageSequence = itk::Image< itk::CovariantVector < typename TImageSequence::ValueType, TImageSequence::ImageDimension-1 >, TImageSequence::ImageDimension >, typename TImage = itk::Image< typename TImageSequence::ValueType, TImageSequence::ImageDimension-1 >, typename TDVFImage = itk::Image<itk::CovariantVector < typename TImageSequence::ValueType, TImageSequence::ImageDimension - 1 >, TImageSequence::ImageDimension - 1>>
virtual void rtk::UnwarpSequenceConjugateGradientOperator< TImageSequence, TDVFImageSequence, TImage, TDVFImage >::SetUseNearestNeighborInterpolationInWarping ( bool  _arg)
virtual
template<typename TImageSequence , typename TDVFImageSequence = itk::Image< itk::CovariantVector < typename TImageSequence::ValueType, TImageSequence::ImageDimension-1 >, TImageSequence::ImageDimension >, typename TImage = itk::Image< typename TImageSequence::ValueType, TImageSequence::ImageDimension-1 >, typename TDVFImage = itk::Image<itk::CovariantVector < typename TImageSequence::ValueType, TImageSequence::ImageDimension - 1 >, TImageSequence::ImageDimension - 1>>
void rtk::UnwarpSequenceConjugateGradientOperator< TImageSequence, TDVFImageSequence, TImage, TDVFImage >::VerifyInputInformation ( )
inlineoverrideprotectedvirtual

When the inputs have the same type, ITK checks whether they occupy the same physical space or not. Obviously they dont, so we have to remove this check

Reimplemented from itk::ProcessObject.

Definition at line 121 of file rtkUnwarpSequenceConjugateGradientOperator.h.

References rtk::UnwarpSequenceConjugateGradientOperator< TImageSequence, TDVFImageSequence, TImage, TDVFImage >::GenerateInputRequestedRegion(), and rtk::UnwarpSequenceConjugateGradientOperator< TImageSequence, TDVFImageSequence, TImage, TDVFImage >::GenerateOutputInformation().

Member Data Documentation

template<typename TImageSequence , typename TDVFImageSequence = itk::Image< itk::CovariantVector < typename TImageSequence::ValueType, TImageSequence::ImageDimension-1 >, TImageSequence::ImageDimension >, typename TImage = itk::Image< typename TImageSequence::ValueType, TImageSequence::ImageDimension-1 >, typename TDVFImage = itk::Image<itk::CovariantVector < typename TImageSequence::ValueType, TImageSequence::ImageDimension - 1 >, TImageSequence::ImageDimension - 1>>
float rtk::UnwarpSequenceConjugateGradientOperator< TImageSequence, TDVFImageSequence, TImage, TDVFImage >::m_PhaseShift
protected
template<typename TImageSequence , typename TDVFImageSequence = itk::Image< itk::CovariantVector < typename TImageSequence::ValueType, TImageSequence::ImageDimension-1 >, TImageSequence::ImageDimension >, typename TImage = itk::Image< typename TImageSequence::ValueType, TImageSequence::ImageDimension-1 >, typename TDVFImage = itk::Image<itk::CovariantVector < typename TImageSequence::ValueType, TImageSequence::ImageDimension - 1 >, TImageSequence::ImageDimension - 1>>
bool rtk::UnwarpSequenceConjugateGradientOperator< TImageSequence, TDVFImageSequence, TImage, TDVFImage >::m_UseCudaCyclicDeformation
protected
template<typename TImageSequence , typename TDVFImageSequence = itk::Image< itk::CovariantVector < typename TImageSequence::ValueType, TImageSequence::ImageDimension-1 >, TImageSequence::ImageDimension >, typename TImage = itk::Image< typename TImageSequence::ValueType, TImageSequence::ImageDimension-1 >, typename TDVFImage = itk::Image<itk::CovariantVector < typename TImageSequence::ValueType, TImageSequence::ImageDimension - 1 >, TImageSequence::ImageDimension - 1>>
bool rtk::UnwarpSequenceConjugateGradientOperator< TImageSequence, TDVFImageSequence, TImage, TDVFImage >::m_UseNearestNeighborInterpolationInWarping
protected
template<typename TImageSequence , typename TDVFImageSequence = itk::Image< itk::CovariantVector < typename TImageSequence::ValueType, TImageSequence::ImageDimension-1 >, TImageSequence::ImageDimension >, typename TImage = itk::Image< typename TImageSequence::ValueType, TImageSequence::ImageDimension-1 >, typename TDVFImage = itk::Image<itk::CovariantVector < typename TImageSequence::ValueType, TImageSequence::ImageDimension - 1 >, TImageSequence::ImageDimension - 1>>
WarpSequenceFilterType::Pointer rtk::UnwarpSequenceConjugateGradientOperator< TImageSequence, TDVFImageSequence, TImage, TDVFImage >::m_WarpSequenceBackwardFilter
protected

Member pointers to the filters used internally (for convenience)

Definition at line 111 of file rtkUnwarpSequenceConjugateGradientOperator.h.

template<typename TImageSequence , typename TDVFImageSequence = itk::Image< itk::CovariantVector < typename TImageSequence::ValueType, TImageSequence::ImageDimension-1 >, TImageSequence::ImageDimension >, typename TImage = itk::Image< typename TImageSequence::ValueType, TImageSequence::ImageDimension-1 >, typename TDVFImage = itk::Image<itk::CovariantVector < typename TImageSequence::ValueType, TImageSequence::ImageDimension - 1 >, TImageSequence::ImageDimension - 1>>
WarpSequenceFilterType::Pointer rtk::UnwarpSequenceConjugateGradientOperator< TImageSequence, TDVFImageSequence, TImage, TDVFImage >::m_WarpSequenceForwardFilter
protected

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