ImFusion C++ SDK 4.5.0
ImFusion::Dicom::RealWorldValueMappingExtension Class Reference

#include <ImFusion/Dicom/RealWorldValueMappingExtension.h>

Real World Value Mapping Macro (PS 3.3 C.7.6.16.2.11). More...

Inheritance diagram for ImFusion::Dicom::RealWorldValueMappingExtension:

Detailed Description

Public Member Functions

std::unique_ptr< Extensionclone () const override
 Return a clone this object Usually the implementation will look like this:
std::string name () const override
 Return a unique display string for this extension.
std::vector< std::unique_ptr< Data > > load (const FrameDescriptor &frame, SharedImageSet &sis) const override
 Loads the Real-World-Value-Mapping and creates a RealWorldMappingDataComponent accordingly.
void save (const FrameDescriptor &frame, const SharedImageSet &sis) const override
 Save data from the given SharedImageSet to DICOM.
bool showInWriterUI () const override
 Whether this extension will show up in the UI and can be enabled/disabled by the user.
Public Member Functions inherited from ImFusion::Dicom::Extension
bool enabled () const
void setEnabled (bool enable=true)
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

Additional Inherited Members

Public Types inherited from ImFusion::Dicom::ErrorRecorder
using ErrorCallback = std::function<void(const Error&)>
 Alias for a function to call for each error recorded.

Member Function Documentation

◆ clone()

std::unique_ptr< Extension > ImFusion::Dicom::RealWorldValueMappingExtension::clone ( ) const
inlineoverridevirtual

Return a clone this object Usually the implementation will look like this:

T make_unique(T... args)

Implements ImFusion::Dicom::Extension.

◆ name()

std::string ImFusion::Dicom::RealWorldValueMappingExtension::name ( ) const
overridevirtual

Return a unique display string for this extension.

Implements ImFusion::Dicom::Extension.

◆ load()

std::vector< std::unique_ptr< Data > > ImFusion::Dicom::RealWorldValueMappingExtension::load ( const FrameDescriptor & frame,
SharedImageSet & sis ) const
overridevirtual

Loads the Real-World-Value-Mapping and creates a RealWorldMappingDataComponent accordingly.

Since DICOM defines this mapping on the unmodified storage values, make sure that this method is not called after the storage values have been changed (e.g. through MemImage::prepare). For this reason, Real-World-Value-Mapping is not supported with non-linear modality LUTs.

Implements ImFusion::Dicom::Extension.

◆ save()

void ImFusion::Dicom::RealWorldValueMappingExtension::save ( const FrameDescriptor & frame,
const SharedImageSet & sis ) const
inlineoverridevirtual

Save data from the given SharedImageSet to DICOM.

This method will be called once for each frame of the SharedImageSet. Use FrameDescriptor::iod to access the DICOM tags and FrameDescriptor::sharedImageIndex/sliceIndex to figure out which frame data should be saved. The matrix parameters of frame should be ignored. Use the matrix of the SharedImageSet instead.

Implements ImFusion::Dicom::Extension.

◆ showInWriterUI()

bool ImFusion::Dicom::RealWorldValueMappingExtension::showInWriterUI ( ) const
inlineoverridevirtual

Whether this extension will show up in the UI and can be enabled/disabled by the user.

The save method will be called independently of this value. This is useful if the extension only implements load.

Reimplemented from ImFusion::Dicom::Extension.


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