RTK  2.0.1
Reconstruction Toolkit
Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | Private Types | Private Attributes | List of all members
rtk::AmsterdamShroudImageFilter< TInputImage > Class Template Reference

#include <rtkAmsterdamShroudImageFilter.h>

+ Inheritance diagram for rtk::AmsterdamShroudImageFilter< TInputImage >:
+ Collaboration diagram for rtk::AmsterdamShroudImageFilter< TInputImage >:

Public Types

using ConstPointer = itk::SmartPointer< const Self >
 
using GeometryPointer = typename GeometryType::Pointer
 
using GeometryType = rtk::ThreeDCircularProjectionGeometry
 
using Pointer = itk::SmartPointer< Self >
 
using PointType = itk::Point< double, 3 >
 
using Self = AmsterdamShroudImageFilter
 
using Superclass = itk::ImageToImageFilter< TInputImage, itk::Image< double, TInputImage::ImageDimension-1 > >
 
using TOutputImage = itk::Image< double, TInputImage::ImageDimension-1 >
 

Public Member Functions

virtual ::itk::LightObject::Pointer CreateAnother () const
 
virtual unsigned int GetUnsharpMaskSize ()
 
virtual void SetUnsharpMaskSize (unsigned int _arg)
 
virtual GeometryTypeGetModifiableGeometry ()
 
virtual const GeometryTypeGetGeometry () const
 
virtual void SetGeometry (GeometryType *_arg)
 
virtual PointType GetCorner1 ()
 
virtual void SetCorner1 (PointType _arg)
 
virtual PointType GetCorner2 ()
 
virtual void SetCorner2 (PointType _arg)
 

Static Public Member Functions

static Pointer New ()
 

Static Public Attributes

static const unsigned int InputImageDimension = TInputImage::ImageDimension
 
static const unsigned int OutputImageDimension = TOutputImage::ImageDimension
 
static const unsigned int ImageDimension = TOutputImage::ImageDimension
 

Protected Member Functions

virtual void CropOutsideProjectedBox ()
 
void GenerateData () override
 
void GenerateInputRequestedRegion () override
 
void GenerateOutputInformation () override
 
void UpdateUnsharpMaskKernel ()
 

Private Types

using ConvolutionType = itk::ConvolutionImageFilter< TOutputImage, TOutputImage >
 
using DerivativeType = itk::RecursiveGaussianImageFilter< TInputImage, TInputImage >
 
using NegativeType = itk::MultiplyImageFilter< TInputImage, TInputImage, TInputImage >
 
using PermuteType = itk::PermuteAxesImageFilter< TOutputImage >
 
using SubtractType = itk::SubtractImageFilter< TOutputImage, TOutputImage >
 
using SumType = itk::SumProjectionImageFilter< TInputImage, TOutputImage >
 
using ThresholdType = itk::ThresholdImageFilter< TInputImage >
 

Private Attributes

ConvolutionType::Pointer m_ConvolutionFilter
 
PointType m_Corner1 {0.}
 
PointType m_Corner2 {0.}
 
DerivativeType::Pointer m_DerivativeFilter
 
GeometryPointer m_Geometry {nullptr}
 
NegativeType::Pointer m_NegativeFilter
 
PermuteType::Pointer m_PermuteFilter
 
SubtractType::Pointer m_SubtractFilter
 
SumType::Pointer m_SumFilter
 
ThresholdType::Pointer m_ThresholdFilter
 
unsigned int m_UnsharpMaskSize {17}
 
virtual const char * GetNameOfClass () const
 
 AmsterdamShroudImageFilter ()
 
 ~AmsterdamShroudImageFilter () override=default
 

Detailed Description

template<class TInputImage>
class rtk::AmsterdamShroudImageFilter< TInputImage >

Compute the Amsterdam shroud image for respiratory signal extraction.

The Amsterdam shroud is an image that is used to extract a respiratory signal from cone-beam projection images. The Y-axis is time and the X-axis is the cranio-caudal position. More information is available in [Zijp, ICCR, 2004], [Sonke, Med Phys, 2005] and [Rit, IJROBP, 2012].

The following mini-pipeline of ITK filters is used for its RTK implementation:

dot_inline_dotgraph_5.png
Test:
rtkamsterdamshroudtest.cxx
Author
Simon Rit

Definition at line 81 of file rtkAmsterdamShroudImageFilter.h.

Member Typedef Documentation

template<class TInputImage >
using rtk::AmsterdamShroudImageFilter< TInputImage >::ConstPointer = itk::SmartPointer<const Self>

Definition at line 92 of file rtkAmsterdamShroudImageFilter.h.

template<class TInputImage >
using rtk::AmsterdamShroudImageFilter< TInputImage >::ConvolutionType = itk::ConvolutionImageFilter< TOutputImage, TOutputImage >
private

Definition at line 159 of file rtkAmsterdamShroudImageFilter.h.

template<class TInputImage >
using rtk::AmsterdamShroudImageFilter< TInputImage >::DerivativeType = itk::RecursiveGaussianImageFilter< TInputImage, TInputImage >
private

Definition at line 155 of file rtkAmsterdamShroudImageFilter.h.

template<class TInputImage >
using rtk::AmsterdamShroudImageFilter< TInputImage >::GeometryPointer = typename GeometryType::Pointer

Definition at line 98 of file rtkAmsterdamShroudImageFilter.h.

template<class TInputImage >
using rtk::AmsterdamShroudImageFilter< TInputImage >::GeometryType = rtk::ThreeDCircularProjectionGeometry

Definition at line 97 of file rtkAmsterdamShroudImageFilter.h.

template<class TInputImage >
using rtk::AmsterdamShroudImageFilter< TInputImage >::NegativeType = itk::MultiplyImageFilter< TInputImage, TInputImage, TInputImage >
private

Definition at line 156 of file rtkAmsterdamShroudImageFilter.h.

template<class TInputImage >
using rtk::AmsterdamShroudImageFilter< TInputImage >::PermuteType = itk::PermuteAxesImageFilter< TOutputImage >
private

Definition at line 161 of file rtkAmsterdamShroudImageFilter.h.

template<class TInputImage >
using rtk::AmsterdamShroudImageFilter< TInputImage >::Pointer = itk::SmartPointer<Self>

Definition at line 91 of file rtkAmsterdamShroudImageFilter.h.

template<class TInputImage >
using rtk::AmsterdamShroudImageFilter< TInputImage >::PointType = itk::Point<double, 3>

Definition at line 96 of file rtkAmsterdamShroudImageFilter.h.

template<class TInputImage >
using rtk::AmsterdamShroudImageFilter< TInputImage >::Self = AmsterdamShroudImageFilter

Standard class type alias.

Definition at line 88 of file rtkAmsterdamShroudImageFilter.h.

template<class TInputImage >
using rtk::AmsterdamShroudImageFilter< TInputImage >::SubtractType = itk::SubtractImageFilter< TOutputImage, TOutputImage >
private

Definition at line 160 of file rtkAmsterdamShroudImageFilter.h.

template<class TInputImage >
using rtk::AmsterdamShroudImageFilter< TInputImage >::SumType = itk::SumProjectionImageFilter< TInputImage, TOutputImage >
private

Definition at line 158 of file rtkAmsterdamShroudImageFilter.h.

template<class TInputImage >
using rtk::AmsterdamShroudImageFilter< TInputImage >::Superclass = itk::ImageToImageFilter<TInputImage, itk::Image<double, TInputImage::ImageDimension-1> >

Definition at line 90 of file rtkAmsterdamShroudImageFilter.h.

template<class TInputImage >
using rtk::AmsterdamShroudImageFilter< TInputImage >::ThresholdType = itk::ThresholdImageFilter< TInputImage >
private

Definition at line 157 of file rtkAmsterdamShroudImageFilter.h.

template<class TInputImage >
using rtk::AmsterdamShroudImageFilter< TInputImage >::TOutputImage = itk::Image<double, TInputImage::ImageDimension-1>

Convenient type alias.

Definition at line 95 of file rtkAmsterdamShroudImageFilter.h.

Constructor & Destructor Documentation

template<class TInputImage >
rtk::AmsterdamShroudImageFilter< TInputImage >::AmsterdamShroudImageFilter ( )
protected

Runtime information support.

template<class TInputImage >
rtk::AmsterdamShroudImageFilter< TInputImage >::~AmsterdamShroudImageFilter ( )
overrideprotecteddefault

Runtime information support.

Member Function Documentation

template<class TInputImage >
virtual::itk::LightObject::Pointer rtk::AmsterdamShroudImageFilter< TInputImage >::CreateAnother ( ) const
template<class TInputImage >
virtual void rtk::AmsterdamShroudImageFilter< TInputImage >::CropOutsideProjectedBox ( )
protectedvirtual

Function that actually projects the 3D box defined by m_Corner1 and m_Corner2 and set everything outside to 0.

template<class TInputImage >
void rtk::AmsterdamShroudImageFilter< TInputImage >::GenerateData ( )
overrideprotected

Single-threaded version of GenerateData. This filter delegates to other filters.

template<class TInputImage >
void rtk::AmsterdamShroudImageFilter< TInputImage >::GenerateInputRequestedRegion ( )
overrideprotected
template<class TInputImage >
void rtk::AmsterdamShroudImageFilter< TInputImage >::GenerateOutputInformation ( )
overrideprotected
template<class TInputImage >
virtual PointType rtk::AmsterdamShroudImageFilter< TInputImage >::GetCorner1 ( )
virtual

3D clipbox corners for selecting part of the projections. Each corner is projected and rounded to the nearest 2D pixel and only those pixels within the two pixels are kept.

template<class TInputImage >
virtual PointType rtk::AmsterdamShroudImageFilter< TInputImage >::GetCorner2 ( )
virtual

3D clipbox corners for selecting part of the projections. Each corner is projected and rounded to the nearest 2D pixel and only those pixels within the two pixels are kept.

template<class TInputImage >
virtual const GeometryType* rtk::AmsterdamShroudImageFilter< TInputImage >::GetGeometry ( ) const
virtual

Get / Set the object pointer to projection geometry

template<class TInputImage >
virtual GeometryType* rtk::AmsterdamShroudImageFilter< TInputImage >::GetModifiableGeometry ( )
virtual

Get / Set the object pointer to projection geometry

template<class TInputImage >
virtual const char* rtk::AmsterdamShroudImageFilter< TInputImage >::GetNameOfClass ( ) const
virtual

Runtime information support.

Reimplemented from itk::ImageSource< TOutputImage >.

template<class TInputImage >
virtual unsigned int rtk::AmsterdamShroudImageFilter< TInputImage >::GetUnsharpMaskSize ( )
virtual

Size parameter of the unsharp mask. This is the number of pixels along the time direction (X) along which it averages. The unsharp mask allows after computation of the shroud to enhance fast varying motions, e.g., breathing, and remove slow varying motions, e.g., rotation around the table. The default value is 17 pixels.

template<class TInputImage >
static Pointer rtk::AmsterdamShroudImageFilter< TInputImage >::New ( )
static

Standard New method.

template<class TInputImage >
virtual void rtk::AmsterdamShroudImageFilter< TInputImage >::SetCorner1 ( PointType  _arg)
virtual

3D clipbox corners for selecting part of the projections. Each corner is projected and rounded to the nearest 2D pixel and only those pixels within the two pixels are kept.

template<class TInputImage >
virtual void rtk::AmsterdamShroudImageFilter< TInputImage >::SetCorner2 ( PointType  _arg)
virtual

3D clipbox corners for selecting part of the projections. Each corner is projected and rounded to the nearest 2D pixel and only those pixels within the two pixels are kept.

template<class TInputImage >
virtual void rtk::AmsterdamShroudImageFilter< TInputImage >::SetGeometry ( GeometryType _arg)
virtual

Get / Set the object pointer to projection geometry

template<class TInputImage >
virtual void rtk::AmsterdamShroudImageFilter< TInputImage >::SetUnsharpMaskSize ( unsigned int  _arg)
virtual

Size parameter of the unsharp mask. This is the number of pixels along the time direction (X) along which it averages. The unsharp mask allows after computation of the shroud to enhance fast varying motions, e.g., breathing, and remove slow varying motions, e.g., rotation around the table. The default value is 17 pixels.

template<class TInputImage >
void rtk::AmsterdamShroudImageFilter< TInputImage >::UpdateUnsharpMaskKernel ( )
protected

Member Data Documentation

template<class TInputImage >
const unsigned int rtk::AmsterdamShroudImageFilter< TInputImage >::ImageDimension = TOutputImage::ImageDimension
static

ImageDimension constants

Definition at line 106 of file rtkAmsterdamShroudImageFilter.h.

template<class TInputImage >
const unsigned int rtk::AmsterdamShroudImageFilter< TInputImage >::InputImageDimension = TInputImage::ImageDimension
static

ImageDimension constants

Definition at line 102 of file rtkAmsterdamShroudImageFilter.h.

template<class TInputImage >
ConvolutionType::Pointer rtk::AmsterdamShroudImageFilter< TInputImage >::m_ConvolutionFilter
private

Definition at line 167 of file rtkAmsterdamShroudImageFilter.h.

template<class TInputImage >
PointType rtk::AmsterdamShroudImageFilter< TInputImage >::m_Corner1 {0.}
private

Definition at line 172 of file rtkAmsterdamShroudImageFilter.h.

template<class TInputImage >
PointType rtk::AmsterdamShroudImageFilter< TInputImage >::m_Corner2 {0.}
private

Definition at line 173 of file rtkAmsterdamShroudImageFilter.h.

template<class TInputImage >
DerivativeType::Pointer rtk::AmsterdamShroudImageFilter< TInputImage >::m_DerivativeFilter
private

Definition at line 163 of file rtkAmsterdamShroudImageFilter.h.

template<class TInputImage >
GeometryPointer rtk::AmsterdamShroudImageFilter< TInputImage >::m_Geometry {nullptr}
private

Definition at line 171 of file rtkAmsterdamShroudImageFilter.h.

template<class TInputImage >
NegativeType::Pointer rtk::AmsterdamShroudImageFilter< TInputImage >::m_NegativeFilter
private

Definition at line 164 of file rtkAmsterdamShroudImageFilter.h.

template<class TInputImage >
PermuteType::Pointer rtk::AmsterdamShroudImageFilter< TInputImage >::m_PermuteFilter
private

Definition at line 169 of file rtkAmsterdamShroudImageFilter.h.

template<class TInputImage >
SubtractType::Pointer rtk::AmsterdamShroudImageFilter< TInputImage >::m_SubtractFilter
private

Definition at line 168 of file rtkAmsterdamShroudImageFilter.h.

template<class TInputImage >
SumType::Pointer rtk::AmsterdamShroudImageFilter< TInputImage >::m_SumFilter
private

Definition at line 166 of file rtkAmsterdamShroudImageFilter.h.

template<class TInputImage >
ThresholdType::Pointer rtk::AmsterdamShroudImageFilter< TInputImage >::m_ThresholdFilter
private

Definition at line 165 of file rtkAmsterdamShroudImageFilter.h.

template<class TInputImage >
unsigned int rtk::AmsterdamShroudImageFilter< TInputImage >::m_UnsharpMaskSize {17}
private

Definition at line 170 of file rtkAmsterdamShroudImageFilter.h.

template<class TInputImage >
const unsigned int rtk::AmsterdamShroudImageFilter< TInputImage >::OutputImageDimension = TOutputImage::ImageDimension
static

ImageDimension constants

Definition at line 104 of file rtkAmsterdamShroudImageFilter.h.


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