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

#include <rtkImagXGeometryReader.h>

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

Classes

struct  CalibrationModelType
 
struct  FlexmapType
 
struct  InterpResultType
 

Public Types

using FileNamesContainer = std::vector< std::string >
 
using GeometryType = ThreeDCircularProjectionGeometry
 
using InputImagePixelType = typename InputImageType::PixelType
 
using InputImagePointer = typename InputImageType::Pointer
 
using InputImageRegionType = typename InputImageType::RegionType
 
using InputImageType = TInputImage
 
using Pointer = itk::SmartPointer< Self >
 
using Self = ImagXGeometryReader
 
using Superclass = itk::LightProcessObject
 

Public Member Functions

virtual ::itk::LightObject::Pointer CreateAnother () const
 
virtual GeometryType::Pointer GetGeometry ()
 
virtual const char * GetNameOfClass () const
 
virtual std::string GetCalibrationXMLFileName ()
 
virtual void SetCalibrationXMLFileName (std::string _arg)
 
virtual std::string GetRoomXMLFileName ()
 
virtual void SetRoomXMLFileName (std::string _arg)
 
void SetProjectionsFileNames (const FileNamesContainer &name)
 
const FileNamesContainerGetProjectionsFileNames () const
 

Static Public Member Functions

static Pointer New ()
 

Protected Member Functions

 ImagXGeometryReader ()
 
 ~ImagXGeometryReader () override=default
 

Private Member Functions

void addEntryToGeometry (float gantryAngleDegree, float nozzleToRadAngleOffset, float sid, float sdd, std::vector< float > &detTrans, std::vector< float > &detRot, std::vector< float > &srcTrans)
 
void addEntryToGeometry (const FlexmapType &f, float gantryAngle)
 
void addEntryToGeometry (const CalibrationModelType &c, float gantryAngle)
 
void GenerateData () override
 
std::string getAIversion ()
 
std::vector< float > getDeformations (float gantryAngle, const std::vector< float > &Dx, const std::vector< float > &Dy, const std::vector< float > &Dz)
 
CalibrationModelType GetGeometryForAI1p5 ()
 
CalibrationModelType GetGeometryForAI1p5FromXMLFiles ()
 
FlexmapType GetGeometryForAI2p1 ()
 
std::vector< float > getInterpolatedValue (const InterpResultType &ires, const std::vector< float > &Dx, const std::vector< float > &Dy, const std::vector< float > &Dz)
 
InterpResultType interpolate (const std::vector< float > &flexAngles, bool bIsCW, float angleDegree)
 
bool isCW (const std::vector< float > &angles)
 

Private Attributes

std::string m_CalibrationXMLFileName
 
GeometryType::Pointer m_Geometry
 
FileNamesContainer m_ProjectionsFileNames
 
std::string m_RoomXMLFileName
 

Static Private Attributes

static const std::string m_AI_VERSION_1p2
 
static const std::string m_AI_VERSION_1p5
 
static const std::string m_AI_VERSION_2pX
 

Detailed Description

template<typename TInputImage>
class rtk::ImagXGeometryReader< TInputImage >

Creates a 3D circular geometry from the IBA data set.

Test:
rtkimagxtest.cxx
Author
Marc Vila, C. Mory, S. Brousmiche (IBA)

Definition at line 41 of file rtkImagXGeometryReader.h.

Member Typedef Documentation

◆ FileNamesContainer

template<typename TInputImage >
using rtk::ImagXGeometryReader< TInputImage >::FileNamesContainer = std::vector<std::string>

Definition at line 73 of file rtkImagXGeometryReader.h.

◆ GeometryType

template<typename TInputImage >
using rtk::ImagXGeometryReader< TInputImage >::GeometryType = ThreeDCircularProjectionGeometry

Convenient type alias

Definition at line 52 of file rtkImagXGeometryReader.h.

◆ InputImagePixelType

template<typename TInputImage >
using rtk::ImagXGeometryReader< TInputImage >::InputImagePixelType = typename InputImageType::PixelType

Definition at line 72 of file rtkImagXGeometryReader.h.

◆ InputImagePointer

template<typename TInputImage >
using rtk::ImagXGeometryReader< TInputImage >::InputImagePointer = typename InputImageType::Pointer

Definition at line 70 of file rtkImagXGeometryReader.h.

◆ InputImageRegionType

template<typename TInputImage >
using rtk::ImagXGeometryReader< TInputImage >::InputImageRegionType = typename InputImageType::RegionType

Definition at line 71 of file rtkImagXGeometryReader.h.

◆ InputImageType

template<typename TInputImage >
using rtk::ImagXGeometryReader< TInputImage >::InputImageType = TInputImage

Some convenient type alias.

Definition at line 69 of file rtkImagXGeometryReader.h.

◆ Pointer

template<typename TInputImage >
using rtk::ImagXGeometryReader< TInputImage >::Pointer = itk::SmartPointer<Self>

Definition at line 49 of file rtkImagXGeometryReader.h.

◆ Self

template<typename TInputImage >
using rtk::ImagXGeometryReader< TInputImage >::Self = ImagXGeometryReader

Standard type alias

Definition at line 47 of file rtkImagXGeometryReader.h.

◆ Superclass

template<typename TInputImage >
using rtk::ImagXGeometryReader< TInputImage >::Superclass = itk::LightProcessObject

Definition at line 48 of file rtkImagXGeometryReader.h.

Constructor & Destructor Documentation

◆ ImagXGeometryReader()

template<typename TInputImage >
rtk::ImagXGeometryReader< TInputImage >::ImagXGeometryReader ( )
inlineprotected

Definition at line 105 of file rtkImagXGeometryReader.h.

◆ ~ImagXGeometryReader()

template<typename TInputImage >
rtk::ImagXGeometryReader< TInputImage >::~ImagXGeometryReader ( )
overrideprotecteddefault

Member Function Documentation

◆ addEntryToGeometry() [1/3]

template<typename TInputImage >
void rtk::ImagXGeometryReader< TInputImage >::addEntryToGeometry ( float  gantryAngleDegree,
float  nozzleToRadAngleOffset,
float  sid,
float  sdd,
std::vector< float > &  detTrans,
std::vector< float > &  detRot,
std::vector< float > &  srcTrans 
)
private

◆ addEntryToGeometry() [2/3]

template<typename TInputImage >
void rtk::ImagXGeometryReader< TInputImage >::addEntryToGeometry ( const FlexmapType f,
float  gantryAngle 
)
private

◆ addEntryToGeometry() [3/3]

template<typename TInputImage >
void rtk::ImagXGeometryReader< TInputImage >::addEntryToGeometry ( const CalibrationModelType c,
float  gantryAngle 
)
private

◆ CreateAnother()

template<typename TInputImage >
virtual::itk::LightObject::Pointer rtk::ImagXGeometryReader< TInputImage >::CreateAnother ( ) const
virtual

Reimplemented from itk::Object.

◆ GenerateData()

template<typename TInputImage >
void rtk::ImagXGeometryReader< TInputImage >::GenerateData ( )
overrideprivatevirtual

Reimplemented from itk::LightProcessObject.

◆ getAIversion()

template<typename TInputImage >
std::string rtk::ImagXGeometryReader< TInputImage >::getAIversion ( )
private

◆ GetCalibrationXMLFileName()

template<typename TInputImage >
virtual std::string rtk::ImagXGeometryReader< TInputImage >::GetCalibrationXMLFileName ( )
virtual

Set the iMagX calibration xml file

◆ getDeformations()

template<typename TInputImage >
std::vector<float> rtk::ImagXGeometryReader< TInputImage >::getDeformations ( float  gantryAngle,
const std::vector< float > &  Dx,
const std::vector< float > &  Dy,
const std::vector< float > &  Dz 
)
private

◆ GetGeometry()

template<typename TInputImage >
virtual GeometryType::Pointer rtk::ImagXGeometryReader< TInputImage >::GetGeometry ( )
virtual

Get the pointer to the generated geometry object.

◆ GetGeometryForAI1p5()

template<typename TInputImage >
CalibrationModelType rtk::ImagXGeometryReader< TInputImage >::GetGeometryForAI1p5 ( )
private

◆ GetGeometryForAI1p5FromXMLFiles()

template<typename TInputImage >
CalibrationModelType rtk::ImagXGeometryReader< TInputImage >::GetGeometryForAI1p5FromXMLFiles ( )
private

◆ GetGeometryForAI2p1()

template<typename TInputImage >
FlexmapType rtk::ImagXGeometryReader< TInputImage >::GetGeometryForAI2p1 ( )
private

◆ getInterpolatedValue()

template<typename TInputImage >
std::vector<float> rtk::ImagXGeometryReader< TInputImage >::getInterpolatedValue ( const InterpResultType ires,
const std::vector< float > &  Dx,
const std::vector< float > &  Dy,
const std::vector< float > &  Dz 
)
private

◆ GetNameOfClass()

template<typename TInputImage >
virtual const char* rtk::ImagXGeometryReader< TInputImage >::GetNameOfClass ( ) const
virtual

Run-time type information (and related methods).

Reimplemented from itk::LightProcessObject.

◆ GetProjectionsFileNames()

template<typename TInputImage >
const FileNamesContainer& rtk::ImagXGeometryReader< TInputImage >::GetProjectionsFileNames ( ) const
inline

Set the vector of strings that contains the projection file names. Files are processed in sequential order.

Definition at line 98 of file rtkImagXGeometryReader.h.

◆ GetRoomXMLFileName()

template<typename TInputImage >
virtual std::string rtk::ImagXGeometryReader< TInputImage >::GetRoomXMLFileName ( )
virtual

Set the iMagX room setup xml file

◆ interpolate()

template<typename TInputImage >
InterpResultType rtk::ImagXGeometryReader< TInputImage >::interpolate ( const std::vector< float > &  flexAngles,
bool  bIsCW,
float  angleDegree 
)
private

◆ isCW()

template<typename TInputImage >
bool rtk::ImagXGeometryReader< TInputImage >::isCW ( const std::vector< float > &  angles)
private

◆ New()

template<typename TInputImage >
static Pointer rtk::ImagXGeometryReader< TInputImage >::New ( )
static

Method for creation through the object factory.

◆ SetCalibrationXMLFileName()

template<typename TInputImage >
virtual void rtk::ImagXGeometryReader< TInputImage >::SetCalibrationXMLFileName ( std::string  _arg)
virtual

Set the iMagX calibration xml file

◆ SetProjectionsFileNames()

template<typename TInputImage >
void rtk::ImagXGeometryReader< TInputImage >::SetProjectionsFileNames ( const FileNamesContainer name)
inline

Set the vector of strings that contains the projection file names. Files are processed in sequential order.

Definition at line 89 of file rtkImagXGeometryReader.h.

◆ SetRoomXMLFileName()

template<typename TInputImage >
virtual void rtk::ImagXGeometryReader< TInputImage >::SetRoomXMLFileName ( std::string  _arg)
virtual

Set the iMagX room setup xml file

Member Data Documentation

◆ m_AI_VERSION_1p2

template<typename TInputImage >
const std::string rtk::ImagXGeometryReader< TInputImage >::m_AI_VERSION_1p2
staticprivate

Definition at line 118 of file rtkImagXGeometryReader.h.

◆ m_AI_VERSION_1p5

template<typename TInputImage >
const std::string rtk::ImagXGeometryReader< TInputImage >::m_AI_VERSION_1p5
staticprivate

Definition at line 119 of file rtkImagXGeometryReader.h.

◆ m_AI_VERSION_2pX

template<typename TInputImage >
const std::string rtk::ImagXGeometryReader< TInputImage >::m_AI_VERSION_2pX
staticprivate

Definition at line 120 of file rtkImagXGeometryReader.h.

◆ m_CalibrationXMLFileName

template<typename TInputImage >
std::string rtk::ImagXGeometryReader< TInputImage >::m_CalibrationXMLFileName
private

Definition at line 215 of file rtkImagXGeometryReader.h.

◆ m_Geometry

template<typename TInputImage >
GeometryType::Pointer rtk::ImagXGeometryReader< TInputImage >::m_Geometry
private

Definition at line 214 of file rtkImagXGeometryReader.h.

◆ m_ProjectionsFileNames

template<typename TInputImage >
FileNamesContainer rtk::ImagXGeometryReader< TInputImage >::m_ProjectionsFileNames
private

Definition at line 217 of file rtkImagXGeometryReader.h.

◆ m_RoomXMLFileName

template<typename TInputImage >
std::string rtk::ImagXGeometryReader< TInputImage >::m_RoomXMLFileName
private

Definition at line 216 of file rtkImagXGeometryReader.h.


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