ImFusion C++ SDK 4.4.0
ImFusion::CT::XrayPositioning Class Reference

#include <ImFusion/CT/DicomConeBeamIOD.h>

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

Inheritance diagram for ImFusion::CT::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 ImFusion::Dicom::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 ImFusion::Dicom::ElementList
const std::vector< ElementBase * > & elements () const
 List of all elements.
Public Member Functions inherited from ImFusion::Dicom::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 ImFusion::Dicom::Module
enum  Type { Mandatory , UserOption , Conditional }
 Conditionality of the module.
Public Types inherited from ImFusion::Dicom::ErrorRecorder
using ErrorCallback = std::function<void(const Error&)>
 Alias for a function to call for each error recorded.
Protected Member Functions inherited from ImFusion::Utils::NotCopyable
 NotCopyable (NotCopyable &&) noexcept=default
NotCopyable & operator= (NotCopyable &&) noexcept=default
 NotCopyable (const NotCopyable &)=delete
NotCopyable & operator= (const NotCopyable &)=delete
Protected Attributes inherited from ImFusion::Dicom::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 ImFusion::Dicom::ElementList
std::vector< ElementBase * > m_elements
 List of all elements.

Member Function Documentation

◆ loadGeometry()

void ImFusion::CT::XrayPositioning::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:
  • ImFusion/CT/DicomConeBeamIOD.h
Search Tab / S to search, Esc to close