RTK  2.5.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

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

Public Member Functions

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

Static Public Member Functions

static Pointer New ()
 

Protected Member Functions

 ExtractPhaseImageFilter ()
 
void GenerateData () override
 
 ~ExtractPhaseImageFilter () override=default
 

Private Member Functions

void ComputeLinearPhaseBetweenPositions (const PositionsListType &positions)
 

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

◆ ConstPointer

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

Definition at line 56 of file rtkExtractPhaseImageFilter.h.

◆ KernelSizeType

template<class TImage >
using rtk::ExtractPhaseImageFilter< TImage >::KernelSizeType = typename TImage::SizeType::SizeValueType

Convenient type alias.

Definition at line 59 of file rtkExtractPhaseImageFilter.h.

◆ Pointer

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

Definition at line 55 of file rtkExtractPhaseImageFilter.h.

◆ PositionsListType

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

Definition at line 60 of file rtkExtractPhaseImageFilter.h.

◆ Self

template<class TImage >
using rtk::ExtractPhaseImageFilter< TImage >::Self = ExtractPhaseImageFilter

Standard class type alias.

Definition at line 53 of file rtkExtractPhaseImageFilter.h.

◆ Superclass

template<class TImage >
using rtk::ExtractPhaseImageFilter< TImage >::Superclass = itk::InPlaceImageFilter<TImage>

Definition at line 54 of file rtkExtractPhaseImageFilter.h.

Member Enumeration Documentation

◆ ModelType

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

Definition at line 61 of file rtkExtractPhaseImageFilter.h.

Constructor & Destructor Documentation

◆ ExtractPhaseImageFilter()

template<class TImage >
rtk::ExtractPhaseImageFilter< TImage >::ExtractPhaseImageFilter ( )
protected

◆ ~ExtractPhaseImageFilter()

template<class TImage >
rtk::ExtractPhaseImageFilter< TImage >::~ExtractPhaseImageFilter ( )
overrideprotecteddefault

Member Function Documentation

◆ ComputeLinearPhaseBetweenPositions()

template<class TImage >
void rtk::ExtractPhaseImageFilter< TImage >::ComputeLinearPhaseBetweenPositions ( const PositionsListType positions)
private

◆ CreateAnother()

template<class TImage >
virtual::itk::LightObject::Pointer rtk::ExtractPhaseImageFilter< TImage >::CreateAnother ( ) const
virtual

Reimplemented from itk::Object.

◆ GenerateData()

template<class TImage >
void rtk::ExtractPhaseImageFilter< TImage >::GenerateData ( )
overrideprotectedvirtual

Reimplemented from itk::ImageSource< TOutputImage >.

◆ GetMaximaPositions()

template<class TImage >
virtual PositionsListType rtk::ExtractPhaseImageFilter< TImage >::GetMaximaPositions ( )
virtual

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

◆ GetMinimaPositions()

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.

◆ GetModel()

template<class TImage >
virtual ModelType rtk::ExtractPhaseImageFilter< TImage >::GetModel ( )
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.

◆ GetMovingAverageSize()

template<class TImage >
virtual KernelSizeType rtk::ExtractPhaseImageFilter< TImage >::GetMovingAverageSize ( )
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.

◆ GetNameOfClass()

template<class TImage >
virtual const char* rtk::ExtractPhaseImageFilter< TImage >::GetNameOfClass ( ) const
virtual

Runtime information support.

Reimplemented from itk::ImageToImageFilter< TInputImage, TOutputImage >.

◆ GetUnsharpMaskSize()

template<class TImage >
virtual KernelSizeType rtk::ExtractPhaseImageFilter< TImage >::GetUnsharpMaskSize ( )
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.

◆ New()

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

Standard New method.

◆ SetModel()

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.

◆ SetMovingAverageSize()

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.

◆ SetUnsharpMaskSize()

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

◆ m_MaximaPositions

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

Definition at line 124 of file rtkExtractPhaseImageFilter.h.

◆ m_MinimaPositions

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

Definition at line 123 of file rtkExtractPhaseImageFilter.h.

◆ m_Model

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

Definition at line 125 of file rtkExtractPhaseImageFilter.h.

◆ m_MovingAverageSize

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

Definition at line 121 of file rtkExtractPhaseImageFilter.h.

◆ m_UnsharpMaskSize

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

Definition at line 122 of file rtkExtractPhaseImageFilter.h.


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