![]() |
ImFusion SDK 4.3
|
#include <ImFusion/Dicom/DicomIOD.h>
The VolumetricImageIOD is a generic IOD for volumetric data that is stored slice by slice. More...
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< FrameDescriptorSet > | sortAndGroupFrames (const std::vector< FrameDescriptor > &frames) const override |
Sorts and groups the frame into volumetric groups if possible. | |
std::vector< FrameDescriptor > | loadFrames () 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. | |
![]() | |
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. | |
![]() | |
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. | |
![]() | |
const std::vector< const Module * > & | modules () const |
List of all modules. | |
![]() | |
const std::vector< ElementBase * > & | elements () const |
List of all elements. | |
![]() | |
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 |
![]() | |
PixelSpacingCalibration | pixelSpacingCalib |
ModalityLUT | modalityLut |
![]() | |
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 | |
![]() | |
using | ErrorCallback = std::function<void(const Error&)> |
Alias for a function to call for each error recorded. | |
![]() | |
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) |
![]() | |
NotCopyable (NotCopyable &&) noexcept=default | |
NotCopyable & | operator= (NotCopyable &&) noexcept=default |
NotCopyable (const NotCopyable &)=delete | |
NotCopyable & | operator= (const NotCopyable &)=delete |
![]() | |
DcmDataset & | m_dataset |
![]() | |
std::vector< const Module * > | m_modules |
List of all modules. | |
![]() | |
std::vector< ElementBase * > | m_elements |
List of all elements. | |
|
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.
|
overridevirtual |
Loads all frames and initializes the matrix of each FrameDescriptor.
Reimplemented from MultiFrameImageIOD.
|
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.