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

#include <rtkExtractPhaseImageFilter.h>

+ Inheritance diagram for rtk::ExtractPhaseImageFilter< TImage >:
+ Collaboration diagram for rtk::ExtractPhaseImageFilter< TImage >:

Public Types

typedef itk::SmartPointer< const SelfConstPointer
 
typedef TImage::SizeType::SizeValueType KernelSizeType
 
enum  ModelType {
  LOCAL_PHASE =0,
  LINEAR_BETWEEN_MINIMA,
  LINEAR_BETWEEN_MAXIMA
}
 
typedef itk::SmartPointer< SelfPointer
 
typedef std::vector< int > PositionsListType
 
typedef ExtractPhaseImageFilter Self
 
typedef itk::InPlaceImageFilter< TImage > Superclass
 

Public Member Functions

virtual ::itk::LightObject::Pointer CreateAnother () const
 
virtual PositionsListType GetMaximaPositions ()
 
virtual PositionsListType GetMinimaPositions ()
 
virtual ModelType GetModel ()
 
virtual KernelSizeType GetMovingAverageSize ()
 
virtual const char * GetNameOfClass () const
 
virtual KernelSizeType GetUnsharpMaskSize ()
 
virtual void SetModel (ModelType _arg)
 
virtual void SetMovingAverageSize (KernelSizeType _arg)
 
virtual void SetUnsharpMaskSize (KernelSizeType _arg)
 

Static Public Member Functions

static Pointer New ()
 

Protected Member Functions

 ExtractPhaseImageFilter ()
 
void GenerateData () override
 
virtual ~ExtractPhaseImageFilter () override
 

Private Member Functions

void ComputeLinearPhaseBetweenPositions (const PositionsListType &positions)
 
 ExtractPhaseImageFilter (const Self &)
 
void operator= (const Self &)
 

Private Attributes

PositionsListType m_MaximaPositions
 
PositionsListType m_MinimaPositions
 
ModelType m_Model
 
KernelSizeType m_MovingAverageSize
 
KernelSizeType m_UnsharpMaskSize
 

Detailed Description

template<class TImage>
class rtk::ExtractPhaseImageFilter< TImage >

Extracts the phase of a 1D signal.

The filter extracts the phase of a 1D periodic signal, which is useful in gated CT. There are several ways of defining the phase of a signal and the filter offers two of them:

Test:
rtkamsterdamshroudtest.cxx
Author
Simon Rit

Definition at line 47 of file rtkExtractPhaseImageFilter.h.

Member Typedef Documentation

template<class TImage >
typedef itk::SmartPointer<const Self> rtk::ExtractPhaseImageFilter< TImage >::ConstPointer

Definition at line 55 of file rtkExtractPhaseImageFilter.h.

Convenient typedefs.

Definition at line 58 of file rtkExtractPhaseImageFilter.h.

template<class TImage >
typedef itk::SmartPointer<Self> rtk::ExtractPhaseImageFilter< TImage >::Pointer

Definition at line 54 of file rtkExtractPhaseImageFilter.h.

template<class TImage >
typedef std::vector<int> rtk::ExtractPhaseImageFilter< TImage >::PositionsListType

Definition at line 59 of file rtkExtractPhaseImageFilter.h.

template<class TImage >
typedef ExtractPhaseImageFilter rtk::ExtractPhaseImageFilter< TImage >::Self

Standard class typedefs.

Definition at line 52 of file rtkExtractPhaseImageFilter.h.

template<class TImage >
typedef itk::InPlaceImageFilter<TImage> rtk::ExtractPhaseImageFilter< TImage >::Superclass

Definition at line 53 of file rtkExtractPhaseImageFilter.h.

Member Enumeration Documentation

template<class TImage >
enum rtk::ExtractPhaseImageFilter::ModelType
Enumerator
LOCAL_PHASE 
LINEAR_BETWEEN_MINIMA 
LINEAR_BETWEEN_MAXIMA 

Definition at line 60 of file rtkExtractPhaseImageFilter.h.

Constructor & Destructor Documentation

template<class TImage >
rtk::ExtractPhaseImageFilter< TImage >::ExtractPhaseImageFilter ( )
protected
template<class TImage >
virtual rtk::ExtractPhaseImageFilter< TImage >::~ExtractPhaseImageFilter ( )
inlineoverrideprotectedvirtual

Definition at line 99 of file rtkExtractPhaseImageFilter.h.

template<class TImage >
rtk::ExtractPhaseImageFilter< TImage >::ExtractPhaseImageFilter ( const Self )
private

Member Function Documentation

template<class TImage >
void rtk::ExtractPhaseImageFilter< TImage >::ComputeLinearPhaseBetweenPositions ( const PositionsListType positions)
private
template<class TImage >
virtual::itk::LightObject::Pointer rtk::ExtractPhaseImageFilter< TImage >::CreateAnother ( ) const
template<class TImage >
void rtk::ExtractPhaseImageFilter< TImage >::GenerateData ( )
overrideprotected
template<class TImage >
virtual PositionsListType rtk::ExtractPhaseImageFilter< TImage >::GetMaximaPositions ( )
virtual
template<class TImage >
virtual PositionsListType rtk::ExtractPhaseImageFilter< TImage >::GetMinimaPositions ( )
virtual

During the update, extrema are extracted and can be retrieved after an update of the output.

template<class TImage >
virtual ModelType rtk::ExtractPhaseImageFilter< TImage >::GetModel ( )
virtual
template<class TImage >
virtual KernelSizeType rtk::ExtractPhaseImageFilter< TImage >::GetMovingAverageSize ( )
virtual
template<class TImage >
virtual const char* rtk::ExtractPhaseImageFilter< TImage >::GetNameOfClass ( ) const
virtual

Runtime information support.

Reimplemented from itk::ImageSource< TOutputImage >.

template<class TImage >
virtual KernelSizeType rtk::ExtractPhaseImageFilter< TImage >::GetUnsharpMaskSize ( )
virtual
template<class TImage >
static Pointer rtk::ExtractPhaseImageFilter< TImage >::New ( )
static

Standard New method.

template<class TImage >
void rtk::ExtractPhaseImageFilter< TImage >::operator= ( const Self )
private
template<class TImage >
virtual void rtk::ExtractPhaseImageFilter< TImage >::SetModel ( ModelType  _arg)
virtual

After smoothing and unsharping, you can chose the model for the phase extraction which describes the position in the respiratory cycle by a number between 0 and 1:

  • LOCAL_PHASE: local phase, i.e., phase of the Hilbert transform of the signal,
  • LINEAR_BETWEEN_MINIMA (LINEAR_BETWEEN_MAXIMA): phase phase is linear between two consecutive minima (maxima), with the minima (maxima) at 0. Default is LINEAR_BETWEEN_MINIMA.
template<class TImage >
virtual void rtk::ExtractPhaseImageFilter< TImage >::SetMovingAverageSize ( KernelSizeType  _arg)
virtual

The input signal may be smoothed before taking the phase of the Hilbert transform. This parameter sets the number of samples for this smoothing.

template<class TImage >
virtual void rtk::ExtractPhaseImageFilter< TImage >::SetUnsharpMaskSize ( KernelSizeType  _arg)
virtual

Low frequencies of the signal are removed before taking the phase of the Hilbert transform using an unsharp mask, i.e., the difference of the signal and its moving average. This parameter sets the number of samples used for the moving average, default is 55.

Member Data Documentation

template<class TImage >
PositionsListType rtk::ExtractPhaseImageFilter< TImage >::m_MaximaPositions
private

Definition at line 112 of file rtkExtractPhaseImageFilter.h.

template<class TImage >
PositionsListType rtk::ExtractPhaseImageFilter< TImage >::m_MinimaPositions
private

Definition at line 111 of file rtkExtractPhaseImageFilter.h.

template<class TImage >
ModelType rtk::ExtractPhaseImageFilter< TImage >::m_Model
private

Definition at line 113 of file rtkExtractPhaseImageFilter.h.

template<class TImage >
KernelSizeType rtk::ExtractPhaseImageFilter< TImage >::m_MovingAverageSize
private

Definition at line 109 of file rtkExtractPhaseImageFilter.h.

template<class TImage >
KernelSizeType rtk::ExtractPhaseImageFilter< TImage >::m_UnsharpMaskSize
private

Definition at line 110 of file rtkExtractPhaseImageFilter.h.


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