ImFusion SDK 4.3
XrayPositioning Class Reference

#include <ImFusion/CT/DicomConeBeamIOD.h>

DICOM IOD for cone-beam CT data. More...

+ Inheritance diagram for XrayPositioning:

Detailed Description

DICOM IOD for cone-beam CT data.

Implements DICOM modules for cone-beam geometry and positioning (PS 3.3 C.8.11.5, C.8.7.5).

Classes

class  ZiehmImageSpotPositionSequence
 This is a implementation private Ziehm tag Sequence see: https://www.ziehm.com/fileadmin/user_upload/row/Footer/DICOM_EN_28415_01_01_2018.pdf. More...
 

Public Member Functions

 XrayPositioning (Dicom::ModuleList &parent, Dicom::Module::Type type)
 
void loadGeometry (SharedImageSet &coneBeamData, int which)
 Loads geometry data if available of frame 'which'.
 
- Public Member Functions inherited from Module
 Module (ModuleList &parent, Type type)
 Creates a new Dicom Module, registers it with the given parent and sets the given type/conditionality.
 
virtual bool isMandatory () const
 Evaluates whether this module is mandatory (based on the specified type and optionally condition).
 
void setCondition (std::function< bool()> predicate)
 Sets a callback function that determines if a conditional module is mandatory.
 
virtual void checkErrors (bool ignoreMandatory=false) const
 Checks the module for errors.
 
DcmItem & dataset () override
 Returns the data set this module corresponds to.
 
- Public Member Functions inherited from ElementList
const std::vector< ElementBase * > & elements () const
 List of all elements.
 
- Public Member Functions inherited from ErrorRecorder
virtual void * registerErrorHandler (ErrorCallback handler)
 Registers a new handler callback function.
 
virtual void unregisterErrorHandler (void *handler)
 Removes a previously registered handler again.
 
void * forwardErrors (const ErrorRecorder *otherRecorder)
 Convenient function to forward all errors registered to this recorder to another recorder.
 
virtual void registerError (const Error &error) const
 Sends the given error to all error handler callbacks.
 
void registerError (Error::Code code, Error::Type type, const std::string &details, TagProxy tag=TagProxy()) const
 

Static Public Member Functions

static void setFlipAndCropZiehmData (bool enable)
 Enables or disables automatic cropping and flipping of Ziehm CBCT data (default: enabled)
 

Public Attributes

Dicom::Element< double > primaryAngle
 
Dicom::Element< double > secondaryAngle
 
Dicom::Element< std::vector< double > > primaryAngleIncrement
 
Dicom::Element< double > secondaryAngleIncrement
 
Dicom::Element< double > distanceSourceToDetector
 
Dicom::Element< double > distanceSourceToPatient
 
Dicom::Element< double > distanceSourceToIsoCenter
 
Dicom::Element< vec2 > imagerPixelSpacing
 
Dicom::Element< std::vector< double > > fieldOfViewDimensions
 
Dicom::Element< vec2 > detectorElementSpacing
 
Dicom::Element< std::vector< double > > ziehmImagePosition
 
Dicom::Element< std::vector< double > > ziehmSpotPosition
 
Dicom::Sequence< ZiehmImageSpotPositionSequenceziehmSequence
 
Dicom::Element< vec2 > imagePlanePixelSpacing
 
Dicom::Element< std::stringcollLeftVertEdge
 
Dicom::Element< std::stringcollRightVertEdge
 
Dicom::Element< std::stringcollUpperHorEdge
 
Dicom::Element< std::stringcollLowerHorEdge
 
Dicom::Element< std::stringsourceAxisDistance
 
Dicom::Element< std::stringaAxisDegrees
 
Dicom::Element< std::stringcAxisDegrees
 
Dicom::Element< std::stringyAxisDegrees
 
Dicom::Element< std::stringzAxisDegrees
 
Dicom::Element< std::vector< unsigned char > > detectorElementTransverseSpacing
 
Dicom::Element< std::vector< unsigned char > > detectorElementAxialSpacing
 
Dicom::Element< std::vector< unsigned char > > constantRadialDistance
 
Dicom::Element< std::vector< unsigned char > > detectorFocalCenterAngularPosition
 
Dicom::Element< std::vector< unsigned char > > detectorFocalCenterAxialPosition
 
Dicom::Element< std::vector< unsigned char > > detectorFocalCenterRadialDistance
 
Dicom::Element< std::vector< unsigned char > > detectorCentralElement
 
Dicom::Element< std::vector< unsigned char > > sourceAngularPositionShift
 
Dicom::Element< std::vector< unsigned char > > sourceAxialPositionShift
 
Dicom::Element< std::vector< unsigned char > > sourceRadialDistanceShift
 
Dicom::Element< double > rescaleIntercept
 
Dicom::Element< double > rescaleSlope
 
Dicom::Element< std::vector< unsigned char > > detectorShape
 
Dicom::Element< double > spiralPitchFactor
 
Dicom::Element< std::stringimageType
 
Dicom::Element< std::vector< double > > siemensDetectorRotation
 
Dicom::Element< int > siemensSourceIsoCenter
 

Additional Inherited Members

- Public Types inherited from Module
enum  Type { Mandatory , UserOption , Conditional }
 Conditionality of the module.
 
- Public Types inherited from ErrorRecorder
using ErrorCallback = std::function<void(const Error&)>
 Alias for a function to call for each error recorded.
 
- Protected Member Functions inherited from NotCopyable
 NotCopyable (NotCopyable &&) noexcept=default
 
NotCopyableoperator= (NotCopyable &&) noexcept=default
 
 NotCopyable (const NotCopyable &)=delete
 
NotCopyableoperator= (const NotCopyable &)=delete
 
- Protected Attributes inherited from Module
ModuleListm_parent
 List this module is part of.
 
DcmItem & m_dataset
 The data set this module corresponds to.
 
Type m_type
 Conditionality of this module.
 
std::function< bool()> m_typeCondition
 Optional predicate function to evaluate mandatoriness.
 
- Protected Attributes inherited from ElementList
std::vector< ElementBase * > m_elements
 List of all elements.
 

Member Function Documentation

◆ loadGeometry()

void loadGeometry ( SharedImageSet & coneBeamData,
int which )

Loads geometry data if available of frame 'which'.

Automatically resizes vectors in geometry to totalNumFrames.


The documentation for this class was generated from the following file:
Search Tab / S to search, Esc to close