ImFusion C++ SDK 4.5.0
ImFusion::US::DicomGeVividE9IOD Class Reference

#include <ImFusion/US/DicomUltrasoundIOD.h>

Extra IOD specialization for basic support of loading multiple ultrasound volumes created by GE Vivid E9 devices. More...

Inheritance diagram for ImFusion::US::DicomGeVividE9IOD:

Detailed Description

Extra IOD specialization for basic support of loading multiple ultrasound volumes created by GE Vivid E9 devices.

Note
This class is here and not in Dicom/DicomIOD_GE.h so that it takes precedence over DicomUltrasoundIOD.
See also
http://www3.gehealthcare.com/~/media/documents/us-global/products/interoperability/dicom/ultrasound/gehc-dicom-conformance_vivide9-v113_doc1264026_rev1.pdf

Classes

class  VividVolumeGroupItem
 Dicom sequence item representing a sequence of images from a GE Healthcare Vivid E9. More...

Public Member Functions

 DicomGeVividE9IOD (DcmDataset &dataset, const OFString &sopClassUID)
 Loads a dataset from a GE Healthcare Vivid E9 machine according to the given SOPClassUID.
std::vector< Dicom::FrameDescriptorloadFrames () override
 Returns a list of FrameDescriptor grouped by volumeGroups.
std::vector< Dicom::FrameDescriptorSetsortAndGroupFrames (const std::vector< Dicom::FrameDescriptor > &frames) const override
 Returns a vector of FrameDescriptorSet based on slice count.
void loadFrameData (const Dicom::FrameDescriptor &desc, MemImage &image, int slice=-1) override
 Loads the frame data into the given image.
void savePixelData (SharedImageSet &imageSet, int sharedImageIndex, int sliceIndex) override
 This function throws a not implemented error, as we do not support writing files in this format.
DcmDataset & dataset () override
 Returns a reference to the DcmDataset.
Public Member Functions inherited from ImFusion::Dicom::IOD
 IOD (DcmDataset &dataset, const OFString &sopClassUID)
 Creates a new IOD representation using the given DcmDataset and SOP class UID.
virtual void loadFrameProperties (const FrameDescriptor &desc, SharedImageSet &image)
 Loads any additional properties into the given image.
virtual void save (SharedImageSet &imageSet, int sharedImageIndex, int sliceIndex)
 Stores the general image descriptor and metadata of imageSet in the DICOM data set.
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 ImFusion::Dicom::ModuleList
const std::vector< const Module * > & modules () const
 List of all modules.
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

Static Public Member Functions

static Dicom::IODcanLoad (DcmDataset &dataset, const OFString &sopClassUID)
 Returns an IOD* pointing to an instance of this class if the dataset comes from a GE Healthcare Vivid E9 machine and is compliant with the given SOPClassUID.

Public Attributes

Dicom::Element< std::vector< int > > dimensions
 Dimensions of the frames.
Dicom::Element< std::vector< double > > spacing
 Pixel spacing in the 3 dimensions.
Dicom::Sequence< VividVolumeGroupItemvolumeGroups
 Volume groups of the dataset.
Public Attributes inherited from ImFusion::Dicom::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 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::Dicom::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 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::IOD
DcmDataset & m_dataset
Protected Attributes inherited from ImFusion::Dicom::ModuleList
std::vector< const Module * > m_modules
 List of all modules.
Protected Attributes inherited from ImFusion::Dicom::ElementList
std::vector< ElementBase * > m_elements
 List of all elements.

Constructor & Destructor Documentation

◆ DicomGeVividE9IOD()

ImFusion::US::DicomGeVividE9IOD::DicomGeVividE9IOD ( DcmDataset & dataset,
const OFString & sopClassUID )

Loads a dataset from a GE Healthcare Vivid E9 machine according to the given SOPClassUID.

Loads dimensions, spacing and volume groups from the dataset, checks that the obtained dimensions and spacing are made of 3 elements (x,y,z).

Member Function Documentation

◆ loadFrames()

std::vector< Dicom::FrameDescriptor > ImFusion::US::DicomGeVividE9IOD::loadFrames ( )
overridevirtual

Returns a list of FrameDescriptor grouped by volumeGroups.

Implements ImFusion::Dicom::IOD.

◆ sortAndGroupFrames()

std::vector< Dicom::FrameDescriptorSet > ImFusion::US::DicomGeVividE9IOD::sortAndGroupFrames ( const std::vector< Dicom::FrameDescriptor > & frames) const
overridevirtual

Returns a vector of FrameDescriptorSet based on slice count.

For each frame in the input, creates a FrameDescriptorSet containing desc.slices copies of the frame.

Implements ImFusion::Dicom::IOD.

◆ loadFrameData()

void ImFusion::US::DicomGeVividE9IOD::loadFrameData ( const Dicom::FrameDescriptor & desc,
MemImage & image,
int slice = -1 )
overridevirtual

Loads the frame data into the given image.

Note
The use of slice is inherited from Dicom::IOD. Do not set it, or set it to -1.

Implements ImFusion::Dicom::IOD.

◆ savePixelData()

void ImFusion::US::DicomGeVividE9IOD::savePixelData ( SharedImageSet & imageSet,
int sharedImageIndex,
int sliceIndex )
overridevirtual

This function throws a not implemented error, as we do not support writing files in this format.

Implements ImFusion::Dicom::IOD.

◆ dataset()

DcmDataset & ImFusion::US::DicomGeVividE9IOD::dataset ( )
overridevirtual

Returns a reference to the DcmDataset.

Implements ImFusion::Dicom::ModuleList.

◆ canLoad()

Dicom::IOD * ImFusion::US::DicomGeVividE9IOD::canLoad ( DcmDataset & dataset,
const OFString & sopClassUID )
static

Returns an IOD* pointing to an instance of this class if the dataset comes from a GE Healthcare Vivid E9 machine and is compliant with the given SOPClassUID.

Loads dimensions, spacing and volume groups from the dataset. Otherwise, returns nullptr.


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