MeVisLab Toolbox Reference
mlEnhancedMultiFrameTools.h File Reference

A set of tool functions for enhanced multi-frame export. More...

#include "MLMLToDicomToolsSystem.h"
#include <mlModuleIncludes.h>
#include <DCMTree_Tree.h>
#include <DCMTree_DicomTags.h>
#include <DICOMPart16Tables.h>
#include <list>

Go to the source code of this file.

Classes

struct  ml::SourceFrameReference
 Structure to collect important information of input frames. More...
 
struct  ml::EnhancedMFObjectInfosBase
 Currently empty class used as base for all classes carrying additional IOD object information. More...
 
struct  ml::LegacyConvertedEnhancedMRInfos
 Structure providing additional (IOD specific) information for Legacy Converted Enhanced MR; still nothing special inside, but used to identify LegacyConvertedEnhancedMR export type via rtti. More...
 
struct  ml::SegmentInfos
 Structure providing SEG IOD specific information for and about composed BitImage Frame heap to be saved. More...
 
struct  ml::EnhancedMFSEGObjectInfos
 Structure providing SEG IOD specific information for and about composed BitImage Frame heap to be saved; also used to identify LegacyConvertedEnhancedMR export type via rtti. More...
 

Namespaces

namespace  ml
 Main documentation file for ML users and developers.
 

Typedefs

typedef std::list< SourceFrameReferenceml::SourceFrameReferenceVector
 A Vector of entries which should have at least two entries:
 
typedef std::set< std::pair< std::string, std::string > > ml::StringPairSet
 Set of string pairs; typically to store unique pairs of DICOM UIDs.
 

Functions

ML_MLToDicomTools_EXPORT void ml::setPixelMeasuresFunctionalGroupTags (DCMTree::TreePtr dcmTree, const Vector2 &pixelSpacing, double sliceThickness, bool addSpacingBetweenSlices=false, double spacingBetweenSlices=1.0)
 Set DCMTree_PixelMeasuresSequence sequence with tags belonging to Pixel Measures Functional Group C.7.6.16.2.1.
 
ML_MLToDicomTools_EXPORT void ml::setPlanePositionFunctionalGroupTags (DCMTree::TreePtr dcmTree, const Vector3 &imagePositionPatient)
 Set DCMTree_PlanePositionSequence sequence with tags belonging to Segmentation Functional Group C.7.6.16.2.3.
 
ML_MLToDicomTools_EXPORT void ml::setPlaneOrientationFunctionalGroupTags (DCMTree::TreePtr dcmTree, const Vector6 &imageOrientationPatient)
 Set DCMTree_PlaneOrientationSequence sequence with tags belonging to Plane Orientation Functional Group C.7.6.16.2.4.
 
ML_MLToDicomTools_EXPORT void ml::addCIDEntry (const char *const CIDGroupTable[][CIDGroups::NUM_CID_COLUMNS], size_t CIDGroupTableSize, const std::string &entryToAdd, DCMTree::TreePtr itemTree)
 Adds the code sequence entry entryToAdd.
 
ML_MLToDicomTools_EXPORT void ml::setDerivationImageFunctionalGroupTags (DCMTree::TreePtr seqItemTreePtr, const std::vector< std::string > &derivationCodeSequence, bool createEmpty=false, const SourceFrameReferenceVector &sourceFrameReferences=SourceFrameReferenceVector(), const size_t entriesToAddZ=std::string::npos, const size_t entriesToAddT=std::string::npos, const size_t entriesToAddU=std::string::npos, const std::string &purposeOfReferenceCodeSequenceEntry="")
 Set DCMTree_DerivationImageSequence sequence with tags belonging to Derivation Image Functional Group C.7.6.16.2.6.
 
ML_MLToDicomTools_EXPORT void ml::setFrameContentFunctionalGroupTags (DCMTree::TreePtr dcmTree, const MedicalImageProperties &medImgProps, bool setTemporalPositionIndex, bool setFrameAcquisitionDateTime, const unsigned int ztuPos[3], const unsigned int ztuNumFrames[3])
 Set DCMTree_FrameContentSequence sequence with tags belonging to Frame Content Functional Group C.7.6.16.2.2.
 
ML_MLToDicomTools_EXPORT void ml::removedDuplicatedUnassignedSharedConvertedAttributes (DCMTree::TreePtr dcmTree)
 Removes all tags from SharedFunctionalGroupSequence/UnassignedSharedConvertedAttributes which already exist on top level of dcmTree.
 
ML_MLToDicomTools_EXPORT void ml::addUnassignedSharedConvertedAttributes (DCMTree::Const_TreePtr inputDcmTree, DCMTree::TreePtr dcmTree, bool removeReferencedImageSequence, bool suppressWritingUnassignedContent)
 Adds the UnassignedSharedFunctionaGroupsSequence and a first entry to dcmTree if they still do not exist and copies all tags from inputDcmTree into it.
 
ML_MLToDicomTools_EXPORT void ml::getUniqueValuePairSetFromSequence (DCMTree::Const_TreePtr dcmTree, DCMTree::RawTagId sequenceTagId, DCMTree::RawTagId tagId1, DCMTree::RawTagId tagId2, StringPairSet &pairSet)
 Looks for sequence with sequenceTagId in dcmTree and if found then all items of the sequence are parsed for tagId1 and tagId2.
 
ML_MLToDicomTools_EXPORT void ml::buildImageEvidenceSequence (DCMTree::Const_TreePtr inputDcmTree, DCMTree::RawTagId inputSequenceTagId, DCMTree::TreePtr dcmTree, DCMTree::RawTagId evidenceSequenceTagId, MLint insertionIndex, bool scanFrames)
 Creates and adds and ImageEvidenceSequence with Tag Id evidenceSequenceTagId to dcmTree and fills it with information from input sequence in inputDcmTree with tagId inputSequenceTagId.
 
ML_MLToDicomTools_EXPORT void ml::addMultiFrameFunctionalGroups (DCMTree::TreePtr dcmTree, const ImageVector &frameHeapImageExtent, const MedicalImageProperties &medicalImageProps, const std::vector< std::string > &derivationCodeSequence=std::vector< std::string >(), const EnhancedMFObjectInfosBase &enhancedMFObjectInfos=EnhancedMFObjectInfosBase(), DCMTree::Const_TreePtr inputDcmTree=DCMTree::Const_TreePtr(), std::vector< DCMTree::TagPtr > *dicomImageTypeTags=nullptr, std::vector< DCMTree::TagPtr > *dicomImageDescriptionTags=nullptr, bool suppressWritingUnassignedContent=false)
 Adds the perFrameFunctionalGroupsSequence and the SharedFunctionalGroupsSequence for.
 
ML_MLToDicomTools_EXPORT void ml::addMultiFrameDimensionTags (DCMTree::TreePtr dcmTree, const ImageVector &frameHeapImageExtent, const MedicalImageProperties &medicalImageProps)
 Adds the perFrameFunctionalGroupsSequence and the SharedFunctionalGroupƶsSequence for the Segmentation IOD to dcmTree, and adds numberFoFrames pereFrameFunctionalGroups sequence entries.
 
ML_MLToDicomTools_EXPORT std::string ml::addAndSetMultiBinarySEGPixelDataTag (DCMTree::TreePtr resultTree, PagedImage &inputPagedImage, ImageVector &imageExtentToAdapt, const std::vector< DicomSegmentItem > &segmentItems, EnhancedMFSEGObjectInfos &enhancedMFSegmentInfos, bool savePaddedPixelData)
 In case of multiple binary segmentations this routine extracts binary segments from the segment list by using the segmentImageRangeMin/Max ranges and extracting them from the input image.
 
ML_MLToDicomTools_EXPORT void ml::getSourceImageSequenceInformation (DCMTree::Const_TreePtr inputDcmTree, const ImageVector &inputImageExtent, SourceFrameReferenceVector &sourceFrameReferences)
 Analyzes the inputDcmTree and extracts a SourceFrameReference entry for each input frame given by inputImageExtent.z/t/u; found entries are returned in sourceFrameReferences; information is retrieved as far as possible from frame specific sequence entries and if not available there it is taken from top-level.
 

Detailed Description

A set of tool functions for enhanced multi-frame export.

Author
Wolf Spindler
Date
2016-08-31

Definition in file mlEnhancedMultiFrameTools.h.