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::RayConvexIntersectionImageFilter< TInputImage, TOutputImage > Class Template Reference

#include <rtkRayConvexIntersectionImageFilter.h>

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

Public Types

using ConstPointer = itk::SmartPointer< const Self >
 
using ConvexShapePointer = ConvexShape::Pointer
 
using GeometryConstPointer = typename GeometryType::ConstPointer
 
using GeometryType = rtk::ThreeDCircularProjectionGeometry
 
using OutputImageRegionType = typename TOutputImage::RegionType
 
using Pointer = itk::SmartPointer< Self >
 
using PointType = ConvexShape::PointType
 
using ScalarType = ConvexShape::ScalarType
 
using Self = RayConvexIntersectionImageFilter
 
using Superclass = itk::InPlaceImageFilter< TInputImage, TOutputImage >
 

Public Member Functions

virtual ::itk::LightObject::Pointer CreateAnother () const
 
virtual const char * GetNameOfClass () const
 
virtual ConvexShapeGetModifiableConvexShape ()
 
virtual const ConvexShapeGetConvexShape () const
 
virtual void SetConvexShape (ConvexShape *_arg)
 
virtual const GeometryTypeGetGeometry () const
 
virtual void SetGeometry (const GeometryType *_arg)
 
virtual double GetAttenuation ()
 
virtual void SetAttenuation (double _arg)
 

Static Public Member Functions

static Pointer New ()
 

Protected Member Functions

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

Private Attributes

double m_Attenuation = 0.
 
ConvexShapePointer m_ConvexShape
 
GeometryConstPointer m_Geometry
 

Detailed Description

template<class TInputImage, class TOutputImage>
class rtk::RayConvexIntersectionImageFilter< TInputImage, TOutputImage >

Analytical projection of ConvexShape.

Test:
rtkfdktest.cxx, rtkforbildtest.cxx
Author
Simon Rit

Definition at line 40 of file rtkRayConvexIntersectionImageFilter.h.

Member Typedef Documentation

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

Definition at line 50 of file rtkRayConvexIntersectionImageFilter.h.

template<class TInputImage , class TOutputImage >
using rtk::RayConvexIntersectionImageFilter< TInputImage, TOutputImage >::ConvexShapePointer = ConvexShape::Pointer

Definition at line 56 of file rtkRayConvexIntersectionImageFilter.h.

template<class TInputImage , class TOutputImage >
using rtk::RayConvexIntersectionImageFilter< TInputImage, TOutputImage >::GeometryConstPointer = typename GeometryType::ConstPointer

Definition at line 55 of file rtkRayConvexIntersectionImageFilter.h.

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

Definition at line 54 of file rtkRayConvexIntersectionImageFilter.h.

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

Convenient type alias.

Definition at line 53 of file rtkRayConvexIntersectionImageFilter.h.

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

Definition at line 49 of file rtkRayConvexIntersectionImageFilter.h.

template<class TInputImage , class TOutputImage >
using rtk::RayConvexIntersectionImageFilter< TInputImage, TOutputImage >::PointType = ConvexShape::PointType

Definition at line 58 of file rtkRayConvexIntersectionImageFilter.h.

template<class TInputImage , class TOutputImage >
using rtk::RayConvexIntersectionImageFilter< TInputImage, TOutputImage >::ScalarType = ConvexShape::ScalarType

Definition at line 57 of file rtkRayConvexIntersectionImageFilter.h.

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

Standard class type alias.

Definition at line 47 of file rtkRayConvexIntersectionImageFilter.h.

template<class TInputImage , class TOutputImage >
using rtk::RayConvexIntersectionImageFilter< TInputImage, TOutputImage >::Superclass = itk::InPlaceImageFilter<TInputImage,TOutputImage>

Definition at line 48 of file rtkRayConvexIntersectionImageFilter.h.

Constructor & Destructor Documentation

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

Member Function Documentation

template<class TInputImage , class TOutputImage >
void rtk::RayConvexIntersectionImageFilter< TInputImage, TOutputImage >::BeforeThreadedGenerateData ( )
overrideprotectedvirtual

ConvexShape must be created in the BeforeThreadedGenerateData in the daugter classes.

Reimplemented from itk::ImageSource< TOutputImage >.

Reimplemented in rtk::RayQuadricIntersectionImageFilter< TInputImage, TOutputImage >, and rtk::RayEllipsoidIntersectionImageFilter< TInputImage, TOutputImage >.

template<class TInputImage , class TOutputImage >
virtual::itk::LightObject::Pointer rtk::RayConvexIntersectionImageFilter< TInputImage, TOutputImage >::CreateAnother ( ) const
virtual
template<class TInputImage , class TOutputImage >
virtual double rtk::RayConvexIntersectionImageFilter< TInputImage, TOutputImage >::GetAttenuation ( )
virtual

Get / Set the attenuation \(\mu\) to simulate the attenuated line integral. Default is 0. The attenuated line integral model is

\[ p=\int f(\underline s+r\underline{d})\exp(\mu r)\mathrm{d}r \]

with \(\underline s\) and \(\underline d\) the ray source and direction. The value is therefore:

\begin{eqnarray*} p&=&\int_{n}^{f} d\exp(\mu r)\mathrm{d}r\\ &=&\dfrac{d}{\mu}\left(\exp(\mu {f})-\exp(\mu n)\right) \end{eqnarray*}

with \(n\) and \(f\) the distances from source to intersection points near and far from the source and \(d\) m_Density.

template<class TInputImage , class TOutputImage >
virtual const ConvexShape* rtk::RayConvexIntersectionImageFilter< TInputImage, TOutputImage >::GetConvexShape ( ) const
virtual

Get / Set the object pointer to the ConvexShape.

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

Get / Set the object pointer to projection geometry

template<class TInputImage , class TOutputImage >
virtual ConvexShape* rtk::RayConvexIntersectionImageFilter< TInputImage, TOutputImage >::GetModifiableConvexShape ( )
virtual

Get / Set the object pointer to the ConvexShape.

template<class TInputImage , class TOutputImage >
virtual const char* rtk::RayConvexIntersectionImageFilter< TInputImage, TOutputImage >::GetNameOfClass ( ) const
virtual
template<class TInputImage , class TOutputImage >
static Pointer rtk::RayConvexIntersectionImageFilter< TInputImage, TOutputImage >::New ( )
static

Method for creation through the object factory.

template<class TInputImage , class TOutputImage >
virtual void rtk::RayConvexIntersectionImageFilter< TInputImage, TOutputImage >::SetAttenuation ( double  _arg)
virtual

Get / Set the attenuation \(\mu\) to simulate the attenuated line integral. Default is 0. The attenuated line integral model is

\[ p=\int f(\underline s+r\underline{d})\exp(\mu r)\mathrm{d}r \]

with \(\underline s\) and \(\underline d\) the ray source and direction. The value is therefore:

\begin{eqnarray*} p&=&\int_{n}^{f} d\exp(\mu r)\mathrm{d}r\\ &=&\dfrac{d}{\mu}\left(\exp(\mu {f})-\exp(\mu n)\right) \end{eqnarray*}

with \(n\) and \(f\) the distances from source to intersection points near and far from the source and \(d\) m_Density.

template<class TInputImage , class TOutputImage >
virtual void rtk::RayConvexIntersectionImageFilter< TInputImage, TOutputImage >::SetConvexShape ( ConvexShape _arg)
virtual

Get / Set the object pointer to the ConvexShape.

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

Get / Set the object pointer to projection geometry

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

Apply changes to the input image requested region.

Reimplemented from itk::ImageSource< TOutputImage >.

Member Data Documentation

template<class TInputImage , class TOutputImage >
double rtk::RayConvexIntersectionImageFilter< TInputImage, TOutputImage >::m_Attenuation = 0.
private

Definition at line 112 of file rtkRayConvexIntersectionImageFilter.h.

template<class TInputImage , class TOutputImage >
ConvexShapePointer rtk::RayConvexIntersectionImageFilter< TInputImage, TOutputImage >::m_ConvexShape
private

Definition at line 110 of file rtkRayConvexIntersectionImageFilter.h.

template<class TInputImage , class TOutputImage >
GeometryConstPointer rtk::RayConvexIntersectionImageFilter< TInputImage, TOutputImage >::m_Geometry
private

Definition at line 111 of file rtkRayConvexIntersectionImageFilter.h.


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