MeVisLab Toolbox Reference
mlMultiFrameTools.h File Reference

A tool library with useful functions to detect, analyze, decompose multi-frame and enhanced CT DICOM trees. More...

#include "MLDICOMTagsSystem.h"
#include <mlTypeDefs.h>
#include <FMEThirdPartyWarningsDisable.h>
#include <string>
#include <FMEThirdPartyWarningsRestore.h>
#include "DCMTree_Lib.h"
#include <mlDICOMTreeModificationTools.h>

Go to the source code of this file.

Namespaces

namespace  ml
 Main documentation file for ML users and developers.
 
namespace  ml::MultiFrameTools
 A tool library with useful functions to detect, analyze, decompose multi-frame DICOM trees.
 

Functions

MLDICOMTags_EXPORT bool ml::MultiFrameTools::isSingleFrame (DCMTree::Const_TreePtr dcmTree)
 Returns true if dcmTree seems to be a valid dcmTree and no multi-frame file; nullptr trees return false.
 
MLDICOMTags_EXPORT bool ml::MultiFrameTools::isEnhanced (DCMTree::Const_TreePtr dcmTree)
 Returns true if dcmTree seems to be a valid dcmTree and and enhanced IOD; nullptr trees return false.
 
MLDICOMTags_EXPORT void ml::MultiFrameTools::copyTopLevelTags (DCMTree::Const_TreePtr mfTree, DCMTree::TreePtr dstTree, const DICOMTagTools::TagIdDesc *tagsToCopy, bool alsoCopySequenceTags)
 This routine copies root tags from mfTree to destTree; pixel data and/or sequence tags are possibly skipped according to function arguments.
 
MLDICOMTags_EXPORT void ml::MultiFrameTools::addSubSequenceTags (DCMTree::RawTagId sequenceTagId, std::vector< DCMTree::RawTagId > *copyTagIds, DCMTree::Const_TreePtr srcTree, size_t frameIdx, DCMTree::TreePtr &dstTree, DicomMessageCollector &dcmMsgCollector)
 Gets the tag with ID sequenceTagId from the given srcTree, checks whether it is a sequence tag, and if yes, then it copies the tags with ids given by copyTagIds.
 
MLDICOMTags_EXPORT void ml::MultiFrameTools::addSequenceContents (DCMTree::Const_TreePtr srcFrameTree, size_t pffgItemIdx, DCMTree::TreePtr dstFramePtr, DicomMessageCollector &dcmMsgCollector)
 Searches all sequences in srcFrameTree and copies the tags in all sequence items flatly to dstFramePtr.
 
MLDICOMTags_EXPORT bool ml::MultiFrameTools::extractSingleFramesFromMultiFrameTree (DCMTree::Const_TreePtr dcmMFTree, std::vector< DCMTree::TreePtr > &singleFrameList, const DICOMTagTools::TagIdDesc *tagsToCopy, const DICOMTagTools::TagIdDesc *tagsToRemove, bool addFullFunctionalGroupSequences, DicomMessageCollector &dcmMsgCollector)
 If possible this routine tries to build a set of DICOM trees (one for each frame) from the multi-frame or enhanced CT DICOM tree and returns them in singleFrameList.
 
MLDICOMTags_EXPORT bool ml::MultiFrameTools::doMultiFrameDecomposition (DCMTree::Const_TreePtr mfTree, std::vector< DCMTree::TreePtr > &singleFrameList, const DICOMTagTools::TagIdDesc *tagsToCopy, const DICOMTagTools::TagIdDesc *tagsToRemove, bool addFullFunctionalGroupSequences, DicomMessageCollector &dcmMsgCollector)
 Decomposes a the multi-frame file given by fileAttributes and adds each frame as a single frame with _addFile.
 

Variables

MLDICOMTags_EXPORT const DICOMTagTools::TagIdDesc ml::MultiFrameTools::BaseTagsToRemove []
 A list of tags which should not copied from a top level multi-frame tree to a single frame, because they do not make sense for single frames any more or because they could provide invalid information if the information is not overwritten by specific subframes.
 

Detailed Description

A tool library with useful functions to detect, analyze, decompose multi-frame and enhanced CT DICOM trees.

Author
Wolf Spindler
Date
12/2011

Definition in file mlMultiFrameTools.h.