RTK  2.0.1
Reconstruction Toolkit
Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | 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

 ParkerShortScanImageFilter ()
 
void ThreadedGenerateData (const OutputImageRegionType &outputRegionForThread, ThreadIdType threadId) override
 
 ~ParkerShortScanImageFilter () override=default
 

Private Attributes

double m_AngularGapThreshold
 
GeometryPointer m_Geometry
 
double m_InferiorCorner
 
double m_SuperiorCorner
 
std::mutex m_WarningMutex
 

Detailed Description

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

Weighting of image projections to handle off-centered panels in tomography reconstruction. Based on [Wang, Med Phys, 2002].

Note that the filter does nothing if the panel shift is less than 10% of its size. Otherwise, it does the weighting described in the publication and zero pads the data on the nearest side to the center.

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

Definition at line 48 of file rtkParkerShortScanImageFilter.h.

Member Typedef Documentation

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

Definition at line 58 of file rtkParkerShortScanImageFilter.h.

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

Definition at line 67 of file rtkParkerShortScanImageFilter.h.

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

Definition at line 66 of file rtkParkerShortScanImageFilter.h.

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

Some convenient type alias.

Definition at line 61 of file rtkParkerShortScanImageFilter.h.

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

Definition at line 63 of file rtkParkerShortScanImageFilter.h.

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

Definition at line 62 of file rtkParkerShortScanImageFilter.h.

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

Definition at line 57 of file rtkParkerShortScanImageFilter.h.

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

Standard class type alias.

Definition at line 55 of file rtkParkerShortScanImageFilter.h.

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

Definition at line 56 of file rtkParkerShortScanImageFilter.h.

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

Definition at line 64 of file rtkParkerShortScanImageFilter.h.

Constructor & Destructor Documentation

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

Member Function Documentation

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

Reimplemented from itk::Object.

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.

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

Get / Set the object pointer to projection geometry

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

Get / Set the object pointer to projection geometry

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

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

Standard New method.

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.

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

Get / Set the object pointer to projection geometry

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

Reimplemented from itk::ImageSource< TOutputImage >.

Member Data Documentation

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 106 of file rtkParkerShortScanImageFilter.h.

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

RTK geometry object

Definition at line 97 of file rtkParkerShortScanImageFilter.h.

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 102 of file rtkParkerShortScanImageFilter.h.

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

Definition at line 103 of file rtkParkerShortScanImageFilter.h.

template<class TInputImage , class TOutputImage = TInputImage>
std::mutex rtk::ParkerShortScanImageFilter< TInputImage, TOutputImage >::m_WarningMutex
private

Definition at line 108 of file rtkParkerShortScanImageFilter.h.


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