RTK  2.1.0
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

◆ GeometryPointer

Definition at line 58 of file rtkElektaXVI5GeometryXMLFile.h.

◆ GeometryType

Convenient type alias

Definition at line 57 of file rtkElektaXVI5GeometryXMLFile.h.

◆ Pointer

Definition at line 54 of file rtkElektaXVI5GeometryXMLFile.h.

◆ Self

Standard type alias

Definition at line 52 of file rtkElektaXVI5GeometryXMLFile.h.

◆ Superclass

Definition at line 53 of file rtkElektaXVI5GeometryXMLFile.h.

Constructor & Destructor Documentation

◆ ElektaXVI5GeometryXMLFileReader()

rtk::ElektaXVI5GeometryXMLFileReader::ElektaXVI5GeometryXMLFileReader ( )
protected

◆ ~ElektaXVI5GeometryXMLFileReader()

rtk::ElektaXVI5GeometryXMLFileReader::~ElektaXVI5GeometryXMLFileReader ( )
overrideprotecteddefault

Member Function Documentation

◆ CanReadFile()

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

Determine if a file can be read

Implements itk::XMLReaderBase.

◆ CharacterDataHandler()

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

Implements itk::XMLReaderBase.

◆ CreateAnother()

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

Reimplemented from itk::LightProcessObject.

◆ EndElement()

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

Implements itk::XMLReaderBase.

◆ GetGeometry()

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

Get smart pointer to projection geometry.

◆ GetNameOfClass()

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

Run-time type information (and related methods).

Reimplemented from itk::LightProcessObject.

◆ New()

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

Method for creation through the object factory.

◆ StartElement() [1/2]

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.

◆ StartElement() [2/2]

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

Member Data Documentation

◆ CurrentVersion

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

Latest version

Definition at line 61 of file rtkElektaXVI5GeometryXMLFile.h.

◆ m_CurCharacterData

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

Definition at line 98 of file rtkElektaXVI5GeometryXMLFile.h.

◆ m_GantryAngle

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

Definition at line 103 of file rtkElektaXVI5GeometryXMLFile.h.

◆ m_Geometry

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

Definition at line 96 of file rtkElektaXVI5GeometryXMLFile.h.

◆ m_InPlaneAngle

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

Projection parameters

Definition at line 101 of file rtkElektaXVI5GeometryXMLFile.h.

◆ m_Matrix

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

Projection matrix

Definition at line 112 of file rtkElektaXVI5GeometryXMLFile.h.

◆ m_OutOfPlaneAngle

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

Definition at line 102 of file rtkElektaXVI5GeometryXMLFile.h.

◆ m_ProjectionOffsetX

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

Definition at line 108 of file rtkElektaXVI5GeometryXMLFile.h.

◆ m_ProjectionOffsetY

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

Definition at line 109 of file rtkElektaXVI5GeometryXMLFile.h.

◆ m_SourceOffsetX

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

Definition at line 105 of file rtkElektaXVI5GeometryXMLFile.h.

◆ m_SourceOffsetY

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

Definition at line 106 of file rtkElektaXVI5GeometryXMLFile.h.

◆ m_SourceToDetectorDistance

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

Definition at line 107 of file rtkElektaXVI5GeometryXMLFile.h.

◆ m_SourceToIsocenterDistance

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

Definition at line 104 of file rtkElektaXVI5GeometryXMLFile.h.


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