ImFusion SDK 4.3
VolumetricImageIOD Class Reference

#include <ImFusion/Dicom/DicomIOD.h>

The VolumetricImageIOD is a generic IOD for volumetric data that is stored slice by slice. More...

+ Inheritance diagram for VolumetricImageIOD:

Detailed Description

The VolumetricImageIOD is a generic IOD for volumetric data that is stored slice by slice.

The frame loaded by this class usually has some kind of transformation. Multiple frames with the same orientation and an uniform spacing can be combined into a volume.

If numberOfFrames is greater than 1, the frames are stacked from feet to head with a spacing of spacingBetweenSlices (or sliceThickness).

Relevant IODs:

Public Member Functions

 VolumetricImageIOD (DcmDataset &dataset, const OFString &sopClassUID)
 
std::vector< FrameDescriptorSetsortAndGroupFrames (const std::vector< FrameDescriptor > &frames) const override
 Sorts and groups the frame into volumetric groups if possible.
 
std::vector< FrameDescriptorloadFrames () override
 Loads all frames and initializes the matrix of each FrameDescriptor.
 
void save (SharedImageSet &imageSet, int sharedImageIndex, int sliceIndex) override
 Stores the general image descriptor and metadata of imageSet in the DICOM data set.
 
- Public Member Functions inherited from MultiFrameImageIOD
 MultiFrameImageIOD (DcmDataset &dataset, const OFString &sopClassUID)
 
void loadFrameData (const FrameDescriptor &desc, MemImage &image, int slice=-1) override
 Loads the actual frame data into the given image.
 
void loadFrameProperties (const FrameDescriptor &desc, SharedImageSet &image) override
 Loads any additional properties into the given image.
 
void savePixelData (SharedImageSet &imageSet, int sharedImageIndex, int sliceIndex) override
 Writes the pixel data of imageSet in the DICOM data set.
 
- Public Member Functions inherited from IOD
 IOD (DcmDataset &dataset, const OFString &sopClassUID)
 Creates a new IOD representation using the given DcmDataset and SOP class UID.
 
virtual void checkErrors () const
 Checks modules for errors and adds them to the list.
 
template<typename T>
const T * searchModule ()
 Returns the first module of the given type or nullptr if no such module exists.
 
DcmDataset & dataset () override
 Returns the dataset represented by this IOD.
 
- Public Member Functions inherited from ModuleList
const std::vector< const Module * > & modules () const
 List of all modules.
 
- 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
 

Public Attributes

ImagePlane imagePlane
 
Element< int > echoNumbers
 
Element< int > acquisitionNumber
 
Dicom::Element< std::vector< int > > sliceVector
 The following elements are used for sorting if numberOfFrames is greater 1:
 
Dicom::Element< std::vector< int > > angularViewVector
 
- Public Attributes inherited from MultiFrameImageIOD
PixelSpacingCalibration pixelSpacingCalib
 
ModalityLUT modalityLut
 
- Public Attributes inherited from IOD
const OFString sopClassUID
 DICOM SOP used.
 
std::string pathInfo
 Optional information from which file this IOD was loaded from (only use for display purposes)
 
CommonModule common
 
ImagePixel imagePixel
 
Element< int > numberOfFrames
 If this element exists and is larger than 1, multiple frames will be loaded regardless of the SOP Class defining it or not.
 

Additional Inherited Members

- 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 ModuleList
virtual void addModule (const Module &m)
 Adds a the module to the list. Should only be called by the Module constructor.
 
virtual void removeModule (const Module &m)
 
- 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 IOD
DcmDataset & m_dataset
 
- Protected Attributes inherited from ModuleList
std::vector< const Module * > m_modules
 List of all modules.
 
- Protected Attributes inherited from ElementList
std::vector< ElementBase * > m_elements
 List of all elements.
 

Member Function Documentation

◆ sortAndGroupFrames()

std::vector< FrameDescriptorSet > sortAndGroupFrames ( const std::vector< FrameDescriptor > & frames) const
overridevirtual

Sorts and groups the frame into volumetric groups if possible.

MR images might be split into groups according to their echo numbers.

WARNING: This method currently removes duplicate frames that have the same instance number and instance uid. This will be removed in the future.

Reimplemented from MultiFrameImageIOD.

◆ loadFrames()

std::vector< FrameDescriptor > loadFrames ( )
overridevirtual

Loads all frames and initializes the matrix of each FrameDescriptor.

Reimplemented from MultiFrameImageIOD.

◆ save()

void save ( SharedImageSet & imageSet,
int sharedImageIndex,
int sliceIndex )
overridevirtual

Stores the general image descriptor and metadata of imageSet in the DICOM data set.

sharedImageIndex and sliceIndex describe which part of the image set should be stored.

Reimplemented from MultiFrameImageIOD.


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