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.

Author
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 ( )
protected
rtk::ElektaXVI5GeometryXMLFileReader::~ElektaXVI5GeometryXMLFileReader ( )
overrideprotecteddefault

Member Function Documentation

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

Determine if a file can be read

Implements itk::XMLReaderBase.

void rtk::ElektaXVI5GeometryXMLFileReader::CharacterDataHandler ( const char *  inData,
int  inLength 
)
overrideprotectedvirtual

Implements itk::XMLReaderBase.

virtual::itk::LightObject::Pointer rtk::ElektaXVI5GeometryXMLFileReader::CreateAnother ( ) const
virtual

Reimplemented from itk::LightProcessObject.

void rtk::ElektaXVI5GeometryXMLFileReader::EndElement ( const char *  name)
overrideprotectedvirtual

Implements itk::XMLReaderBase.

virtual GeometryPointer rtk::ElektaXVI5GeometryXMLFileReader::GetGeometry ( )
virtual

Get smart pointer to projection geometry.

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

Run-time type information (and related methods).

Reimplemented from itk::LightProcessObject.

static Pointer rtk::ElektaXVI5GeometryXMLFileReader::New ( )
static

Method for creation through the object factory.

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

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

Implements itk::XMLReaderBase.

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

Member Data Documentation

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

Latest version

Definition at line 62 of file rtkElektaXVI5GeometryXMLFile.h.

std::string rtk::ElektaXVI5GeometryXMLFileReader::m_CurCharacterData
private

Definition at line 94 of file rtkElektaXVI5GeometryXMLFile.h.

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

Definition at line 99 of file rtkElektaXVI5GeometryXMLFile.h.

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

Definition at line 92 of file rtkElektaXVI5GeometryXMLFile.h.

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

Projection parameters

Definition at line 97 of file rtkElektaXVI5GeometryXMLFile.h.

ThreeDCircularProjectionGeometry::MatrixType rtk::ElektaXVI5GeometryXMLFileReader::m_Matrix
private

Projection matrix

Definition at line 108 of file rtkElektaXVI5GeometryXMLFile.h.

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

Definition at line 98 of file rtkElektaXVI5GeometryXMLFile.h.

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

Definition at line 104 of file rtkElektaXVI5GeometryXMLFile.h.

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

Definition at line 105 of file rtkElektaXVI5GeometryXMLFile.h.

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

Definition at line 101 of file rtkElektaXVI5GeometryXMLFile.h.

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

Definition at line 102 of file rtkElektaXVI5GeometryXMLFile.h.

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

Definition at line 103 of file rtkElektaXVI5GeometryXMLFile.h.

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

Definition at line 100 of file rtkElektaXVI5GeometryXMLFile.h.


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