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

#include <rtkParkerShortScanImageFilter.h>

+ Inheritance diagram for rtk::ParkerShortScanImageFilter< TInputImage, TOutputImage >:
+ Collaboration diagram for rtk::ParkerShortScanImageFilter< TInputImage, TOutputImage >:

Public Types

using ConstPointer = itk::SmartPointer< const Self >
 
using GeometryPointer = GeometryType::Pointer
 
using GeometryType = ThreeDCircularProjectionGeometry
 
using InputImageType = TInputImage
 
using OutputImageRegionType = typename OutputImageType::RegionType
 
using OutputImageType = TOutputImage
 
using Pointer = itk::SmartPointer< Self >
 
using Self = ParkerShortScanImageFilter
 
using Superclass = itk::ImageToImageFilter< TInputImage, TOutputImage >
 
using WeightImageType = itk::Image< typename TOutputImage::PixelType, 1 >
 

Public Member Functions

virtual ::itk::LightObject::Pointer CreateAnother () const
 
virtual const char * GetNameOfClass () const
 
virtual GeometryTypeGetModifiableGeometry ()
 
virtual const GeometryTypeGetGeometry () const
 
virtual void SetGeometry (GeometryType *_arg)
 
virtual double GetAngularGapThreshold ()
 
virtual void SetAngularGapThreshold (double _arg)
 

Static Public Member Functions

static Pointer New ()
 

Protected Member Functions

void DynamicThreadedGenerateData (const OutputImageRegionType &outputRegionForThread) override
 
void GenerateInputRequestedRegion () override
 
 ParkerShortScanImageFilter ()
 
void VerifyPreconditions () ITKv5_CONST override
 
 ~ParkerShortScanImageFilter () override=default
 

Protected Attributes

double m_Delta
 
double m_FirstAngle
 
bool m_IsShortScan { false }
 

Private Attributes

double m_AngularGapThreshold
 
GeometryPointer m_Geometry
 
double m_InferiorCorner
 
double m_SuperiorCorner
 

Detailed Description

template<class TInputImage, class TOutputImage = TInputImage>
class rtk::ParkerShortScanImageFilter< TInputImage, TOutputImage >

Weighting of image projections to handle short-scans in tomography reconstruction. Based on [Parker, Med Phys, 1982]. Class implements a fix to typo in equation (12) of Parker as seen in book "Principles of computerized tomographic imaging" by Kak and Slaney

Test:
rtkshortscantest.cxx, rtkshortscancompcudatest.cxx
Author
Simon Rit

Definition at line 45 of file rtkParkerShortScanImageFilter.h.

Member Typedef Documentation

◆ ConstPointer

template<class TInputImage , class TOutputImage = TInputImage>
using rtk::ParkerShortScanImageFilter< TInputImage, TOutputImage >::ConstPointer = itk::SmartPointer<const Self>

Definition at line 54 of file rtkParkerShortScanImageFilter.h.

◆ GeometryPointer

template<class TInputImage , class TOutputImage = TInputImage>
using rtk::ParkerShortScanImageFilter< TInputImage, TOutputImage >::GeometryPointer = GeometryType::Pointer

Definition at line 63 of file rtkParkerShortScanImageFilter.h.

◆ GeometryType

template<class TInputImage , class TOutputImage = TInputImage>
using rtk::ParkerShortScanImageFilter< TInputImage, TOutputImage >::GeometryType = ThreeDCircularProjectionGeometry

Definition at line 62 of file rtkParkerShortScanImageFilter.h.

◆ InputImageType

template<class TInputImage , class TOutputImage = TInputImage>
using rtk::ParkerShortScanImageFilter< TInputImage, TOutputImage >::InputImageType = TInputImage

Some convenient type alias.

Definition at line 57 of file rtkParkerShortScanImageFilter.h.

◆ OutputImageRegionType

template<class TInputImage , class TOutputImage = TInputImage>
using rtk::ParkerShortScanImageFilter< TInputImage, TOutputImage >::OutputImageRegionType = typename OutputImageType::RegionType

Definition at line 59 of file rtkParkerShortScanImageFilter.h.

◆ OutputImageType

template<class TInputImage , class TOutputImage = TInputImage>
using rtk::ParkerShortScanImageFilter< TInputImage, TOutputImage >::OutputImageType = TOutputImage

Definition at line 58 of file rtkParkerShortScanImageFilter.h.

◆ Pointer

template<class TInputImage , class TOutputImage = TInputImage>
using rtk::ParkerShortScanImageFilter< TInputImage, TOutputImage >::Pointer = itk::SmartPointer<Self>

Definition at line 53 of file rtkParkerShortScanImageFilter.h.

◆ Self

template<class TInputImage , class TOutputImage = TInputImage>
using rtk::ParkerShortScanImageFilter< TInputImage, TOutputImage >::Self = ParkerShortScanImageFilter

Standard class type alias.

Definition at line 51 of file rtkParkerShortScanImageFilter.h.

◆ Superclass

template<class TInputImage , class TOutputImage = TInputImage>
using rtk::ParkerShortScanImageFilter< TInputImage, TOutputImage >::Superclass = itk::ImageToImageFilter<TInputImage, TOutputImage>

Definition at line 52 of file rtkParkerShortScanImageFilter.h.

◆ WeightImageType

template<class TInputImage , class TOutputImage = TInputImage>
using rtk::ParkerShortScanImageFilter< TInputImage, TOutputImage >::WeightImageType = itk::Image<typename TOutputImage::PixelType, 1>

Definition at line 60 of file rtkParkerShortScanImageFilter.h.

Constructor & Destructor Documentation

◆ ParkerShortScanImageFilter()

template<class TInputImage , class TOutputImage = TInputImage>
rtk::ParkerShortScanImageFilter< TInputImage, TOutputImage >::ParkerShortScanImageFilter ( )
protected

◆ ~ParkerShortScanImageFilter()

template<class TInputImage , class TOutputImage = TInputImage>
rtk::ParkerShortScanImageFilter< TInputImage, TOutputImage >::~ParkerShortScanImageFilter ( )
overrideprotecteddefault

Member Function Documentation

◆ CreateAnother()

template<class TInputImage , class TOutputImage = TInputImage>
virtual::itk::LightObject::Pointer rtk::ParkerShortScanImageFilter< TInputImage, TOutputImage >::CreateAnother ( ) const
virtual

Reimplemented from itk::Object.

◆ DynamicThreadedGenerateData()

template<class TInputImage , class TOutputImage = TInputImage>
void rtk::ParkerShortScanImageFilter< TInputImage, TOutputImage >::DynamicThreadedGenerateData ( const OutputImageRegionType outputRegionForThread)
overrideprotectedvirtual

Reimplemented from itk::ImageSource< TOutputImage >.

◆ GenerateInputRequestedRegion()

template<class TInputImage , class TOutputImage = TInputImage>
void rtk::ParkerShortScanImageFilter< TInputImage, TOutputImage >::GenerateInputRequestedRegion ( )
overrideprotectedvirtual

◆ GetAngularGapThreshold()

template<class TInputImage , class TOutputImage = TInputImage>
virtual double rtk::ParkerShortScanImageFilter< TInputImage, TOutputImage >::GetAngularGapThreshold ( )
virtual

Get / Set the angular gap threshold above which a short scan is detected.

◆ GetGeometry()

template<class TInputImage , class TOutputImage = TInputImage>
virtual const GeometryType* rtk::ParkerShortScanImageFilter< TInputImage, TOutputImage >::GetGeometry ( ) const
virtual

Get / Set the object pointer to projection geometry

◆ GetModifiableGeometry()

template<class TInputImage , class TOutputImage = TInputImage>
virtual GeometryType* rtk::ParkerShortScanImageFilter< TInputImage, TOutputImage >::GetModifiableGeometry ( )
virtual

Get / Set the object pointer to projection geometry

◆ GetNameOfClass()

template<class TInputImage , class TOutputImage = TInputImage>
virtual const char* rtk::ParkerShortScanImageFilter< TInputImage, TOutputImage >::GetNameOfClass ( ) const
virtual

Runtime information support.

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

◆ New()

template<class TInputImage , class TOutputImage = TInputImage>
static Pointer rtk::ParkerShortScanImageFilter< TInputImage, TOutputImage >::New ( )
static

Standard New method.

◆ SetAngularGapThreshold()

template<class TInputImage , class TOutputImage = TInputImage>
virtual void rtk::ParkerShortScanImageFilter< TInputImage, TOutputImage >::SetAngularGapThreshold ( double  _arg)
virtual

Get / Set the angular gap threshold above which a short scan is detected.

◆ SetGeometry()

template<class TInputImage , class TOutputImage = TInputImage>
virtual void rtk::ParkerShortScanImageFilter< TInputImage, TOutputImage >::SetGeometry ( GeometryType _arg)
virtual

Get / Set the object pointer to projection geometry

◆ VerifyPreconditions()

template<class TInputImage , class TOutputImage = TInputImage>
void rtk::ParkerShortScanImageFilter< TInputImage, TOutputImage >::VerifyPreconditions ( )
overrideprotectedvirtual

Checks that inputs are correctly set.

Reimplemented from itk::ProcessObject.

Member Data Documentation

◆ m_AngularGapThreshold

template<class TInputImage , class TOutputImage = TInputImage>
double rtk::ParkerShortScanImageFilter< TInputImage, TOutputImage >::m_AngularGapThreshold
private

Minimum angular gap to automatically detect a short scan. Defaults is pi/9 radians.

Definition at line 120 of file rtkParkerShortScanImageFilter.h.

◆ m_Delta

template<class TInputImage , class TOutputImage = TInputImage>
double rtk::ParkerShortScanImageFilter< TInputImage, TOutputImage >::m_Delta
protected

Actual angular gap in the projections

Definition at line 101 of file rtkParkerShortScanImageFilter.h.

◆ m_FirstAngle

template<class TInputImage , class TOutputImage = TInputImage>
double rtk::ParkerShortScanImageFilter< TInputImage, TOutputImage >::m_FirstAngle
protected

First angle of the short scan

Definition at line 104 of file rtkParkerShortScanImageFilter.h.

◆ m_Geometry

template<class TInputImage , class TOutputImage = TInputImage>
GeometryPointer rtk::ParkerShortScanImageFilter< TInputImage, TOutputImage >::m_Geometry
private

RTK geometry object

Definition at line 111 of file rtkParkerShortScanImageFilter.h.

◆ m_InferiorCorner

template<class TInputImage , class TOutputImage = TInputImage>
double rtk::ParkerShortScanImageFilter< TInputImage, TOutputImage >::m_InferiorCorner
private

Superior and inferior position of the detector along the weighting direction, i.e. x. The computed value account for the x projection offset of the geometry.

Definition at line 116 of file rtkParkerShortScanImageFilter.h.

◆ m_IsShortScan

template<class TInputImage , class TOutputImage = TInputImage>
bool rtk::ParkerShortScanImageFilter< TInputImage, TOutputImage >::m_IsShortScan { false }
protected

Internal variable indicating whether this scan is short

Definition at line 107 of file rtkParkerShortScanImageFilter.h.

◆ m_SuperiorCorner

template<class TInputImage , class TOutputImage = TInputImage>
double rtk::ParkerShortScanImageFilter< TInputImage, TOutputImage >::m_SuperiorCorner
private

Definition at line 117 of file rtkParkerShortScanImageFilter.h.


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