ImFusion C++ SDK 4.4.0
ImFusion::Dicom::EncryptedAttributesExtension Class Reference
Inheritance diagram for ImFusion::Dicom::EncryptedAttributesExtension:

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
 Load the data from DICOM to the given SharedImageSet.
virtual void save (const FrameDescriptor &frame, const SharedImageSet &sis) const override
 Save data from the given SharedImageSet to DICOM.
Public Member Functions inherited from ImFusion::Dicom::Extension
bool enabled () const
void setEnabled (bool enable=true)
virtual bool showInWriterUI () const
 Whether this extension will show up in the UI and can be enabled/disabled by the user.
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::EncryptedAttributesExtension::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::EncryptedAttributesExtension::name ( ) const
inlineoverridevirtual

Return a unique display string for this extension.

Implements ImFusion::Dicom::Extension.

◆ load()

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

Load the data from DICOM to the given SharedImageSet.

This method will be called once for each frame that was generated by the Dicom::IOD which created the SharedImageSet. Use FrameDescriptor::iod to access the DICOM tags and FrameDescriptor::sharedImageIndex/sliceIndex to figure out which frame data should get loaded. The matrix parameters of frame should be ignored. Use the matrix of the SharedImageSet instead. DicomLoader will basically just iterate overall all slices and call this method. E.g. for a SharedImageSet containing two volumes with 4 slices, this method would be called with the following indices:

sharedImageIndex sliceIndex
0 0
0 1
0 2
0 3
1 0
1 1
1 2
1 3

Derived classes might also need to differentiate between classic single frame DICOMs (Dicom::MultiFrameIOD) and enhanced multiframe DICOMs (Dicom::EnhancedMultiFrameImageIOD). This should be done by dynamic_casting the frame.iod to Dicom::EnhancedMultiFrameImageIOD and assume a classic DICOM otherwise. Use frame.index to access Dicom::EnhancedMultiFrameImageIOD::perFrameSequence.

Implements ImFusion::Dicom::Extension.

◆ save()

virtual void ImFusion::Dicom::EncryptedAttributesExtension::save ( const FrameDescriptor & frame,
const SharedImageSet & sis ) const
overridevirtual

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.


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