DCMTK Version 3.6.8
OFFIS DICOM Toolkit
Public Member Functions | Protected Member Functions | List of all members
TID1411_VolumetricROIMeasurements< T_Measurement, T_Units, T_Method, T_Derivation > Class Template Reference

Implementation of DCMR Template: TID 1411 - Volumetric ROI Measurements (and included templates 1502 and 1419). More...

+ Inheritance diagram for TID1411_VolumetricROIMeasurements< T_Measurement, T_Units, T_Method, T_Derivation >:

Public Member Functions

 TID1411_VolumetricROIMeasurements (const OFBool createGroup=OFFalse)
 (default) constructor More...
 
virtual void clear ()
 clear internal member variables. More...
 
OFBool isValid () const
 check whether the current internal state is valid. More...
 
OFBool hasMeasurementGroup (const OFBool checkChildren=OFFalse) const
 check whether the 'Measurement Group' content item (TID 1411 - Row 1) is present. More...
 
OFBool hasTrackingIdentifier () const
 check whether the 'Tracking Identifier' content item (TID 1411 - Row 2) is present. More...
 
OFBool hasTrackingUniqueIdentifier () const
 check whether the 'Tracking Unique Identifier' content item (TID 1411 - Row 3) is present. More...
 
OFBool hasReferencedSegment () const
 check whether the 'Referenced Segment' content item (TID 1411 - Row 7) is present. More...
 
OFBool hasSourceSeriesForSegmentation () const
 check whether the 'Source Series for Segmentation' content item (TID 1411 - Row 12) is present. More...
 
OFBool hasMeasurements (const OFBool checkChildren=OFTrue) const
 check whether there is an included 'ROI Measurements' template (TID 1411 - Row 15) in this measurement template. More...
 
TID1419_MeasurementgetMeasurement () const
 get current measurement value of this measurement group as defined by TID 1419 (ROI Measurements), i.e. the current instance of TID 1411 - Row 15. More...
 
OFCondition setActivitySession (const OFString &session, const OFBool check=OFTrue)
 set the value of the 'Activity Session' content item (TID 1411 - Row 1b). More...
 
OFCondition setTrackingIdentifier (const OFString &trackingID, const OFBool check=OFTrue)
 set the value of the 'Tracking Identifier' content item (TID 1411 - Row 2). More...
 
OFCondition setTrackingUniqueIdentifier (const OFString &trackingUID, const OFBool check=OFTrue)
 set the value of the 'Tracking Unique Identifier' content item (TID 1411 - Row 3). More...
 
OFCondition setFinding (const DSRCodedEntryValue &finding, const OFBool check=OFTrue)
 set the value of the 'Finding' content item (TID 1411 - Row 3b). More...
 
OFCondition setTimePoint (const OFString &timePoint, const OFBool check=OFTrue)
 set the value of the 'Time Point' content item (TID 1502 - Row 3). More...
 
OFCondition setReferencedSegment (const DSRImageReferenceValue &segment, const OFBool check=OFTrue)
 set the value of the 'Referenced Segment' content item (TID 1411 - Row 7). More...
 
OFCondition setReferencedSegment (DcmItem &dataset, const Uint16 segmentNumber, const OFBool copyTracking=OFTrue, const OFBool check=OFTrue)
 set the value of the 'Referenced Segment' content item (TID 1411 - Row 7). More...
 
OFCondition setSourceSeriesForSegmentation (const OFString &seriesUID, const OFBool check=OFTrue)
 set the value of the 'Source series for segmentation' content item (TID 1411 - Row 12). More...
 
OFCondition setRealWorldValueMap (const DSRCompositeReferenceValue &valueMap, const OFBool check=OFTrue)
 set the value of the 'Real World Value Map used for measurement' content item (TID 1411 - Row 14). More...
 
OFCondition setRealWorldValueMap (DcmItem &dataset, const OFBool check=OFTrue)
 set the value of the 'Real World Value Map used for measurement' content item (TID 1411 - Row 14). More...
 
OFCondition setMeasurementMethod (const T_Method &method, const OFBool check=OFTrue)
 set the value of the 'Measurement Method' content item (TID 1419 - Row 1). More...
 
OFCondition addFindingSite (const DSRCodedEntryValue &site, const CID244e_Laterality &laterality=CID244e_Laterality(), const DSRCodedEntryValue &siteModifier=DSRCodedEntryValue(), const OFBool check=OFTrue)
 add a 'Finding Site' content item (TID 1419 - Row 2, 3 and 4). More...
 
OFCondition addMeasurement (const T_Measurement &conceptName, const MeasurementValue &numericValue, const OFBool checkEmpty=OFTrue, const OFBool checkValue=OFTrue)
 add a measurement as defined in 'ROI Measurements' (TID 1419 - Row 5). More...
 
OFCondition addQualitativeEvaluation (const DSRCodedEntryValue &conceptName, const DSRCodedEntryValue &codeValue, const OFBool check=OFTrue)
 add a qualitative evaluation related to the subject of the measurement group as a coded entry (TID 1411 - Row 16). More...
 
OFCondition addQualitativeEvaluation (const DSRCodedEntryValue &conceptName, const OFString &stringValue, const OFBool check=OFTrue)
 add a qualitative evaluation related to the subject of the measurement group in text form (TID 1411 - Row 17). More...
 
- Public Member Functions inherited from DSRSubTemplate
 DSRSubTemplate (const OFString &templateIdentifier, const OFString &mappingResource, const OFString &mappingResourceUID="")
 constructor More...
 
 DSRSubTemplate (const DSRSubTemplate &subTemplate)
 copy constructor. More...
 
virtual ~DSRSubTemplate ()
 destructor
 
virtual DSRSubTemplateclone () const
 clone this template. More...
 
virtual DSRDocumentSubTreecloneTree () const
 clone the internally stored subtree of this template. More...
 
virtual void clear ()
 clear internal member variables. More...
 
virtual OFBool isValid () const
 check whether the current internal state is valid. More...
 
OFBool isRootTemplate () const
 check whether this template is a root template, i.e. describes a complete SR document tree starting from the root node More...
 
virtual const DSRDocumentSubTreegetTree ()
 get read-only access to internally stored subtree. More...
 
virtual OFCondition addExtraContentItem (const E_RelationshipType relationshipType, const E_ValueType valueType, const E_AddMode addMode=AM_afterCurrent)
 add extra content item to the current one (if the template is extensible). More...
 
virtual OFCondition insertExtraTemplate (const DSRSubTemplate &subTemplate, const E_AddMode addMode=AM_belowCurrent, const E_RelationshipType defaultRelType=RT_unknown)
 insert tree from given extra template to internally stored subtree. More...
 
virtual OFBool isCursorValid () const
 check whether the internal cursor, which points to the current content item, is valid More...
 
virtual OFCondition print (STD_NAMESPACE ostream &stream, const size_t flags=0, const DSRPositionCounter *posCounter=NULL)
 print current SR document tree to specified output stream More...
 
virtual OFCondition writeXML (STD_NAMESPACE ostream &stream, const size_t flags=0)
 write current SR document tree in XML format More...
 
size_t countNodes (const OFBool searchIntoSubTemplates=OFFalse, const OFBool countIncludedTemplateNodes=OFTrue) const
 count number of content items (nodes) in the document tree. More...
 
virtual size_t gotoNamedNode (const DSRCodedEntryValue &conceptName, const OFBool startFromRoot=OFTrue, const OFBool searchIntoSub=OFTrue)
 set internal cursor to a named node. More...
 
virtual size_t gotoNextNamedNode (const DSRCodedEntryValue &conceptName, const OFBool searchIntoSub=OFTrue)
 set internal cursor to the next named node. More...
 
virtual size_t gotoAnnotatedNode (const OFString &annotationText, const OFBool startFromRoot=OFTrue)
 set internal cursor to an annotated node. More...
 
virtual size_t gotoNextAnnotatedNode (const OFString &annotationText)
 set internal cursor to the next annotated node. More...
 
virtual DSRContentItemgetCurrentContentItem ()
 get reference to current content item. More...
 
virtual OFCondition updateByReferenceRelationships (const OFBool updateIncludedTemplates=OFFalse)
 update the position strings used to encode by-reference relationships (if any). More...
 
- Public Member Functions inherited from DSRTemplateCommon
virtual void clear ()
 clear non-static member variables
 
virtual OFBool hasTemplateIdentification () const
 check whether template identification is set More...
 
virtual OFBool isTemplateIdentificationValid (const OFBool check=OFTrue) const
 check whether template identification is valid More...
 
virtual OFBool isExtensible () const
 check whether template is extensible More...
 
virtual OFBool isOrderSignificant () const
 check whether the order of content items in this template is significant More...
 
virtual OFBool compareTemplateIdentication (const OFString &templateIdentifier, const OFString &mappingResource, const OFString &mappingResourceUID="") const
 compare template identification with given values More...
 
const OFStringgetTemplateIdentifier () const
 get template identifier More...
 
const OFStringgetMappingResource () const
 get mapping resource More...
 
const OFStringgetMappingResourceUID () const
 get optional mapping resource UID More...
 
virtual void setExtensible (const OFBool mode=OFTrue)
 change mode specifying whether the template is extensible or non-extensible More...
 
virtual void setOrderSignificant (const OFBool mode=OFTrue)
 change mode specifying whether the order of content items in this template is significant or non-significant More...
 

Protected Member Functions

OFCondition createMeasurementGroup ()
 create the mandatory root content item of this template, i.e. TID 1411 - Row 1. More...
 
OFCondition addOrReplaceContentItem (const size_t nodePos, const E_RelationshipType relationshipType, const E_ValueType valueType, const DSRCodedEntryValue &conceptName, const OFString &annotationText, const OFBool check)
 add a new or replace an existing content item with a given node ID. More...
 
- Protected Member Functions inherited from DSRSubTemplate
virtual void updateTreeForOutput ()
 update the tree for subsequent output, e.g. for being printed or added to an SR document. More...
 
- Protected Member Functions inherited from DSRDocumentSubTree
 DSRDocumentSubTree (DSRDocumentTreeNode *rootNode)
 special constructor that receives a pointer to the root node. More...
 
 DSRDocumentSubTree (const DSRDocumentTreeNodeCursor &startCursor, size_t stopAfterNodeID)
 special copy constructor that clones a particular subtree only More...
 
void swap (DSRDocumentSubTree &tree)
 fast, non-throwing swap function. More...
 
virtual DSRDocumentTreeNodegetNode () const
 get pointer to current node. More...
 
virtual size_t addNode (DSRDocumentTreeNode *node, const E_AddMode addMode=AM_afterCurrent)
 add new node to the current one. More...
 
virtual size_t replaceNode (DSRDocumentTreeNode *node)
 replace current node by the given one. More...
 
virtual DSRDocumentTreeNodeextractNode ()
 extract current node from tree. More...
 
virtual DSRDocumentTreeNodegetAndRemoveRootNode ()
 get pointer to root node and "forget" the internal reference to this node. More...
 
virtual size_t removeNode ()
 remove current node from tree. More...
 
virtual OFCondition includeTemplate (const DSRSharedSubTemplate &subTemplate, const E_AddMode addMode=AM_belowCurrent, const E_RelationshipType defaultRelType=RT_unknown)
 include specified sub-template, i.e. add a new DSRIncludedTemplateTreeNode, which references this template, to the current content item. More...
 
virtual OFCondition expandIncludedTemplates (DSRDocumentSubTree *tree) const
 expand all "included template" content items in a given (sub)tree. More...
 
template<typename T_Cursor >
OFCondition checkByReferenceRelationships (const size_t mode=0, const size_t flags=0)
 check the by-reference relationships (if any) for validity. More...
 
virtual void resetReferenceTargetFlag ()
 reset flag for all content items whether they are target of a by-reference relationship. More...
 
virtual void updateTreeForOutput ()
 update the tree for subsequent output, e.g. for being printed or added to an SR document. More...
 
virtual OFCondition checkSubTreeConstraints (const DSRDocumentSubTree *tree, const DSRIODConstraintChecker *checker) const
 check whether the given subtree complies with the constraints of the given checker More...
 
virtual OFBool validByReferenceRelationship (const OFString &sourcePosition, const OFString &targetPosition)
 check whether a by-reference relationship from a given source to a target node (specified by the position strings) is valid, i.e. is allowed according to the DICOM standard. More...
 
 DSRDocumentSubTree ()
 default constructor
 
 DSRDocumentSubTree (const DSRDocumentSubTree &tree)
 copy constructor. More...
 
virtual ~DSRDocumentSubTree ()
 destructor
 
DSRDocumentSubTreeoperator= (DSRDocumentSubTree tree)
 assignment operator. More...
 
virtual DSRDocumentSubTreeclone () const
 clone this subtree. More...
 
virtual void clear ()
 clear internal member variables
 
virtual OFBool isValid () const
 check whether the current internal state is valid. More...
 
virtual OFBool isCursorValid () const
 check whether the internal cursor, which points to the current content item, is valid More...
 
virtual OFBool isValidDocumentTree (const E_RelationshipType defaultRelType=RT_unknown) const
 check whether this subtree is a valid document tree. More...
 
virtual OFBool isExpandedDocumentTree () const
 check whether this subtree is an expanded document tree. More...
 
virtual OFBool hasTemplateIdentification () const
 check whether template identification is set More...
 
virtual OFBool canUseTemplateIdentification () const
 check whether template identification is possible at all. More...
 
virtual OFCondition print (STD_NAMESPACE ostream &stream, const size_t flags=0, const DSRPositionCounter *posCounter=NULL)
 print current SR document tree to specified output stream More...
 
virtual OFCondition writeXML (STD_NAMESPACE ostream &stream, const size_t flags=0)
 write current SR document tree in XML format More...
 
virtual DSRContentItemgetCurrentContentItem ()
 get reference to current content item. More...
 
virtual const DSRDocumentTreeNodegetCurrentNode () const
 get read-only access to current node (content item) More...
 
virtual OFBool getCursorToRootNode (DSRDocumentTreeNodeCursor &cursor) const
 get a cursor to the root node of this document tree. More...
 
virtual OFBool getCursorToRootNode (DSRIncludedTemplateNodeCursor &cursor) const
 get a cursor to the root node of this document tree. More...
 
virtual OFBool getCursorToCurrentNode (DSRDocumentTreeNodeCursor &cursor) const
 get a cursor to the current node of this document tree. More...
 
virtual OFBool getCursorToSubTree (DSRDocumentTreeNodeCursor &cursor) const
 get a cursor to the subtree below the current node. More...
 
size_t countNodes (const OFBool searchIntoSubTemplates=OFFalse, const OFBool countIncludedTemplateNodes=OFTrue) const
 count number of content items (nodes) in the document tree. More...
 
virtual size_t gotoMatchingNode (const DSRDocumentTreeNodeFilter &filter, const OFBool startFromRoot=OFTrue, const OFBool searchIntoSub=OFTrue)
 set internal cursor to a matching node. More...
 
virtual size_t gotoNextMatchingNode (const DSRDocumentTreeNodeFilter &filter, const OFBool searchIntoSub=OFTrue)
 set internal cursor to the next matching node. More...
 
virtual size_t gotoNamedNode (const DSRCodedEntryValue &conceptName, const OFBool startFromRoot=OFTrue, const OFBool searchIntoSub=OFTrue)
 set internal cursor to a named node. More...
 
virtual size_t gotoNamedChildNode (const DSRCodedEntryValue &conceptName)
 set internal cursor to a named node (starting from the first child of the current node and searching on this level only). More...
 
virtual size_t gotoNamedNodeInSubTree (const DSRCodedEntryValue &conceptName, const OFBool searchIntoSub=OFTrue)
 set internal cursor to a named node in the subtree below the current node. More...
 
virtual size_t gotoNextNamedNode (const DSRCodedEntryValue &conceptName, const OFBool searchIntoSub=OFTrue)
 set internal cursor to the next named node. More...
 
virtual size_t gotoAnnotatedNode (const OFString &annotationText, const OFBool startFromRoot=OFTrue)
 set internal cursor to an annotated node. More...
 
virtual size_t gotoNextAnnotatedNode (const OFString &annotationText)
 set internal cursor to the next annotated node. More...
 
virtual OFBool canAddContentItem (const E_RelationshipType relationshipType, const E_ValueType valueType, const E_AddMode addMode=AM_afterCurrent) const
 check whether specified content item can be added to the current one. More...
 
virtual OFBool canAddByReferenceRelationship (const E_RelationshipType relationshipType, const E_ValueType targetValueType) const
 check whether specified by-reference relationship can be added to the current content item. More...
 
virtual size_t addContentItem (const E_RelationshipType relationshipType, const E_ValueType valueType, const E_AddMode addMode=AM_afterCurrent)
 add specified content item to the current one. More...
 
virtual OFCondition addContentItem (DSRDocumentTreeNode *node, const E_AddMode addMode=AM_afterCurrent, const OFBool deleteIfFail=OFFalse)
 add specified content item to the current one. More...
 
virtual OFCondition addContentItem (const E_RelationshipType relationshipType, const E_ValueType valueType, const DSRCodedEntryValue &conceptName, const OFBool check=OFTrue)
 add specified content item after the current one. More...
 
virtual OFCondition addChildContentItem (const E_RelationshipType relationshipType, const E_ValueType valueType, const DSRCodedEntryValue &conceptName, const OFBool check=OFTrue)
 add specified content item below the current one. More...
 
virtual size_t addByReferenceRelationship (const E_RelationshipType relationshipType, const size_t referencedNodeID)
 add specified by-reference relationship to the current content item. More...
 
virtual OFCondition updateByReferenceRelationships (const OFBool updateIncludedTemplates=OFFalse)
 update the position strings used to encode by-reference relationships (if any). More...
 
virtual OFBool canInsertSubTree (const DSRDocumentSubTree *tree, const E_AddMode addMode=AM_belowCurrent, const E_RelationshipType defaultRelType=RT_unknown) const
 check whether specified subtree can be inserted at the current position, i.e. added to the current content item. More...
 
virtual OFCondition insertSubTree (DSRDocumentSubTree *tree, const E_AddMode addMode=AM_belowCurrent, const E_RelationshipType defaultRelType=RT_unknown, const OFBool deleteIfFail=OFFalse)
 insert specified subtree to this tree, i.e. add it to the current content item. More...
 
virtual DSRDocumentSubTreeextractSubTree ()
 extract a subtree, i.e. a fragment from this tree. More...
 
virtual size_t removeCurrentContentItem ()
 remove current content item from tree. More...
 
virtual OFCondition removeSubTree (const size_t searchID=0)
 remove a subtree from this tree. More...
 
virtual DSRDocumentTreeNodecloneCurrentTreeNode () const
 clone the current tree node. More...
 
virtual DSRDocumentSubTreecloneSubTree (const size_t stopAfterNodeID=0) const
 clone a subtree, i.e. a fragment of this tree. More...
 
virtual OFCondition createExpandedSubTree (DSRDocumentSubTree *&tree) const
 created an expanded version of this (sub)tree. More...
 
virtual OFCondition setObservationDateTime (const OFString &observationDateTime, const OFBool check=OFTrue)
 set observation date/time for all content items in the document tree. More...
 
virtual OFBool compareTemplateIdentification (const OFString &templateIdentifier, const OFString &mappingResource, const OFString &mappingResourceUID="") const
 compare template identification of the root node with given values. More...
 
virtual OFCondition getTemplateIdentification (OFString &templateIdentifier, OFString &mappingResource) const
 get template identifier and mapping resource from the root node of this tree. More...
 
virtual OFCondition getTemplateIdentification (OFString &templateIdentifier, OFString &mappingResource, OFString &mappingResourceUID) const
 get template identifier, mapping resource and optional mapping resource UID from the root node of this tree. More...
 
virtual OFCondition setTemplateIdentification (const OFString &templateIdentifier, const OFString &mappingResource, const OFString &mappingResourceUID="", const OFBool check=OFTrue)
 set template identifier and mapping resource to the root node of this tree. More...
 
- Protected Member Functions inherited from DSRTree< DSRDocumentTreeNode >
 DSRTree (DSRDocumentTreeNode *rootNode)
 special constructor that receives a pointer to the root node. More...
 
 DSRTree (const DSRTreeNodeCursor< DSRDocumentTreeNode > &startCursor, size_t stopAfterNodeID)
 special copy constructor that clones a particular subtree only More...
 
void swap (DSRTree< DSRDocumentTreeNode > &tree)
 fast, non-throwing swap function. More...
 
virtual DSRDocumentTreeNodegetRoot () const
 get pointer to root node More...
 
virtual void deleteTreeFromRootNode (DSRDocumentTreeNode *rootNode)
 delete a tree given by its root node. More...
 
 DSRTree ()
 default constructor
 
 DSRTree (const DSRTree< DSRDocumentTreeNode > &tree)
 copy constructor. More...
 
virtual ~DSRTree ()
 destructor
 
DSRTreeoperator= (DSRTree< DSRDocumentTreeNode > tree)
 assignment operator. More...
 
virtual void clear ()
 clear all member variables, i.e. the tree with all nodes
 
void clearAnnotations ()
 clear annotations of all tree nodes
 
OFBool isEmpty () const
 check whether tree has any nodes More...
 
size_t countNodes () const
 count number of nodes in the tree. More...
 
size_t getNextNodeID () const
 get ID of the next node to be created. More...
 
size_t gotoRoot ()
 set internal cursor to root node More...
 
size_t gotoNode (const size_t searchID, const OFBool startFromRoot=OFTrue)
 set internal cursor to specified node More...
 
size_t gotoNode (const OFString &reference, const OFBool startFromRoot=OFTrue)
 set internal cursor to specified node More...
 
size_t gotoNode (const DSRTreeNodeAnnotation &annotation, const OFBool startFromRoot=OFTrue)
 set internal cursor to specified node More...
 
size_t gotoNode (const DSRDocumentTreeNode &nodeValue, const OFBool startFromRoot=OFTrue)
 set internal cursor to specified node (given by its value). More...
 
virtual size_t addNode (DSRDocumentTreeNode *node, const E_AddMode addMode=AM_afterCurrent)
 add new node to the current one. More...
 
virtual size_t replaceNode (DSRDocumentTreeNode *node)
 replace current node by the given one. More...
 
virtual DSRDocumentTreeNodeextractNode ()
 extract current node from tree. More...
 
virtual DSRDocumentTreeNodegetAndRemoveRootNode ()
 get pointer to root node and "forget" the internal reference to this node. More...
 
virtual size_t removeNode ()
 remove current node from tree. More...
 
virtual DSRTree< DSRDocumentTreeNode > * extractSubTree ()
 extract a subtree, i.e. a fragment from this tree. More...
 
virtual DSRTree< DSRDocumentTreeNode > * cloneSubTree (const size_t stopAfterNodeID=0) const
 clone a subtree, i.e. a fragment of this tree. More...
 
- Protected Member Functions inherited from DSRTreeNodeCursor< DSRDocumentTreeNode >
void swap (DSRTreeNodeCursor< DSRDocumentTreeNode > &cursor)
 fast, non-throwing swap function. More...
 
void clearNodeCursorStack ()
 clear the internal node cursor stack
 
const DSRTreeNodeCursor< DSRDocumentTreeNode > & getCursor () const
 get cursor More...
 
void setCursor (const DSRTreeNodeCursor< DSRDocumentTreeNode > &cursor)
 set cursor to specified object More...
 
size_t setCursor (DSRDocumentTreeNode *node)
 set cursor to specified node. More...
 
DSRDocumentTreeNodegetChild () const
 get pointer to first child node More...
 
 DSRTreeNodeCursor ()
 default constructor
 
 DSRTreeNodeCursor (const DSRTreeNodeCursor< DSRDocumentTreeNode > &cursor)
 copy constructor More...
 
 DSRTreeNodeCursor (DSRDocumentTreeNode *node, const DSRPositionCounter *position=NULL)
 constructor. More...
 
virtual ~DSRTreeNodeCursor ()
 destructor
 
DSRTreeNodeCursor< DSRDocumentTreeNode > & operator= (const DSRTreeNodeCursor< DSRDocumentTreeNode > &cursor)
 assignment operator More...
 
DSRTreeNodeCursor< DSRDocumentTreeNode > & operator= (DSRDocumentTreeNode *node)
 assignment operator. More...
 
virtual void clear ()
 clear all member variables. More...
 
virtual OFBool isValid () const
 check whether cursor currently points to a valid node More...
 
virtual size_t countChildNodes (const OFBool searchIntoSub=OFTrue) const
 count number of children of the current node. More...
 
OFBool hasParentNode () const
 check whether the current node has a parent More...
 
OFBool hasChildNodes () const
 check whether the current node has any children More...
 
OFBool hasPreviousNode () const
 check whether the current node has a preceding sibling More...
 
OFBool hasNextNode () const
 check whether the current node has a following sibling More...
 
OFBool hasSiblingNodes () const
 check whether the current node has any siblings More...
 
virtual DSRDocumentTreeNodegetNode () const
 get pointer to current node More...
 
virtual const DSRDocumentTreeNodegetParentNode () const
 get pointer to parent node. More...
 
virtual const DSRDocumentTreeNodegetChildNode () const
 get pointer to first child node. More...
 
virtual const DSRDocumentTreeNodegetPreviousNode () const
 get pointer to previous node. More...
 
virtual const DSRDocumentTreeNodegetNextNode () const
 get pointer to next node. More...
 
virtual size_t gotoFirst ()
 goto first node on the same level (first sibling). More...
 
virtual size_t gotoLast ()
 goto last node on the same level (last sibling). More...
 
virtual size_t gotoPrevious ()
 goto previous node on the same level (preceding sibling) More...
 
virtual size_t gotoNext ()
 goto next node on the same level (following sibling) More...
 
virtual size_t goUp ()
 goto parent node (one level up) More...
 
virtual size_t goDown ()
 goto first child node (one level down) More...
 
virtual size_t gotoParent ()
 goto parent node (one level up) More...
 
virtual size_t gotoChild ()
 goto first child node (one level down) More...
 
virtual size_t iterate (const OFBool searchIntoSub=OFTrue)
 iterate over all nodes (starting from current position!) More...
 
size_t gotoNode (const size_t searchID)
 set cursor to specified node. More...
 
size_t gotoNode (const OFString &position, const char separator='.')
 set cursor to specified node. More...
 
size_t gotoNode (const DSRTreeNodeAnnotation &annotation)
 set cursor to specified node. More...
 
size_t gotoNode (const DSRDocumentTreeNode &nodeValue)
 set cursor to specified node. More...
 
size_t getNodeID () const
 get current node ID. More...
 
size_t getLevel () const
 get current level. More...
 
DSRPositionCountergetPositionCounter ()
 get reference to internal position counter. More...
 
const OFStringgetPosition (OFString &position, const char separator='.') const
 get position string of the current node. More...
 
- Protected Member Functions inherited from DSRTypes
virtual ~DSRTypes ()
 destructor. More...
 
- Protected Member Functions inherited from DSRTemplateCommon
 DSRTemplateCommon (const OFString &templateIdentifier, const OFString &mappingResource, const OFString &mappingResourceUID="")
 constructor More...
 
virtual ~DSRTemplateCommon ()
 destructor
 
void clearEntriesInNodeList ()
 clear all entries in the list of node IDs, i.e. set them to their initial value, which is 0
 
void reserveEntriesInNodeList (const size_t count, const OFBool initialize=OFFalse)
 reserve a certain number of entries in the list of node IDs. More...
 
void storeEntryInNodeList (const size_t pos, const size_t nodeID)
 store given entry at a certain position in the list of node IDs More...
 
size_t getEntryFromNodeList (const size_t pos) const
 get a particular entry from the list of node IDs More...
 
size_t gotoEntryFromNodeList (DSRDocumentTreeNodeCursor &cursor, const size_t pos) const
 set given cursor to a specific node More...
 
size_t gotoEntryFromNodeList (DSRDocumentSubTree *tree, const size_t pos)
 set internal cursor of a given document tree to a specific node More...
 
size_t gotoLastEntryFromNodeList (DSRDocumentSubTree *tree, const size_t lastPos, const size_t firstPos=0)
 set internal cursor of a given document tree to a particular node. More...
 
virtual void clear ()
 clear non-static member variables
 
virtual OFBool hasTemplateIdentification () const
 check whether template identification is set More...
 
virtual OFBool isTemplateIdentificationValid (const OFBool check=OFTrue) const
 check whether template identification is valid More...
 
virtual OFBool isExtensible () const
 check whether template is extensible More...
 
virtual OFBool isOrderSignificant () const
 check whether the order of content items in this template is significant More...
 
virtual OFBool compareTemplateIdentication (const OFString &templateIdentifier, const OFString &mappingResource, const OFString &mappingResourceUID="") const
 compare template identification with given values More...
 
const OFStringgetTemplateIdentifier () const
 get template identifier More...
 
const OFStringgetMappingResource () const
 get mapping resource More...
 
const OFStringgetMappingResourceUID () const
 get optional mapping resource UID More...
 
virtual void setExtensible (const OFBool mode=OFTrue)
 change mode specifying whether the template is extensible or non-extensible More...
 
virtual void setOrderSignificant (const OFBool mode=OFTrue)
 change mode specifying whether the order of content items in this template is significant or non-significant More...
 

Additional Inherited Members

- Protected Types inherited from DSRTypes
enum  E_DocumentType {
  DT_invalid , DT_unknown = DT_invalid , DT_BasicTextSR , DT_EnhancedSR ,
  DT_ComprehensiveSR , DT_KeyObjectSelectionDocument , DT_MammographyCadSR , DT_ChestCadSR ,
  DT_ColonCadSR , DT_ProcedureLog , DT_XRayRadiationDoseSR , DT_EnhancedXRayRadiationDoseSR ,
  DT_SpectaclePrescriptionReport , DT_MacularGridThicknessAndVolumeReport , DT_ImplantationPlanSRDocument , DT_Comprehensive3DSR ,
  DT_RadiopharmaceuticalRadiationDoseSR , DT_ExtensibleSR , DT_AcquisitionContextSR , DT_SimplifiedAdultEchoSR ,
  DT_PatientRadiationDoseSR , DT_PerformedImagingAgentAdministrationSR , DT_PlannedImagingAgentAdministrationSR , DT_RenditionSelectionDocument ,
  DT_last = DT_RenditionSelectionDocument
}
 SR document types (DICOM IOD) More...
 
enum  E_RelationshipType {
  RT_invalid , RT_unknown , RT_isRoot , RT_contains ,
  RT_hasObsContext , RT_hasAcqContext , RT_hasConceptMod , RT_hasProperties ,
  RT_inferredFrom , RT_selectedFrom , RT_last = RT_selectedFrom
}
 SR relationship types. More...
 
enum  E_ValueType {
  VT_invalid , VT_Text , VT_Code , VT_Num ,
  VT_DateTime , VT_Date , VT_Time , VT_UIDRef ,
  VT_PName , VT_SCoord , VT_SCoord3D , VT_TCoord ,
  VT_Composite , VT_Image , VT_Waveform , VT_Container ,
  VT_byReference , VT_includedTemplate , VT_last = VT_includedTemplate
}
 SR value types. More...
 
enum  E_PresentationStateType {
  PT_invalid , PT_unknown = PT_invalid , PT_Grayscale , PT_Color ,
  PT_PseudoColor , PT_Blending , PT_XAXRFGrayscale , PT_GrayscalePlanarMPR ,
  PT_CompositingPlanarMPR , PT_AdvancedBlending , PT_VolumeRendering , PT_SegmentedVolumeRendering ,
  PT_MultipleVolumeRendering , PT_VariableModalityLUT , PT_last = PT_VariableModalityLUT
}
 Softcopy presentation state types. More...
 
enum  E_GraphicType {
  GT_invalid , GT_unknown = GT_invalid , GT_Point , GT_Multipoint ,
  GT_Polyline , GT_Circle , GT_Ellipse , GT_last = GT_Ellipse
}
 SR graphic types. More...
 
enum  E_GraphicType3D {
  GT3_invalid , GT3_unknown = GT3_invalid , GT3_Point , GT3_Multipoint ,
  GT3_Polyline , GT3_Polygon , GT3_Ellipse , GT3_Ellipsoid ,
  GT3_last = GT3_Ellipsoid
}
 SR graphic types (3D). More...
 
enum  E_TemporalRangeType {
  TRT_invalid , TRT_unknown = TRT_invalid , TRT_Point , TRT_Multipoint ,
  TRT_Segment , TRT_Multisegment , TRT_Begin , TRT_End ,
  TRT_last = TRT_End
}
 SR temporal range types. More...
 
enum  E_ContinuityOfContent { COC_invalid , COC_Separate , COC_Continuous , COC_last = COC_Continuous }
 SR continuity of content flag. More...
 
enum  E_PreliminaryFlag { PF_invalid , PF_Preliminary , PF_Final , PF_last = PF_Final }
 SR document preliminary flag. More...
 
enum  E_CompletionFlag { CF_invalid , CF_Partial , CF_Complete , CF_last = CF_Complete }
 SR document completion flag. More...
 
enum  E_VerificationFlag { VF_invalid , VF_Unverified , VF_Verified , VF_last = VF_Verified }
 SR document verification flag. More...
 
enum  E_CharacterSet {
  CS_invalid , CS_unknown = CS_invalid , CS_ASCII , CS_default = CS_ASCII ,
  CS_Latin1 , CS_Latin2 , CS_Latin3 , CS_Latin4 ,
  CS_Cyrillic , CS_Arabic , CS_Greek , CS_Hebrew ,
  CS_Latin5 , CS_Latin9 , CS_Thai , CS_Japanese ,
  CS_Korean , CS_ChineseISO , CS_ChineseGB18030 , CS_ChineseGBK ,
  CS_UTF8 , CS_last = CS_UTF8
}
 Specific character set. More...
 
enum  E_CodeValueType { CVT_auto , CVT_Short , CVT_Long , CVT_URN }
 Code value type. More...
 
enum  E_AddMode { AM_afterCurrent , AM_beforeCurrent , AM_belowCurrent , AM_belowCurrentBeforeFirstChild }
 Add node mode. More...
 
- Static Protected Member Functions inherited from DSRDocumentSubTree
static DSRDocumentSubTreecloneSubTree (const DSRDocumentTreeNodeCursor &startCursor, const size_t stopAfterNodeID=0)
 clone a particular subtree, i.e. a fragment of a tree More...
 
- Static Protected Member Functions inherited from DSRTypes
static const char * documentTypeToSOPClassUID (const E_DocumentType documentType)
 convert SR document type to SOP class UID More...
 
static const char * documentTypeToModality (const E_DocumentType documentType)
 convert SR document type to modality More...
 
static const char * documentTypeToReadableName (const E_DocumentType documentType)
 convert SR document type to readable name. More...
 
static const char * documentTypeToDocumentTitle (const E_DocumentType documentType, OFString &documentTitle)
 convert SR document type to document title. More...
 
static OFBool requiresEnhancedEquipmentModule (const E_DocumentType documentType)
 check whether a given SR document type requires the Enhanced General Equipment Module More...
 
static OFBool requiresTimezoneModule (const E_DocumentType documentType)
 check whether a given SR document type requires the Timezone Module More...
 
static OFBool requiresSynchronizationModule (const E_DocumentType documentType)
 check whether a given SR document type requires the Synchronization Module More...
 
static OFBool usesSRDocumentSeriesModule (const E_DocumentType documentType)
 check whether a given SR document type uses the SR Document Series Module (instead of the Key Object Document Series Module) More...
 
static OFBool usesKeyObjectDocumentSeriesModule (const E_DocumentType documentType)
 check whether a given SR document type uses the Key Object Document Series Module (instead of the SR Document Series Module) More...
 
static OFBool usesSRDocumentGeneralModule (const E_DocumentType documentType)
 check whether a given SR document type uses the SR Document General Module (instead of the Key Object Document Module) More...
 
static OFBool usesKeyObjectDocumentModule (const E_DocumentType documentType)
 check whether a given SR document type uses the Key Object Document Module (instead of the SR Document General Module) More...
 
static const char * relationshipTypeToDefinedTerm (const E_RelationshipType relationshipType)
 convert relationship type to DICOM defined term More...
 
static const char * relationshipTypeToReadableName (const E_RelationshipType relationshipType)
 convert relationship type to readable name. More...
 
static const char * valueTypeToDefinedTerm (const E_ValueType valueType)
 convert value type to DICOM defined term More...
 
static const char * valueTypeToXMLTagName (const E_ValueType valueType)
 convert value type to XML tag name More...
 
static const char * valueTypeToReadableName (const E_ValueType valueType)
 convert value type to readable name. More...
 
static const char * presentationStateTypeToShortName (const E_PresentationStateType pstateType)
 convert presentation state type to short name. More...
 
static const char * graphicTypeToEnumeratedValue (const E_GraphicType graphicType)
 convert graphic type to DICOM enumerated value More...
 
static const char * graphicTypeToReadableName (const E_GraphicType graphicType)
 convert graphic type to readable name. More...
 
static const char * graphicType3DToEnumeratedValue (const E_GraphicType3D graphicType)
 convert graphic type (3D) to DICOM enumerated value More...
 
static const char * graphicType3DToReadableName (const E_GraphicType3D graphicType)
 convert graphic type (3D) to readable name. More...
 
static const char * temporalRangeTypeToEnumeratedValue (const E_TemporalRangeType temporalRangeType)
 convert temporal range type to DICOM enumerated value More...
 
static const char * temporalRangeTypeToReadableName (const E_TemporalRangeType temporalRangeType)
 convert temporal range type to readable name. More...
 
static const char * continuityOfContentToEnumeratedValue (const E_ContinuityOfContent continuityOfContent)
 convert continuity of content flag to DICOM enumerated value More...
 
static const char * preliminaryFlagToEnumeratedValue (const E_PreliminaryFlag preliminaryFlag)
 convert preliminary flag to DICOM enumerated value More...
 
static const char * completionFlagToEnumeratedValue (const E_CompletionFlag completionFlag)
 convert completion flag to DICOM enumerated value More...
 
static const char * verificationFlagToEnumeratedValue (const E_VerificationFlag verificationFlag)
 convert verification flag to DICOM enumerated value More...
 
static const char * characterSetToDefinedTerm (const E_CharacterSet characterSet)
 convert character set to DICOM defined term More...
 
static const char * characterSetToHTMLName (const E_CharacterSet characterSet)
 convert character set to HTML name. More...
 
static const char * characterSetToXMLName (const E_CharacterSet characterSet)
 convert character set to XML name. More...
 
static E_DocumentType sopClassUIDToDocumentType (const OFString &sopClassUID)
 convert SOP class UID to SR document type More...
 
static E_RelationshipType definedTermToRelationshipType (const OFString &definedTerm)
 convert DICOM defined term to relationship type More...
 
static E_ValueType definedTermToValueType (const OFString &definedTerm)
 convert DICOM defined term to value type More...
 
static E_PresentationStateType sopClassUIDToPresentationStateType (const OFString &sopClassUID)
 convert SOP class UID to presentation state type More...
 
static E_ValueType xmlTagNameToValueType (const OFString &xmlTagName)
 convert XML tag name to value type More...
 
static E_GraphicType enumeratedValueToGraphicType (const OFString &enumeratedValue)
 convert DICOM enumerated value to graphic type More...
 
static E_GraphicType3D enumeratedValueToGraphicType3D (const OFString &enumeratedValue)
 convert DICOM enumerated value to graphic type (3D) More...
 
static E_TemporalRangeType enumeratedValueToTemporalRangeType (const OFString &enumeratedValue)
 convert DICOM enumerated value to temporal range type More...
 
static E_ContinuityOfContent enumeratedValueToContinuityOfContent (const OFString &enumeratedValue)
 convert DICOM enumerated value to continuity of content flag More...
 
static E_PreliminaryFlag enumeratedValueToPreliminaryFlag (const OFString &enumeratedValue)
 convert DICOM enumerated value to preliminary flag More...
 
static E_CompletionFlag enumeratedValueToCompletionFlag (const OFString &enumeratedValue)
 convert DICOM enumerated value to completion flag More...
 
static E_VerificationFlag enumeratedValueToVerificationFlag (const OFString &enumeratedValue)
 convert DICOM enumerated value to verification flag More...
 
static E_CharacterSet definedTermToCharacterSet (const OFString &definedTerm)
 convert DICOM defined term to character set. More...
 
static OFBool isDocumentTypeSupported (const E_DocumentType documentType)
 check whether specified SR document type is supported by this library More...
 
static const OFStringcurrentDate (OFString &dateString)
 get current date in DICOM 'DA' format. More...
 
static const OFStringcurrentTime (OFString &timeString)
 get current time in DICOM 'TM' format. More...
 
static const OFStringcurrentDateTime (OFString &dateTimeString)
 get current date and time in DICOM 'DT' format. More...
 
static const OFStringlocalTimezone (OFString &timezoneString)
 get local timezone in DICOM format. More...
 
static const OFStringdicomToReadableDate (const OFString &dicomDate, OFString &readableDate)
 convert DICOM date string to readable format. More...
 
static const OFStringdicomToReadableTime (const OFString &dicomTime, OFString &readableTime)
 convert DICOM time string to readable format. More...
 
static const OFStringdicomToReadableDateTime (const OFString &dicomDateTime, OFString &readableDateTime)
 convert DICOM date time string to readable format. More...
 
static const OFStringdicomToReadablePersonName (const OFString &dicomPersonName, OFString &readablePersonName)
 convert DICOM person name to readable format. More...
 
static const OFStringdicomToXMLPersonName (const OFString &dicomPersonName, OFString &xmlPersonName, const OFBool writeEmptyValue=OFFalse)
 convert DICOM person name to XML format. More...
 
static const char * numberToString (const size_t number, char *stringValue)
 convert unsigned integer number to character string More...
 
static size_t stringToNumber (const char *stringValue)
 convert string to unsigned integer number More...
 
static const OFStringconvertToPrintString (const OFString &sourceString, OFString &printString)
 convert character string to print string. More...
 
static const OFStringconvertToHTMLString (const OFString &sourceString, OFString &markupString, const size_t flags=0, const OFBool newlineAllowed=OFFalse)
 convert character string to HTML mnenonic string. More...
 
static const OFStringconvertToXMLString (const OFString &sourceString, OFString &markupString)
 convert character string to XML mnenonic string. More...
 
static OFBool checkForValidReference (const OFString &stringValue)
 check string for valid reference (as used for by-reference relationships). More...
 
static DSRIODConstraintCheckercreateIODConstraintChecker (const E_DocumentType documentType)
 create specified SR IOD content relationship constraint checker object. More...
 
static DSRDocumentTreeNodecreateDocumentTreeNode (const E_RelationshipType relationshipType, const E_ValueType valueType)
 create specified document tree node. More...
 
static OFCondition addElementToDataset (OFCondition &result, DcmItem &dataset, DcmElement *delem, const OFString &vm, const OFString &type, const char *moduleName=NULL)
 add given element to the dataset. More...
 
static void removeAttributeFromSequence (DcmSequenceOfItems &sequence, const DcmTagKey &tagKey)
 remove given attribute from the sequence. More...
 
static OFCondition getElementFromDataset (DcmItem &dataset, DcmElement &delem)
 get element from dataset More...
 
static const char * getStringValueFromElement (const DcmElement &delem)
 get string value from element More...
 
static const OFStringgetStringValueFromElement (const DcmElement &delem, OFString &stringValue)
 get string value from element. More...
 
static OFCondition getStringValueFromElement (const DcmElement &delem, OFString &stringValue, const signed long pos)
 get string value from element More...
 
static const OFStringgetPrintStringFromElement (const DcmElement &delem, OFString &stringValue)
 get string value from element and convert to "print" format. More...
 
static const OFStringgetMarkupStringFromElement (const DcmElement &delem, OFString &stringValue, const OFBool convertNonASCII=OFFalse)
 get string value from element and convert to HTML/XML. More...
 
static OFCondition getStringValueFromDataset (DcmItem &dataset, const DcmTagKey &tagKey, OFString &stringValue, const signed long pos=0)
 get string value from dataset More...
 
static OFCondition putStringValueToDataset (DcmItem &dataset, const DcmTag &tag, const OFString &stringValue, const OFBool allowEmpty=OFTrue)
 put string value to dataset More...
 
static OFBool checkElementValue (DcmElement *delem, const DcmTagKey &tagKey, const OFString &vm, const OFString &type, const OFCondition &searchCond=EC_Normal, const char *moduleName=NULL, const OFBool acceptViolation=OFFalse)
 check element value for correct value multiplicity and type. More...
 
static OFBool checkElementValue (DcmElement &delem, const OFString &vm, const OFString &type, const OFCondition &searchCond=EC_Normal, const char *moduleName=NULL, const OFBool acceptViolation=OFFalse)
 check element value for correct value multiplicity and type. More...
 
static OFCondition getAndCheckElementFromDataset (DcmItem &dataset, DcmElement &delem, const OFString &vm, const OFString &type, const char *moduleName=NULL, const OFBool acceptViolation=OFFalse)
 get element from dataset and check it for correct value multiplicity and type. More...
 
static OFCondition getAndCheckStringValueFromDataset (DcmItem &dataset, const DcmTagKey &tagKey, OFString &stringValue, const OFString &vm, const OFString &type, const char *moduleName=NULL, const OFBool acceptViolation=OFFalse)
 get string value from dataset and check it for correct value multiplicity and type. More...
 
static void printInvalidContentItemMessage (const char *action, const DSRDocumentTreeNode *node, const char *location=NULL)
 print the warning message that the current content item is invalid/incomplete. More...
 
static void printContentItemErrorMessage (const char *action, const OFCondition &result, const DSRDocumentTreeNode *node, const char *location=NULL)
 print an error message for the current content item. More...
 
static void printUnknownValueWarningMessage (const char *valueName, const char *readValue=NULL, const char *action="Reading")
 print a warning message that an unknown/unsupported value has been determined More...
 
static OFBool writeStringValueToXML (STD_NAMESPACE ostream &stream, const OFString &stringValue, const OFString &tagName, const OFBool writeEmptyValue=OFFalse)
 write string value to XML output stream. More...
 
static OFBool writeStringFromElementToXML (STD_NAMESPACE ostream &stream, DcmElement &delem, const OFString &tagName, const OFBool writeEmptyValue=OFFalse)
 write string value from DICOM element to XML output stream. More...
 
static size_t createHTMLAnnexEntry (STD_NAMESPACE ostream &docStream, STD_NAMESPACE ostream &annexStream, const OFString &referenceText, size_t &annexNumber, const size_t flags=0)
 create an HTML annex entry with hyperlinks. More...
 
static size_t createHTMLFootnote (STD_NAMESPACE ostream &docStream, STD_NAMESPACE ostream &footnoteStream, size_t &footnoteNumber, const size_t nodeID, const size_t flags=0)
 create an HTML footnote with hyperlinks More...
 
static OFCondition appendStream (STD_NAMESPACE ostream &mainStream, OFOStringStream &tempStream, const char *heading=NULL)
 append one output stream to another. More...
 
- Protected Attributes inherited from DSRDocumentSubTree
DSRIODConstraintCheckerConstraintChecker
 check relationship content constraints of the associated IOD
 
- Protected Attributes inherited from DSRTreeNodeCursor< DSRDocumentTreeNode >
DSRDocumentTreeNodeNodeCursor
 pointer to current node
 
OFStack< DSRDocumentTreeNode * > NodeCursorStack
 stack of node pointers. Used to store the cursor position of upper levels.
 
DSRPositionCounter Position
 counter for the current position within the current level and on upper levels
 
- Static Protected Attributes inherited from DSRTypes
static const size_t RF_readDigitalSignatures
 read digital signatures from dataset
 
static const size_t RF_acceptUnknownRelationshipType
 accept unknown/missing relationship type
 
static const size_t RF_acceptInvalidContentItemValue
 accept invalid content item value (e.g. violation of VR or VM definition)
 
static const size_t RF_ignoreRelationshipConstraints
 ignore relationship constraints for this document class
 
static const size_t RF_ignoreContentItemErrors
 do not abort on content item errors (e.g. missing value type specific attributes)
 
static const size_t RF_skipInvalidContentItems
 do not abort when detecting an invalid content item, skip invalid sub-tree instead
 
static const size_t RF_showCurrentlyProcessedItem
 show the currently processed content item (e.g. "1.2.3")
 
static const size_t HF_neverExpandChildrenInline
 external: never expand child nodes inline
 
static const size_t HF_alwaysExpandChildrenInline
 external: always expand child nodes inline
 
static const size_t HF_renderInlineCodes
 external: render codes even if they appear inline
 
static const size_t HF_useCodeDetailsTooltip
 external: render code details as a tooltip (not with HTML 3.2)
 
static const size_t HF_renderConceptNameCodes
 external: render concept name codes (default: code meaning only)
 
static const size_t HF_renderNumericUnitCodes
 external: render the code of the numeric measurement unit
 
static const size_t HF_useCodeMeaningAsUnit
 external: use code meaning for the numeric measurement unit (default: code value)
 
static const size_t HF_renderPatientTitle
 external: use patient information as document title (default: document type)
 
static const size_t HF_renderNoDocumentHeader
 external: render no general document information (header)
 
static const size_t HF_renderDcmtkFootnote
 external: render dcmtk/dcmsr comment at the end of the document
 
static const size_t HF_renderFullData
 external: render the full data of all content items
 
static const size_t HF_renderSectionTitlesInline
 external: render section titles inline (default: separate paragraph)
 
static const size_t HF_copyStyleSheetContent
 external: copy Cascading Style Sheet (CSS) content to HTML file
 
static const size_t HF_HTML32Compatibility
 external: output compatible to HTML version 3.2 (default: 4.01)
 
static const size_t HF_XHTML11Compatibility
 external: output compatible to XHTML version 1.1 (default: HTML 4.01)
 
static const size_t HF_addDocumentTypeReference
 external: add explicit reference to HTML document type (DTD)
 
static const size_t HF_omitGeneratorMetaElement
 external: omit generator meta element referring to the DCMTK
 
static const size_t HF_renderItemsSeparately
 internal: render items separately (for container with SEPARATE flag)
 
static const size_t HF_renderItemInline
 internal: expand items inline when they are short and have no child nodes
 
static const size_t HF_currentlyInsideAnnex
 internal: content item is rendered fully inside the annex
 
static const size_t HF_createFootnoteReferences
 internal: create footnote references
 
static const size_t HF_convertNonASCIICharacters
 internal: convert non-ASCII characters (> #127) to &#nnn;
 
static const size_t HF_renderAllCodes
 shortcut: render all codes
 
static const size_t HF_internalUseOnly
 shortcut: filter all flags that are only used internally
 
static const size_t XF_writeEmptyTags
 write: write all tags even if their value is empty
 
static const size_t XF_writeTemplateIdentification
 write: write template identification information (TID and mapping resource)
 
static const size_t XF_alwaysWriteItemIdentifier
 write: always write item identifier "id", not only when item is referenced
 
static const size_t XF_codeComponentsAsAttribute
 write: encode code value, coding scheme designator and coding scheme version as attribute instead of element text
 
static const size_t XF_relationshipTypeAsAttribute
 write: encode relationship type as attribute instead of element text
 
static const size_t XF_valueTypeAsAttribute
 write: encode value type as attribute instead of element text
 
static const size_t XF_templateIdentifierAsAttribute
 write: encode template identifier as attribute instead of element text
 
static const size_t XF_useDcmsrNamespace
 write: add DCMSR namespace declaration to the XML output
 
static const size_t XF_addSchemaReference
 write: add Schema reference to XML document
 
static const size_t XF_validateSchema
 read: validate content of XML document against Schema
 
static const size_t XF_templateElementEnclosesItems
 read/write: template identification element encloses content items
 
static const size_t XF_addCommentsForIncludedTemplate
 write: add comments with details at beginning/end of included template (might be useful for debugging purposes)
 
static const size_t XF_acceptEmptyStudySeriesInstanceUID
 read: accept empty Study/Series/SOP Instance UID attribute values (must be filled later)
 
static const size_t XF_encodeEverythingAsAttribute
 shortcut: combines all XF_xxxAsAttribute write flags (see above)
 
static const size_t PF_printItemPosition
 print item position ("1.2.3") instead of line indentation
 
static const size_t PF_shortenLongItemValues
 shorten long item value (e.g. long texts)
 
static const size_t PF_printSOPInstanceUID
 print SOP instance UID of referenced objects
 
static const size_t PF_printConceptNameCodes
 print coding scheme designator/version and code value of concept names
 
static const size_t PF_printNoDocumentHeader
 print no general document information (header)
 
static const size_t PF_printTemplateIdentification
 print template identification (TID and mapping resource)
 
static const size_t PF_useANSIEscapeCodes
 use ANSI escape codes for output
 
static const size_t PF_printLongSOPClassName
 print long SOP class name of referenced objects (default: short name for images)
 
static const size_t PF_printSOPClassUID
 print SOP class UID of referenced objects (instead of the name)
 
static const size_t PF_printInvalidCodes
 print code triple for invalid codes (instead of the text "invalid code")
 
static const size_t PF_printNodeID
 print node ID at the beginning of each line (might be useful for debugging purposes)
 
static const size_t PF_indicateEnhancedEncodingMode
 indicate with a "*" that the "enhanced encoding mode" is used for codes
 
static const size_t PF_printAnnotation
 print annotation of a content item (optional, e.g. user-defined information)
 
static const size_t PF_hideIncludedTemplateNodes
 do not print internal "included template" nodes (position counter is still increased)
 
static const size_t PF_dontCountIncludedTemplateNodes
 do not count internal "included template" nodes (only with PF_hideIncludedTemplateNodes)
 
static const size_t PF_printEmptyCodes
 print text "empty code" for empty codes (instead of "invalid code")
 
static const size_t PF_printAllCodes
 shortcut: print all codes (combines all PF_printXxxCodes flags, see above)
 
static const size_t CM_updatePositionString
 update the position string using the node ID
 
static const size_t CM_updateNodeID
 update the node ID using the position string
 
static const size_t CM_resetReferenceTargetFlag
 reset the reference target flag for all nodes
 
static const size_t CB_maskPrintFlags
 bit mask (filter) for valid print flags (see PF_xxx)
 
static const size_t CB_maskReadFlags
 bit mask (filter) for valid read flags (see RF_xxx)
 

Detailed Description

template<typename T_Measurement, typename T_Units, typename T_Method, typename T_Derivation>
class TID1411_VolumetricROIMeasurements< T_Measurement, T_Units, T_Method, T_Derivation >

Implementation of DCMR Template: TID 1411 - Volumetric ROI Measurements (and included templates 1502 and 1419).

All added content items are annotated with a text in the format "TID 1411 - Row [n]".

Template Parameters
T_Measurementconcept names for the numeric measurements (context group)
T_Unitsunits of the numeric measurement values (context group)
T_Methodmethods used for measuring the values (context group)
T_Derivationmethods of deriving or calculating the values (context group)
Note
Please note that currently only the mandatory and some optional/conditional content items and included templates are supported.
Also note that this template class requires explicit instantiation for those combinations of the template parameters that are actually used. This is because the implementation is "hidden" in a separate source file, which has some advantages over the usual header-only approach.

Constructor & Destructor Documentation

◆ TID1411_VolumetricROIMeasurements()

template<typename T_Measurement , typename T_Units , typename T_Method , typename T_Derivation >
TID1411_VolumetricROIMeasurements< T_Measurement, T_Units, T_Method, T_Derivation >::TID1411_VolumetricROIMeasurements ( const OFBool  createGroup = OFFalse)

(default) constructor

Parameters
createGroupflag indicating whether to create an empty measurement group by calling createMeasurementGroup() during startup

Member Function Documentation

◆ addFindingSite()

template<typename T_Measurement , typename T_Units , typename T_Method , typename T_Derivation >
OFCondition TID1411_VolumetricROIMeasurements< T_Measurement, T_Units, T_Method, T_Derivation >::addFindingSite ( const DSRCodedEntryValue site,
const CID244e_Laterality laterality = CID244e_Laterality(),
const DSRCodedEntryValue siteModifier = DSRCodedEntryValue(),
const OFBool  check = OFTrue 
)

add a 'Finding Site' content item (TID 1419 - Row 2, 3 and 4).

A measurement group is created automatically (if none is present).

Note
Originally, the associated content item had the value multiplicity "1" and thus the method was called setFindingSite(). This changed with CP-1591. The value multiplicity is now "1-n". The requirement type is still "User option".
Parameters
sitecoded entry describing the anatomic location of the measurements in the current group
lateralitylaterality associated with the 'site' (optional)
siteModifiercoded entry describing the topographical modifier of the 'site' (optional)
checkif enabled, check values for validity before setting them
Returns
status, EC_Normal if successful, an error code otherwise

◆ addMeasurement()

template<typename T_Measurement , typename T_Units , typename T_Method , typename T_Derivation >
OFCondition TID1411_VolumetricROIMeasurements< T_Measurement, T_Units, T_Method, T_Derivation >::addMeasurement ( const T_Measurement &  conceptName,
const MeasurementValue numericValue,
const OFBool  checkEmpty = OFTrue,
const OFBool  checkValue = OFTrue 
)

add a measurement as defined in 'ROI Measurements' (TID 1419 - Row 5).

A measurement group is created automatically (if none is present). There should be at least a single instance of the associated template. Access to the current instance is available through getMeasurement().

Parameters
conceptNamecoded entry specifying the concept name of the measurement (e.g. from the given context group 'T_Measurement')
numericValuenumeric measurement value to be set. The measurement unit could be taken from the baseline context group 'T_Units'.
checkEmptyby default, it is checked whether the current instance of TID 1419 is empty, and thus no new instance is created. Setting this parameter to OFFalse disables this check and always creates and adds a new instance of this sub-template.
checkValueif enabled, check values for validity before setting them
Returns
status, EC_Normal if successful, an error code otherwise

◆ addOrReplaceContentItem()

template<typename T_Measurement , typename T_Units , typename T_Method , typename T_Derivation >
OFCondition TID1411_VolumetricROIMeasurements< T_Measurement, T_Units, T_Method, T_Derivation >::addOrReplaceContentItem ( const size_t  nodePos,
const E_RelationshipType  relationshipType,
const E_ValueType  valueType,
const DSRCodedEntryValue conceptName,
const OFString annotationText,
const OFBool  check 
)
protected

add a new or replace an existing content item with a given node ID.

If the content item does not exist, it is added to the measurement group, i.e. below the root node. If it does exist, both the 'valueType' and 'conceptName' are checked before replacing the value. However, the value is not replaced by this method. This is up to the caller after this method returned with success.

Parameters
nodePosindex of the list entry that stores the ID of the node to search for
relationshipTyperelationship type of the content item to be added/replaced
valueTypevalue type of the content item to be added/replaced
conceptNameconcept name of the content item to be added/replaced
annotationTextoptional text used to annotate the content item
checkif enabled, check values for validity before setting them
Returns
status, EC_Normal if successful, an error code otherwise

◆ addQualitativeEvaluation() [1/2]

template<typename T_Measurement , typename T_Units , typename T_Method , typename T_Derivation >
OFCondition TID1411_VolumetricROIMeasurements< T_Measurement, T_Units, T_Method, T_Derivation >::addQualitativeEvaluation ( const DSRCodedEntryValue conceptName,
const DSRCodedEntryValue codeValue,
const OFBool  check = OFTrue 
)

add a qualitative evaluation related to the subject of the measurement group as a coded entry (TID 1411 - Row 16).

A measurement group is created automatically (if none is present).

Parameters
conceptNamecoded entry to be set as the concept name
codeValuecoded entry to be set as the value of the new content item
checkif enabled, check values for validity before setting them
Returns
status, EC_Normal if successful, an error code otherwise

◆ addQualitativeEvaluation() [2/2]

template<typename T_Measurement , typename T_Units , typename T_Method , typename T_Derivation >
OFCondition TID1411_VolumetricROIMeasurements< T_Measurement, T_Units, T_Method, T_Derivation >::addQualitativeEvaluation ( const DSRCodedEntryValue conceptName,
const OFString stringValue,
const OFBool  check = OFTrue 
)

add a qualitative evaluation related to the subject of the measurement group in text form (TID 1411 - Row 17).

A measurement group is created automatically (if none is present).

Parameters
conceptNamecoded entry to be set as the concept name
stringValuecharacter string to be set as the value of the content item
checkif enabled, check values for validity before setting them
Returns
status, EC_Normal if successful, an error code otherwise

◆ clear()

template<typename T_Measurement , typename T_Units , typename T_Method , typename T_Derivation >
virtual void TID1411_VolumetricROIMeasurements< T_Measurement, T_Units, T_Method, T_Derivation >::clear ( )
virtual

clear internal member variables.

Also see notes on the clear() method of the base class.

Reimplemented from DSRSubTemplate.

◆ createMeasurementGroup()

template<typename T_Measurement , typename T_Units , typename T_Method , typename T_Derivation >
OFCondition TID1411_VolumetricROIMeasurements< T_Measurement, T_Units, T_Method, T_Derivation >::createMeasurementGroup ( )
protected

create the mandatory root content item of this template, i.e. TID 1411 - Row 1.

It is expected that the tree is currently empty.

Returns
status, EC_Normal if successful, an error code otherwise

◆ getMeasurement()

template<typename T_Measurement , typename T_Units , typename T_Method , typename T_Derivation >
TID1419_Measurement & TID1411_VolumetricROIMeasurements< T_Measurement, T_Units, T_Method, T_Derivation >::getMeasurement ( ) const
inline

get current measurement value of this measurement group as defined by TID 1419 (ROI Measurements), i.e. the current instance of TID 1411 - Row 15.

This included template is optional, i.e. might be empty and, therefore, does not contribute any content items to the tree. Further instances can be added by calling addMeasurement().

Returns
reference to internally managed SR template (current instance)

◆ hasMeasurementGroup()

template<typename T_Measurement , typename T_Units , typename T_Method , typename T_Derivation >
OFBool TID1411_VolumetricROIMeasurements< T_Measurement, T_Units, T_Method, T_Derivation >::hasMeasurementGroup ( const OFBool  checkChildren = OFFalse) const

check whether the 'Measurement Group' content item (TID 1411 - Row 1) is present.

This mandatory content item can be created by the constructor of this class (if not disabled, which is the default) or internally by createMeasurementGroup(). After clear() has been called, the content item has to be recreated, which is done automatically when needed.

Parameters
checkChildrenoptional flag indicating whether to also check for any children, i.e. whether the respective content item has child nodes. By default, the presence of the higher-level CONTAINER is checked only.
Returns
OFTrue if the measurement group is present, OFFalse otherwise

◆ hasMeasurements()

template<typename T_Measurement , typename T_Units , typename T_Method , typename T_Derivation >
OFBool TID1411_VolumetricROIMeasurements< T_Measurement, T_Units, T_Method, T_Derivation >::hasMeasurements ( const OFBool  checkChildren = OFTrue) const

check whether there is an included 'ROI Measurements' template (TID 1411 - Row 15) in this measurement template.

Initially, the optional sub-template TID 1419 is created and included by the constructor of this class. After clear() has been called, the content item has to be recreated, which is done automatically when needed.

Parameters
checkChildrenflag, which is enabled by default, indicating whether to check for any children, i.e. whether the respective sub-template has any content (child nodes). If OFFalse, the "included template" content item is checked only.
Returns
OFTrue if measurements are present, OFFalse otherwise

◆ hasReferencedSegment()

template<typename T_Measurement , typename T_Units , typename T_Method , typename T_Derivation >
OFBool TID1411_VolumetricROIMeasurements< T_Measurement, T_Units, T_Method, T_Derivation >::hasReferencedSegment ( ) const

check whether the 'Referenced Segment' content item (TID 1411 - Row 7) is present.

This content item is conditional, but should be present to meet the conditions.

Returns
OFTrue if the referenced segment is present, OFFalse otherwise

◆ hasSourceSeriesForSegmentation()

template<typename T_Measurement , typename T_Units , typename T_Method , typename T_Derivation >
OFBool TID1411_VolumetricROIMeasurements< T_Measurement, T_Units, T_Method, T_Derivation >::hasSourceSeriesForSegmentation ( ) const

check whether the 'Source Series for Segmentation' content item (TID 1411 - Row 12) is present.

This content item is conditional, but should be present to meet the conditions.

Returns
OFTrue if source series for segmentation is present, OFFalse otherwise

◆ hasTrackingIdentifier()

template<typename T_Measurement , typename T_Units , typename T_Method , typename T_Derivation >
OFBool TID1411_VolumetricROIMeasurements< T_Measurement, T_Units, T_Method, T_Derivation >::hasTrackingIdentifier ( ) const

check whether the 'Tracking Identifier' content item (TID 1411 - Row 2) is present.

This content item is optional, i.e. might be absent.

Returns
OFTrue if the tracking identifier is present, OFFalse otherwise

◆ hasTrackingUniqueIdentifier()

template<typename T_Measurement , typename T_Units , typename T_Method , typename T_Derivation >
OFBool TID1411_VolumetricROIMeasurements< T_Measurement, T_Units, T_Method, T_Derivation >::hasTrackingUniqueIdentifier ( ) const

check whether the 'Tracking Unique Identifier' content item (TID 1411 - Row 3) is present.

This content item is optional, i.e. might be absent.

Returns
OFTrue if the tracking unique identifier is present, OFFalse otherwise

◆ isValid()

template<typename T_Measurement , typename T_Units , typename T_Method , typename T_Derivation >
OFBool TID1411_VolumetricROIMeasurements< T_Measurement, T_Units, T_Method, T_Derivation >::isValid ( ) const
virtual

check whether the current internal state is valid.

That means, whether the base class is valid and whether all mandatory content items and included templates are valid (present), i.e. hasMeasurementGroup(), hasReferencedSegment() and hasSourceSeriesForSegmentation() return true.

Returns
OFTrue if valid, OFFalse otherwise

Reimplemented from DSRSubTemplate.

◆ setActivitySession()

template<typename T_Measurement , typename T_Units , typename T_Method , typename T_Derivation >
OFCondition TID1411_VolumetricROIMeasurements< T_Measurement, T_Units, T_Method, T_Derivation >::setActivitySession ( const OFString session,
const OFBool  check = OFTrue 
)

set the value of the 'Activity Session' content item (TID 1411 - Row 1b).

A measurement group is created automatically (if none is present). If the content item already exists, its value is overwritten.

Parameters
sessionidentifier of the session during which the measurements were made
checkif enabled, check values for validity before setting them
Returns
status, EC_Normal if successful, an error code otherwise

◆ setFinding()

template<typename T_Measurement , typename T_Units , typename T_Method , typename T_Derivation >
OFCondition TID1411_VolumetricROIMeasurements< T_Measurement, T_Units, T_Method, T_Derivation >::setFinding ( const DSRCodedEntryValue finding,
const OFBool  check = OFTrue 
)

set the value of the 'Finding' content item (TID 1411 - Row 3b).

A measurement group is created automatically (if none is present). If the content item already exists, its value is overwritten.

Parameters
findingcoded entry that describes the type of the finding
checkif enabled, check values for validity before setting them
Returns
status, EC_Normal if successful, an error code otherwise

◆ setMeasurementMethod()

template<typename T_Measurement , typename T_Units , typename T_Method , typename T_Derivation >
OFCondition TID1411_VolumetricROIMeasurements< T_Measurement, T_Units, T_Method, T_Derivation >::setMeasurementMethod ( const T_Method &  method,
const OFBool  check = OFTrue 
)

set the value of the 'Measurement Method' content item (TID 1419 - Row 1).

A measurement group is created automatically (if none is present). If the content item already exists, its value is overwritten.

Parameters
methodcoded entry describing the method used for measuring the values in the group (e.g. from the given context group 'T_Method')
checkif enabled, check values for validity before setting them
Returns
status, EC_Normal if successful, an error code otherwise

◆ setRealWorldValueMap() [1/2]

template<typename T_Measurement , typename T_Units , typename T_Method , typename T_Derivation >
OFCondition TID1411_VolumetricROIMeasurements< T_Measurement, T_Units, T_Method, T_Derivation >::setRealWorldValueMap ( const DSRCompositeReferenceValue valueMap,
const OFBool  check = OFTrue 
)

set the value of the 'Real World Value Map used for measurement' content item (TID 1411 - Row 14).

A measurement group is created automatically (if none is present). If the content item already exists, its value is overwritten.

Parameters
valueMapreference to a real world value mapping object applied to the stored image pixel values before their use for a measurement
checkif enabled, check values for validity before setting them
Returns
status, EC_Normal if successful, an error code otherwise

◆ setRealWorldValueMap() [2/2]

template<typename T_Measurement , typename T_Units , typename T_Method , typename T_Derivation >
OFCondition TID1411_VolumetricROIMeasurements< T_Measurement, T_Units, T_Method, T_Derivation >::setRealWorldValueMap ( DcmItem dataset,
const OFBool  check = OFTrue 
)

set the value of the 'Real World Value Map used for measurement' content item (TID 1411 - Row 14).

A measurement group is created automatically (if none is present). If the content item already exists, its value is overwritten.

Parameters
datasetDICOM dataset from which the values for the reference to a real world value mapping object (SOP class UID and SOP instance UID) should be retrieved
checkif enabled, check values for validity before setting them
Returns
status, EC_Normal if successful, an error code otherwise

◆ setReferencedSegment() [1/2]

template<typename T_Measurement , typename T_Units , typename T_Method , typename T_Derivation >
OFCondition TID1411_VolumetricROIMeasurements< T_Measurement, T_Units, T_Method, T_Derivation >::setReferencedSegment ( const DSRImageReferenceValue segment,
const OFBool  check = OFTrue 
)

set the value of the 'Referenced Segment' content item (TID 1411 - Row 7).

A measurement group is created automatically (if none is present). If the content item already exists, its value is overwritten.

Parameters
segmentreference to a segmentation object with a single selected segment; specifically the pixels or voxels identified as belonging to the classification of the identified segment
checkif enabled, check values for validity before setting them
Returns
status, EC_Normal if successful, an error code otherwise

◆ setReferencedSegment() [2/2]

template<typename T_Measurement , typename T_Units , typename T_Method , typename T_Derivation >
OFCondition TID1411_VolumetricROIMeasurements< T_Measurement, T_Units, T_Method, T_Derivation >::setReferencedSegment ( DcmItem dataset,
const Uint16  segmentNumber,
const OFBool  copyTracking = OFTrue,
const OFBool  check = OFTrue 
)

set the value of the 'Referenced Segment' content item (TID 1411 - Row 7).

A measurement group is created automatically (if none is present). If the content item already exists, its value is overwritten. If 'copyTracking' is enabled and the 'dataset' contains appropriate tracking information for the given 'segmentNumber', setTrackingIdentifier() and setTrackingUniqueIdentifier() are also called by this method.

Parameters
datasetDICOM dataset from which the values for the referenced segment (e.g. SOP class UID and SOP instance UID) should be retrieved
segmentNumbernumber of the segment that should be referenced. The value is only checked when 'copyTracking' is enabled.
copyTrackingflag indicating whether to copy tracking information (tracking ID and UID) from the 'dataset', if available
checkif enabled, check values for validity before setting them
Returns
status, EC_Normal if successful, an error code otherwise

◆ setSourceSeriesForSegmentation()

template<typename T_Measurement , typename T_Units , typename T_Method , typename T_Derivation >
OFCondition TID1411_VolumetricROIMeasurements< T_Measurement, T_Units, T_Method, T_Derivation >::setSourceSeriesForSegmentation ( const OFString seriesUID,
const OFBool  check = OFTrue 
)

set the value of the 'Source series for segmentation' content item (TID 1411 - Row 12).

A measurement group is created automatically (if none is present). If the content item already exists, its value is overwritten.

Parameters
seriesUIDthe unique identifier of the source series of images that were segmented to identify the ROI (associated DICOM VR=UI)
checkif enabled, check values for validity before setting them
Returns
status, EC_Normal if successful, an error code otherwise

◆ setTimePoint()

template<typename T_Measurement , typename T_Units , typename T_Method , typename T_Derivation >
OFCondition TID1411_VolumetricROIMeasurements< T_Measurement, T_Units, T_Method, T_Derivation >::setTimePoint ( const OFString timePoint,
const OFBool  check = OFTrue 
)

set the value of the 'Time Point' content item (TID 1502 - Row 3).

A measurement group is created automatically (if none is present). If the content item already exists, its value is overwritten.

Parameters
timePointa short pre-defined label that is human-readable
checkif enabled, check values for validity before setting them
Returns
status, EC_Normal if successful, an error code otherwise

◆ setTrackingIdentifier()

template<typename T_Measurement , typename T_Units , typename T_Method , typename T_Derivation >
OFCondition TID1411_VolumetricROIMeasurements< T_Measurement, T_Units, T_Method, T_Derivation >::setTrackingIdentifier ( const OFString trackingID,
const OFBool  check = OFTrue 
)

set the value of the 'Tracking Identifier' content item (TID 1411 - Row 2).

A measurement group is created automatically (if none is present). If the content item already exists, its value is overwritten.

Parameters
trackingIDa text label used for tracking a finding or feature
checkif enabled, check values for validity before setting them
Returns
status, EC_Normal if successful, an error code otherwise

◆ setTrackingUniqueIdentifier()

template<typename T_Measurement , typename T_Units , typename T_Method , typename T_Derivation >
OFCondition TID1411_VolumetricROIMeasurements< T_Measurement, T_Units, T_Method, T_Derivation >::setTrackingUniqueIdentifier ( const OFString trackingUID,
const OFBool  check = OFTrue 
)

set the value of the 'Tracking Unique Identifier' content item (TID 1411 - Row 3).

A measurement group is created automatically (if none is present). If the content item already exists, its value is overwritten.

Parameters
trackingUIDa unique identifier used for tracking a finding or feature (associated DICOM VR=UI)
checkif enabled, check values for validity before setting them
Returns
status, EC_Normal if successful, an error code otherwise

The documentation for this class was generated from the following file:


Generated on Tue Dec 19 2023 for DCMTK Version 3.6.8 by Doxygen 1.9.4