📄 dsrdoc.h
字号:
** @param doc document containing the XML file content * @param cursor cursor pointing to the starting node * @param flags optional flag used to customize the reading process (see DSRTypes::XF_xxx) ** @return status, EC_Normal if successful, an error code otherwise */ OFCondition readXMLDocumentData(const DSRXMLDocument &doc, DSRXMLCursor cursor, const size_t flags); /** read XML verifying observer data ** @param doc document containing the XML file content * @param cursor cursor pointing to the starting node * @param flags optional flag used to customize the reading process (see DSRTypes::XF_xxx) ** @return status, EC_Normal if successful, an error code otherwise */ OFCondition readXMLVerifyingObserverData(const DSRXMLDocument &doc, DSRXMLCursor cursor, const size_t flags); /** render patient name, sex, birthdate and ID in HTML format ** @param stream output stream to which the HTML document is written * @param flags flag used to customize the output (see DSRTypes::HF_xxx) */ void renderHTMLPatientData(ostream &stream, const size_t flags); /** render list of referenced SOP instances in HTML format ** @param stream output stream to which the HTML document is written * @param refList list of referenced SOP instances to be rendered * @param flags flag used to customize the output (see DSRTypes::HF_xxx) */ void renderHTMLReferenceList(ostream &stream, DSRSOPInstanceReferenceList &refList, const size_t flags); /** check the given dataset before reading. * This methods checks whether the dataset contains at least the DICOM attributes SOP class UID * and modality. Any incorrectness regarding these two attributes is reported to the log stream * (if valid). Currently unsupported SOP classes are also reported as an error. ** @param dataset DICOM dataset to be checked * @param documentType SR document type retrieved from the SOP class UID ** @return status, EC_Normal if successful, an error code otherwise */ OFCondition checkDatasetForReading(DcmItem &dataset, E_DocumentType &documentType); /** update several DICOM attributes. * (e.g. set the modality attribute, generate a new SOP instance UID if required, set date/time, etc.) ** @param updateAll flag indicating whether all DICOM attributes should be updated or only the * completion and verification flag. (set DICOM defined terms from enum values) */ void updateAttributes(const OFBool updateAll = OFTrue); private: /// SR document tree DSRDocumentTree DocumentTree; /// output stream for error messages, NULL for no messages OFConsole *LogStream; /// flag indicating whether is document is finalized or not OFBool FinalizedFlag; /// enumerated value: partial, complete E_CompletionFlag CompletionFlagEnum; /// enumerated value: unverified, verified E_VerificationFlag VerificationFlagEnum; /// defined term: see class DSRTypes E_CharacterSet SpecificCharacterSetEnum; // DICOM attributes are listed ordered by module. // The comments for each attribute describe "Name: (VR, VM, Type)". // Please note that for particular SR documents (e.g. Key Object Selection) // other rules might apply. See DICOM standard for further reference. // --- SOP Common Module (M) --- // (see SR Document General Module) /// SOP Class UID: (UI, 1, 1) DcmUniqueIdentifier SOPClassUID; /// SOP Instance UID: (UI, 1, 1) DcmUniqueIdentifier SOPInstanceUID; /// Specific Character Set: (CS, 1-n, 1C) DcmCodeString SpecificCharacterSet; /// Instance Creation Date: (DA, 1, 3) DcmDate InstanceCreationDate; /// Instance Creation Time: (TM, 1, 3) DcmTime InstanceCreationTime; /// Instance Creator UID: (UI, 1, 3) DcmUniqueIdentifier InstanceCreatorUID; /// Coding Scheme Identification Sequence: (SQ, 1, 3) DSRCodingSchemeIdentificationList CodingSchemeIdentification; // --- General Study Module (M) --- /// Study Instance UID: (UI, 1, 1) DcmUniqueIdentifier StudyInstanceUID; /// Study Date: (DA, 1, 2) DcmDate StudyDate; /// StudyTime: (TM, 1, 2) DcmTime StudyTime; /// ReferringPhysiciansName: (PN, 1, 2) DcmPersonName ReferringPhysiciansName; /// Study ID: (SH, 1, 2) DcmShortString StudyID; /// Accession Number: (SH, 1, 2) DcmShortString AccessionNumber; /// Study Description: (LO, 1, 3) DcmLongString StudyDescription; // --- General Series Module --- // (see SR Document Series Module) /// Series Description: (LO, 1, 3) DcmLongString SeriesDescription; // --- Patient Module (M) --- /// Person Name: (PN, 1, 2) DcmPersonName PatientsName; /// Patient ID: (LO, 1, 2) DcmLongString PatientID; /// Patient Birth Date: (DA, 1, 2) DcmDate PatientsBirthDate; /// Patient Sex: (CS, 1, 2) DcmCodeString PatientsSex; // --- General Equipment Module (M) --- /// Manufacturer: (LO, 1, 2) DcmLongString Manufacturer; // --- Frame of Reference (C) --- // tbd: conditional module for X-Ray Radiation Dose SR not yet supported // --- SR Document Series Module (M) --- /// Modality: (CS, 1, 1) DcmCodeString Modality; /// Series Instance Number: (UI, 1, 1) DcmUniqueIdentifier SeriesInstanceUID; /// Series Number: (IS, 1, 1) DcmIntegerString SeriesNumber; /// Referenced Performed Procedure Step Sequence: (SQ, 1, 2) DcmSequenceOfItems ReferencedPerformedProcedureStepSequence; // --- SR Document General Module (M) --- /// Instance Number: (IS, 1, 1) DcmIntegerString InstanceNumber; /// Completion Flag: (CS, 1, 1) DcmCodeString CompletionFlag; /// Completion Flag Description: (LO, 1, 3) DcmLongString CompletionFlagDescription; /// Verification Flag: (CS, 1, 1) DcmCodeString VerificationFlag; /// Content Date: (DA, 1, 1) DcmDate ContentDate; /// Content Time: (TM, 1, 1) DcmTime ContentTime; /// Verifying Observer Sequence: (SQ, 1, 1C) DcmSequenceOfItems VerifyingObserver; /// Predecessor Documents Sequence: (SQ, 1, 1C) DSRSOPInstanceReferenceList PredecessorDocuments; /// Identical Documents Sequence: (SQ, 1, 1C) DSRSOPInstanceReferenceList IdenticalDocuments; // Referenced Request Sequence: (SQ, 1, 1C) // -- not yet supported -- /// Performed Procedure Code Sequence: (SQ, 1, 2) DcmSequenceOfItems PerformedProcedureCode; /// Current Requested Procedure Evidence Sequence: (SQ, 1, 1C) DSRSOPInstanceReferenceList CurrentRequestedProcedureEvidence; /// Pertinent Other Evidence Sequence: (SQ, 1, 1C) DSRSOPInstanceReferenceList PertinentOtherEvidence; // --- declaration copy constructor and assignment operator DSRDocument(const DSRDocument &); DSRDocument &operator=(const DSRDocument &);};#endif/* * CVS/RCS Log: * $Log: dsrdoc.h,v $ * Revision 1.38 2005/12/08 16:04:59 meichel * Changed include path schema for all DCMTK header files * * Revision 1.37 2005/11/30 12:00:24 joergr * Added support for X-Ray Radiation Dose SR documents. * * Revision 1.36 2005/07/27 16:41:55 joergr * Updated reference to DICOM standard edition. * * Revision 1.35 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.34 2004/04/16 13:24:07 joergr * Restructured code to avoid default parameter values for "complex types" like * OFString. Required for Sun CC 2.0.1. * * Revision 1.33 2004/01/05 14:36:02 joergr * Removed acknowledgements with e-mail addresses from CVS log. * * Revision 1.32 2003/10/30 17:53:23 joergr * Added full support for the ContentTemplateSequence (read/write, get/set * template identification). Template constraints are not checked yet. * * Revision 1.31 2003/10/09 13:18:16 joergr * Added text from Supplement 66 to getCurrentRequestedProcedureEvidence() API * comment. * * Revision 1.30 2003/09/10 13:16:13 joergr * Replaced PrivateCodingSchemeUID by new CodingSchemeIdenticationSequence as * required by CP 324. * * Revision 1.29 2003/08/07 18:01:42 joergr * Removed libxml dependency from header files. * * Revision 1.28 2003/08/07 12:31:46 joergr * Added readXML functionality. * Updated documentation to get rid of doxygen warnings. * Made method isFinalized() const. * Added new option to createRevisedVersion() which allows to keep the current * list of predecessor documents. * Changed interface to access the list of predecessor documents. Now using the * existing class DSRSOPInstanceReferenceList. * Added preliminary support for the Identical Documents Sequence. * Renamed parameters/variables "string" to avoid name clash with STL class. * * Revision 1.27 2002/05/14 08:15:24 joergr * Updated comments. * * Revision 1.26 2002/05/07 12:49:31 joergr * Added support for the Current Requested Procedure Evidence Sequence and the * Pertinent Other Evidence Sequence to the dcmsr module. * * Revision 1.25 2002/04/16 13:50:52 joergr * Added configurable support for C++ ANSI standard includes (e.g. streams). * * Revision 1.24 2001/11/09 16:10:48 joergr * Added preliminary support for Mammography CAD SR. * * Revision 1.23 2001/09/26 13:04:06 meichel * Adapted dcmsr to class OFCondition * * Revision 1.22 2001/04/03 08:24:01 joergr * Added new command line option: ignore relationship content constraints * specified for each SR document class. * * Revision 1.21 2001/01/29 17:37:14 joergr * Added methods to support a new state of finalized and unfinalized documents. * * Revision 1.20 2001/01/25 11:48:43 joergr * Corrected typos / enhanced comments. * * Revision 1.19 2001/01/18 15:53:33 joergr * Added support for digital signatures. * * Revision 1.18 2000/12/08 13:42:40 joergr * Renamed createNewSeries(studyUID) to createNewSeriesInStudy(studyUID). * * Revision 1.17 2000/11/16 13:31:27 joergr * Corrected behaviour of updateDicomAttributes(). * * Revision 1.16 2000/11/14 17:27:25 joergr * Added method to remove verification information. * * Revision 1.15 2000/11/14 16:36:21 joergr * Added methods to set the content date/time. * * Revision 1.14 2000/11/14 11:45:50 joergr * Corrected behaviour of method createRevisedVersion(). * * Revision 1.13 2000/11/13 14:19:06 joergr * Updated comments. * * Revision 1.12 2000/11/13 10:26:21 joergr * Added output of optional observation datetime to rendered HTML page. * * Revision 1.11 2000/11/10 18:10:20 joergr * Corrected behaviour of createNewSOPInstance() and createRevisedDocument(). * * Revision 1.10 2000/11/10 17:44:49 joergr * Added new methods to set the completion flag description, create new study/ * series UIDs. Added missing type 2 sequence to dataset. Corrected wrong format * of predecessor documents sequence. Changed behaviour of completion/verification * flags. Improved HTML and print/dump output. * * Revision 1.9 2000/11/09 20:32:07 joergr * Added support for non-ASCII characters in HTML 3.2 (use numeric value). * * Revision 1.8 2000/11/07 18:12:25 joergr * Enhanced rendered HTML output of date, time, datetime and pname. * * Revision 1.7 2000/11/01 16:16:33 joergr * dded support for conversion to XML. * Added support for Cascading Style Sheet (CSS) used optionally for HTML * rendering. * Enhanced support for specific character sets. * * Revision 1.6 2000/10/26 14:17:06 joergr * Added support for "Comprehensive SR". * * Revision 1.5 2000/10/18 17:01:47 joergr * Made some functions inline. * * Revision 1.4 2000/10/17 12:35:05 joergr * Added methods to retrieve information on predecessor documents and * verifying observers. * * Revision 1.3 2000/10/16 16:30:23 joergr * Added missing get/setSeriesDescription() methods. * Updated comments. * * Revision 1.2 2000/10/16 11:59:04 joergr * Made method creating a new SOP instance public. Added check for correct SOP * instance UID and SOP class UID to validity check. * * Revision 1.1 2000/10/13 07:49:25 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 + -