DCMTK
Version 3.6.6
OFFIS DICOM Toolkit
|
Class managing an SR document tree that is based on an SR root template. More...
Public Member Functions | |
DSRRootTemplate (const E_DocumentType documentType, const OFString &templateIdentifier, const OFString &mappingResource, const OFString &mappingResourceUID="") | |
constructor More... | |
DSRRootTemplate (const DSRRootTemplate &rootTemplate) | |
copy constructor. More... | |
virtual | ~DSRRootTemplate () |
destructor | |
virtual DSRRootTemplate * | clone () const |
clone this template. More... | |
virtual DSRDocumentTree * | cloneTree () const |
clone the internally stored document tree 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 DSRDocumentTree & | getTree () |
get read-only access to internally stored document tree. 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 document tree. More... | |
E_DocumentType | getDocumentType () const |
get document type More... | |
virtual OFCondition | print (STD_NAMESPACE ostream &stream, const size_t flags=0) |
print current SR document tree to specified output stream More... | |
virtual OFCondition | print (STD_NAMESPACE ostream &stream, const size_t flags, const DSRPositionCounter *posCounter) |
print current SR document tree to specified output stream. More... | |
![]() | |
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 OFString & | getTemplateIdentifier () const |
get template identifier More... | |
const OFString & | getMappingResource () const |
get mapping resource More... | |
const OFString & | getMappingResourceUID () 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 | |
virtual OFCondition | read (DcmItem &dataset, const E_DocumentType documentType, const size_t flags=0) |
read SR document tree from DICOM dataset More... | |
virtual OFCondition | readXML (const DSRXMLDocument &doc, DSRXMLCursor cursor, const size_t flags) |
read XML document tree More... | |
virtual void | updateTreeForOutput () |
update the tree for subsequent output, e.g. for being printed or added to an SR document. More... | |
![]() | |
void | swap (DSRDocumentTree &tree) |
fast, non-throwing swap function. More... | |
virtual OFCondition | print (STD_NAMESPACE ostream &stream, const size_t flags, const DSRPositionCounter *posCounter) |
print current SR document tree to specified output stream. More... | |
DSRDocumentTree (const E_DocumentType documentType) | |
constructor More... | |
DSRDocumentTree (const DSRDocumentTree &tree) | |
copy constructor. More... | |
virtual | ~DSRDocumentTree () |
destructor | |
DSRDocumentTree & | operator= (DSRDocumentTree tree) |
assignment operator. More... | |
virtual OFCondition | print (STD_NAMESPACE ostream &stream, const size_t flags=0) |
print current SR document tree to specified output stream More... | |
virtual OFCondition | write (DcmItem &dataset, DcmStack *markedItems=NULL) |
write current SR document tree to DICOM dataset. More... | |
virtual OFCondition | renderHTML (STD_NAMESPACE ostream &docStream, STD_NAMESPACE ostream &annexStream, const size_t flags=0) |
render current SR document tree in HTML/XHTML format. More... | |
E_DocumentType | getDocumentType () const |
get document type More... | |
virtual OFCondition | changeDocumentType (const E_DocumentType documentType, const OFBool deleteTree) |
change document type. 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 | 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 | checkDocumentTreeConstraints (DSRIODConstraintChecker *checker) |
check whether the document tree complies with the constraints of the given checker. More... | |
void | unmarkAllContentItems () |
unmark all content items in the document tree. More... | |
void | removeSignatures () |
remove digital signatures from the document tree. More... | |
![]() | |
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 DSRDocumentTreeNode * | getNode () 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 DSRDocumentTreeNode * | extractNode () |
extract current node from tree. More... | |
virtual DSRDocumentTreeNode * | getAndRemoveRootNode () |
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 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 | |
DSRDocumentSubTree & | operator= (DSRDocumentSubTree tree) |
assignment operator. 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 | writeXML (STD_NAMESPACE ostream &stream, const size_t flags=0) |
write current SR document tree in XML format More... | |
virtual DSRContentItem & | getCurrentContentItem () |
get reference to current content item. More... | |
virtual const DSRDocumentTreeNode * | getCurrentNode () 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 | 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 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 DSRDocumentSubTree * | extractSubTree () |
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 DSRDocumentTreeNode * | cloneCurrentTreeNode () const |
clone the current tree node. More... | |
virtual DSRDocumentSubTree * | cloneSubTree (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... | |
![]() | |
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 DSRDocumentTreeNode * | getRoot () 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 | |
DSRTree & | operator= (DSRTree< DSRDocumentTreeNode > tree) |
assignment operator. More... | |
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... | |
![]() | |
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 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 OFString & | getTemplateIdentifier () const |
get template identifier More... | |
const OFString & | getMappingResource () const |
get mapping resource More... | |
const OFString & | getMappingResourceUID () 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 | |
![]() | |
static DSRDocumentSubTree * | cloneSubTree (const DSRDocumentTreeNodeCursor &startCursor, const size_t stopAfterNodeID=0) |
clone a particular subtree, i.e. a fragment of a tree More... | |
![]() | |
DSRIODConstraintChecker * | ConstraintChecker |
check relationship content constraints of the associated IOD | |
Class managing an SR document tree that is based on an SR root template.
This class provides a more template-specific API than the general document tree class and should be used for root templates only.
DSRRootTemplate::DSRRootTemplate | ( | const E_DocumentType | documentType, |
const OFString & | templateIdentifier, | ||
const OFString & | mappingResource, | ||
const OFString & | mappingResourceUID = "" |
||
) |
constructor
documentType | document type of the associated document |
templateIdentifier | identifier of the template |
mappingResource | mapping resource that defines the template |
mappingResourceUID | uniquely identifies the mapping resource (optional) |
DSRRootTemplate::DSRRootTemplate | ( | const DSRRootTemplate & | rootTemplate | ) |
copy constructor.
Also see notes on DSRDocumentTree's copy constructor.
rootTemplate | template to be copied |
|
virtual |
add extra content item to the current one (if the template is extensible).
See DSRDocumentTree::addContentItem() for details.
relationshipType | relationship type of node to be added with regard to the current one |
valueType | value type of node to be added |
addMode | flag specifying at which position to add the new node (e.g. after or below the current node) |
|
virtual |
clear internal member variables.
Also see notes on the clear() method of the base classes.
Reimplemented from DSRTemplateCommon.
Reimplemented in TID1500_MeasurementReport.
|
virtual |
clone this template.
Internally, the copy constructor is used, so the corresponding comments apply.
Reimplemented from DSRDocumentTree.
|
virtual |
clone the internally stored document tree of this template.
Internally, the copy constructor of DSRDocumentTree is used, so the corresponding comments apply. In addition, the template identification is set for the root node of the cloned tree (if applicable).
|
inline |
get document type
|
virtual |
get read-only access to internally stored document tree.
This method is not "const" because the template identification is set/updated automatically for the root node of the document tree (if applicable).
|
virtual |
insert tree from given extra template to internally stored document tree.
If possible, this method adds a copy of the given tree to the current content item. However, in case this template is non-extensible, an error code will be returned.
subTemplate | template that contains the tree that should be inserted |
addMode | flag specifying at which position to add the new subtree (e.g. after or below the current node) |
defaultRelType | default relationship type between the top-level nodes of the given subtree and the current node. This relationship type is used if the one of a top-level node is "unknown". |
|
inline |
check whether this template is a root template, i.e. describes a complete SR document tree starting from the root node
|
virtual |
check whether the current internal state is valid.
That means, whether both the internally stored document tree and the template identification are valid.
Reimplemented from DSRDocumentTree.
Reimplemented in TID1500_MeasurementReport.
virtual OFCondition DSRDocumentTree::print |
print current SR document tree to specified output stream.
This method is only needed to avoid compiler warnings regarding an "overloaded virtual function" hiding DSRDocumentSubTree::print() from the base class, which has different parameters than the public print() method of this class.
stream | output stream |
flags | flag used to customize the output (see DSRTypes::PF_xxx) |
posCounter | pointer to position counter that should be used to initialize the counter for line indentation or numbering of nested content items |
virtual OFCondition DSRDocumentTree::print |
print current SR document tree to specified output stream
stream | output stream |
flags | optional flag used to customize the output (see DSRTypes::PF_xxx) |
|
protectedvirtual |
read SR document tree from DICOM dataset
dataset | dummy parameter |
documentType | dummy parameter |
flags | dummy parameter |
Reimplemented from DSRDocumentTree.
|
protectedvirtual |
read XML document tree
doc | dummy parameter |
cursor | dummy parameter |
flags | dummy parameter |
Reimplemented from DSRDocumentTree.
|
protectedvirtual |
update the tree for subsequent output, e.g. for being printed or added to an SR document.
This function is called automatically by the affected output methods.
Reimplemented from DSRDocumentSubTree.