RTK  2.0.1
Reconstruction Toolkit
Public Types | Public Member Functions | Static Public Member Functions | Static Public Attributes | Protected Member Functions | Private Attributes | List of all members
rtk::ElektaXVI5GeometryXMLFileReader Class Reference

#include <rtkElektaXVI5GeometryXMLFile.h>

+ Inheritance diagram for rtk::ElektaXVI5GeometryXMLFileReader:
+ Collaboration diagram for rtk::ElektaXVI5GeometryXMLFileReader:

Public Types

using GeometryPointer = GeometryType::Pointer
using GeometryType = ThreeDCircularProjectionGeometry
using Pointer = itk::SmartPointer< Self >
using Self = ElektaXVI5GeometryXMLFileReader
using Superclass = itk::XMLReader< ThreeDCircularProjectionGeometry >

Public Member Functions

int CanReadFile (const char *name) override
virtual ::itk::LightObject::Pointer CreateAnother () const
virtual GeometryPointer GetGeometry ()
virtual const char * GetNameOfClass () const

Static Public Member Functions

static Pointer New ()

Static Public Attributes

static const unsigned int CurrentVersion = 2

Protected Member Functions

void CharacterDataHandler (const char *inData, int inLength) override
 ElektaXVI5GeometryXMLFileReader ()
void EndElement (const char *name) override
void StartElement (const char *name, const char **atts) override
void StartElement (const char *name)
 ~ElektaXVI5GeometryXMLFileReader () override=default

Private Attributes

std::string m_CurCharacterData
double m_GantryAngle {0.}
GeometryPointer m_Geometry {GeometryType::New()}
double m_InPlaneAngle {0.}
ThreeDCircularProjectionGeometry::MatrixType m_Matrix
double m_OutOfPlaneAngle {0.}
double m_ProjectionOffsetX {0.}
double m_ProjectionOffsetY {0.}
double m_SourceOffsetX {0.}
double m_SourceOffsetY {0.}
double m_SourceToDetectorDistance {1536.}
double m_SourceToIsocenterDistance {1000.}

Detailed Description

Reads an XML-format file of XVI version = 5.0.2 (_Frame.xml in each projection directory). From XVI_v5 on, thre is no need of accessing .DBF files (FRAME.DBF / IMAGE.DBF). This class is basically inspired by ThreeDCircularProjectionGeometryXMLFileReader. Writer is not implemented. SAD = 1000 mm, SID = 1536 mm are hard-coded since _Frame.xml doesn't include these values. Regarding PanelOffset, XVI5 specifies position of the center (UCentre, VCentre) instead of offset. Therefore, negation is required to get classical m_ProjectionOffsetX and m_ProjectionOffsetY values.

Yang K Park (theda.nosp@m.y79@.nosp@m.gmail.nosp@m..com)

Definition at line 46 of file rtkElektaXVI5GeometryXMLFile.h.

Member Typedef Documentation

Definition at line 59 of file rtkElektaXVI5GeometryXMLFile.h.

Convenient type alias

Definition at line 58 of file rtkElektaXVI5GeometryXMLFile.h.

Definition at line 55 of file rtkElektaXVI5GeometryXMLFile.h.

Standard type alias

Definition at line 53 of file rtkElektaXVI5GeometryXMLFile.h.

Definition at line 54 of file rtkElektaXVI5GeometryXMLFile.h.

Constructor & Destructor Documentation

rtk::ElektaXVI5GeometryXMLFileReader::ElektaXVI5GeometryXMLFileReader ( )
rtk::ElektaXVI5GeometryXMLFileReader::~ElektaXVI5GeometryXMLFileReader ( )

Member Function Documentation

int rtk::ElektaXVI5GeometryXMLFileReader::CanReadFile ( const char *  name)

Determine if a file can be read

void rtk::ElektaXVI5GeometryXMLFileReader::CharacterDataHandler ( const char *  inData,
int  inLength 
virtual::itk::LightObject::Pointer rtk::ElektaXVI5GeometryXMLFileReader::CreateAnother ( ) const
void rtk::ElektaXVI5GeometryXMLFileReader::EndElement ( const char *  name)
virtual GeometryPointer rtk::ElektaXVI5GeometryXMLFileReader::GetGeometry ( )

Get smart pointer to projection geometry.

virtual const char* rtk::ElektaXVI5GeometryXMLFileReader::GetNameOfClass ( ) const

Run-time type information (and related methods).

Reimplemented from itk::LightProcessObject.

static Pointer rtk::ElektaXVI5GeometryXMLFileReader::New ( )

Method for creation through the object factory.

void rtk::ElektaXVI5GeometryXMLFileReader::StartElement ( const char *  name,
const char **  atts 

Callback function – called from XML parser with start-of-element information.

void rtk::ElektaXVI5GeometryXMLFileReader::StartElement ( const char *  name)

Member Data Documentation

const unsigned int rtk::ElektaXVI5GeometryXMLFileReader::CurrentVersion = 2

Latest version

Definition at line 62 of file rtkElektaXVI5GeometryXMLFile.h.

std::string rtk::ElektaXVI5GeometryXMLFileReader::m_CurCharacterData

Definition at line 94 of file rtkElektaXVI5GeometryXMLFile.h.

double rtk::ElektaXVI5GeometryXMLFileReader::m_GantryAngle {0.}

Definition at line 99 of file rtkElektaXVI5GeometryXMLFile.h.

GeometryPointer rtk::ElektaXVI5GeometryXMLFileReader::m_Geometry {GeometryType::New()}

Definition at line 92 of file rtkElektaXVI5GeometryXMLFile.h.

double rtk::ElektaXVI5GeometryXMLFileReader::m_InPlaneAngle {0.}

Projection parameters

Definition at line 97 of file rtkElektaXVI5GeometryXMLFile.h.

ThreeDCircularProjectionGeometry::MatrixType rtk::ElektaXVI5GeometryXMLFileReader::m_Matrix

Projection matrix

Definition at line 108 of file rtkElektaXVI5GeometryXMLFile.h.

double rtk::ElektaXVI5GeometryXMLFileReader::m_OutOfPlaneAngle {0.}

Definition at line 98 of file rtkElektaXVI5GeometryXMLFile.h.

double rtk::ElektaXVI5GeometryXMLFileReader::m_ProjectionOffsetX {0.}

Definition at line 104 of file rtkElektaXVI5GeometryXMLFile.h.

double rtk::ElektaXVI5GeometryXMLFileReader::m_ProjectionOffsetY {0.}

Definition at line 105 of file rtkElektaXVI5GeometryXMLFile.h.

double rtk::ElektaXVI5GeometryXMLFileReader::m_SourceOffsetX {0.}

Definition at line 101 of file rtkElektaXVI5GeometryXMLFile.h.

double rtk::ElektaXVI5GeometryXMLFileReader::m_SourceOffsetY {0.}

Definition at line 102 of file rtkElektaXVI5GeometryXMLFile.h.

double rtk::ElektaXVI5GeometryXMLFileReader::m_SourceToDetectorDistance {1536.}

Definition at line 103 of file rtkElektaXVI5GeometryXMLFile.h.

double rtk::ElektaXVI5GeometryXMLFileReader::m_SourceToIsocenterDistance {1000.}

Definition at line 100 of file rtkElektaXVI5GeometryXMLFile.h.

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