📄 dsrdoctn.h
字号:
/** read document relationship macro ** @param dataset DICOM dataset from which the data should be read * @param constraintChecker checks relationship content constraints of the associated IOD * @param posString location of the current content item (e.g. "1.2.3") * @param flags flag used to customize the reading process (see DSRTypes::RF_xxx) * @param logStream pointer to error/warning output stream (output disabled if NULL) ** @return status, EC_Normal if successful, an error code otherwise */ OFCondition readDocumentRelationshipMacro(DcmItem &dataset, const DSRIODConstraintChecker *constraintChecker, const OFString &posString, const size_t flags, OFConsole *logStream); /** write document relationship macro ** @param dataset DICOM dataset to which the data should be written * @param markedItems optional stack where pointers to all 'marked' content items * (DICOM datasets/items) are added to during the write process. * @param logStream pointer to error/warning output stream (output disabled if NULL) ** @return status, EC_Normal if successful, an error code otherwise */ OFCondition writeDocumentRelationshipMacro(DcmItem &dataset, DcmStack *markedItems, OFConsole *logStream); /** read document content macro ** @param dataset DICOM dataset from which the data should be read * @param posString location of the current content item (e.g. "1.2.3") * @param flags flag used to customize the reading process (see DSRTypes::RF_xxx) * @param logStream pointer to error/warning output stream (output disabled if NULL) ** @return status, EC_Normal if successful, an error code otherwise */ OFCondition readDocumentContentMacro(DcmItem &dataset, const OFString &posString, const size_t flags, OFConsole *logStream); /** write document content macro ** @param dataset DICOM dataset to which the data should be written * @param logStream pointer to error/warning output stream (output disabled if NULL) ** @return status, EC_Normal if successful, an error code otherwise */ OFCondition writeDocumentContentMacro(DcmItem &dataset, OFConsole *logStream) const; /** read content sequence ** @param dataset DICOM dataset from which the data should be read * @param constraintChecker checks relationship content constraints of the associated IOD * @param posString location of the current content item (e.g. "1.2.3") * @param flags flag used to customize the reading process (see DSRTypes::RF_xxx) * @param logStream pointer to error/warning output stream (output disabled if NULL) ** @return status, EC_Normal if successful, an error code otherwise */ OFCondition readContentSequence(DcmItem &dataset, const DSRIODConstraintChecker *constraintChecker, const OFString &posString, const size_t flags, OFConsole *logStream); /** write content sequence ** @param dataset DICOM dataset to which the data should be written * @param markedItems optional stack where pointers to all 'marked' content items * (DICOM datasets/items) are added to during the write process. * @param logStream pointer to error/warning output stream (output disabled if NULL) ** @return status, EC_Normal if successful, an error code otherwise */ OFCondition writeContentSequence(DcmItem &dataset, DcmStack *markedItems, OFConsole *logStream) const; /** render concept name in HTML format. * If the optional observation datetime field is valid (not empty) it is also rendered. ** @param docStream output stream to which the main HTML document is written * @param flags flag used to customize the output (see DSRTypes::HF_xxx) * @param logStream pointer to error/warning output stream (output disabled if NULL) ** @return status, EC_Normal if successful, an error code otherwise */ OFCondition renderHTMLConceptName(ostream &docStream, const size_t flags, OFConsole *logStream) const; /** render child nodes in HTML format ** @param docStream output stream to which the main HTML document is written * @param annexStream output stream to which the HTML document annex is written * @param nestingLevel current nesting level. Used to render section headings. * @param annexNumber reference to the variable where the current annex number is stored. * Value is increased automatically by 1 after a new entry has been added. * @param flags flag used to customize the output (see DSRTypes::HF_xxx) * @param logStream pointer to error/warning output stream (output disabled if NULL) ** @return status, EC_Normal if successful, an error code otherwise */ OFCondition renderHTMLChildNodes(ostream &docStream, ostream &annexStream, const size_t nestingLevel, size_t &annexNumber, const size_t flags, OFConsole *logStream) const; // --- static function --- /** convert relationship type into a text used for HTML rendering ** @param relationshipType type of relationship to be converted * @param relationshipText reference to string variable where the resulting text should be * stored. Value is cleared if 'relationshipType' is invalid or not * supported. * @param flags flag used to customize the output (see DSRTypes::HF_xxx) ** @return reference to the 'relationshipText' string (might be empty) */ static const OFString &getRelationshipText(const E_RelationshipType relationshipType, OFString &relationshipText, const size_t flags); private: /// flag indicating whether the content item is marked (e.g. used for digital signatures) OFBool MarkFlag; /// flag indicating whether the content item is referenced (by-reference relationship) OFBool ReferenceTarget; /// relationship type to the parent node (associated DICOM VR=CS, mandatory) const E_RelationshipType RelationshipType; /// value type (associated DICOM VR=CS, mandatory) const E_ValueType ValueType; /// concept name (VR=SQ, conditional) DSRCodedEntryValue ConceptName; /// observation date and time (VR=DT, conditional) OFString ObservationDateTime; /// template identifier (VR=CS, mandatory in ContentTemplateSequence) OFString TemplateIdentifier; /// mapping resource (VR=CS, mandatory in ContentTemplateSequence) OFString MappingResource; /// MAC parameters sequence (VR=SQ, optional) DcmSequenceOfItems MACParameters; /// digital signatures sequence (VR=SQ, optional) DcmSequenceOfItems DigitalSignatures; // --- declaration of default/copy constructor and assignment operator DSRDocumentTreeNode(); DSRDocumentTreeNode(const DSRDocumentTreeNode &); DSRDocumentTreeNode &operator=(const DSRDocumentTreeNode &);};#endif/* * CVS/RCS Log: * $Log: dsrdoctn.h,v $ * Revision 1.21 2005/12/08 16:05:00 meichel * Changed include path schema for all DCMTK header files * * Revision 1.20 2004/11/22 16:39:09 meichel * Added method that checks if the SR document contains non-ASCII characters * in any of the strings affected by SpecificCharacterSet. * * Revision 1.19 2003/12/16 15:57:51 joergr * Added note that the condition for the Content Template Sequence is currently * not checked. * * Revision 1.18 2003/10/30 17:53:02 joergr * Added full support for the ContentTemplateSequence (read/write, get/set * template identification). Template constraints are not checked yet. * * Revision 1.17 2003/10/06 09:52:58 joergr * Added new flag which allows to ignore content item errors when reading an SR * document (e.g. missing value type specific attributes). * * Revision 1.16 2003/09/15 14:18:54 joergr * Introduced new class to facilitate checking of SR IOD relationship content * constraints. Replaced old implementation distributed over numerous classes. * * Revision 1.15 2003/08/07 17:31:00 joergr * Removed libxml dependency from header files. Simplifies linking (MSVC). * * Revision 1.14 2003/08/07 12:34:06 joergr * Added readXML functionality. * Updated documentation to get rid of doxygen warnings. * * Revision 1.13 2002/08/02 12:38:31 joergr * Enhanced debug output of dcmsr::read() routines (e.g. add position string * of invalid content items to error messages). * * Revision 1.12 2001/11/09 16:10:49 joergr * Added preliminary support for Mammography CAD SR. * * Revision 1.11 2001/09/26 13:04:07 meichel * Adapted dcmsr to class OFCondition * * Revision 1.10 2001/04/03 08:24:01 joergr * Added new command line option: ignore relationship content constraints * specified for each SR document class. * * Revision 1.9 2001/02/02 14:37:33 joergr * Added new option to dsr2xml allowing to specify whether value and/or * relationship type are to be encoded as XML attributes or elements. * * Revision 1.8 2001/01/18 15:53:34 joergr * Added support for digital signatures. * * Revision 1.7 2000/11/13 10:26:21 joergr * Added output of optional observation datetime to rendered HTML page. * * Revision 1.6 2000/11/07 18:14:28 joergr * Enhanced support for by-reference relationships. * * Revision 1.5 2000/11/01 16:23:19 joergr * Added support for conversion to XML. * * Revision 1.4 2000/10/26 14:17:38 joergr * Added support for "Comprehensive SR". * * Revision 1.3 2000/10/23 15:10:29 joergr * Added/updated doc++ comments. * * Revision 1.2 2000/10/18 17:02:27 joergr * Added methods allowing direct access to certain content item values. * Made some functions inline. * * Revision 1.1 2000/10/13 07:49:26 joergr * Added new module 'dcmsr' providing access to DICOM structured reporting * documents (supplement 23). Doc++ documentation not yet completed. * * */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -