ImFusion C++ SDK 4.4.0
ImFusion::Dicom::ImagePlane Class Reference

#include <ImFusion/Dicom/DicomModule.h>

Image Plane Module (PS 3.3 C.7.6.2). More...

Inheritance diagram for ImFusion::Dicom::ImagePlane:

Detailed Description

Classes

class  DetectorInformationSequence
 C.8.4.11 NM Detector Module. More...

Public Member Functions

 ImagePlane (ModuleList &parent, Type type, bool searchIntoSubs=false)
bool computeTransformation (const ImageDescriptor &desc, mat4 &matrixOut) const
 Compute plane transformation from the position and orientation.
void saveTransformation (const ImageDescriptor &desc, const mat4 &matrix, int sliceIndex)
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

Public Attributes

Element< double > sliceThickness
Element< double > spacingBetweenSlices
Element< std::vector< double > > imagePositionPatient
Element< std::vector< double > > imageOrientationPatient
Dicom::Sequence< DetectorInformationSequencedetectorInformationSequence

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

◆ computeTransformation()

bool ImFusion::Dicom::ImagePlane::computeTransformation ( const ImageDescriptor & desc,
mat4 & matrixOut ) const

Compute plane transformation from the position and orientation.

The descriptor must already contain the final spacing in 2D. If the plane transformation could be determined, matrix will be set to the transformation and true is returned. Otherwise the matrix will be set to identity and false is returned. See also ImFusion::Slice on how the properties (e.g. normal or position) of the plane can be extracted.


The documentation for this class was generated from the following file:
  • ImFusion/Dicom/DicomModule.h
Search Tab / S to search, Esc to close