DCMTK  Version 3.6.3
OFFIS DICOM Toolkit
Public Types | Public Member Functions | Static Public Member Functions | List of all members
DSRTypes Class Reference

General purpose class hiding global functions, constants and types from the global namespace. More...

+ Inheritance diagram for DSRTypes:

Public Types

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_SpectaclePrescriptionReport,
  DT_MacularGridThicknessAndVolumeReport, DT_ImplantationPlanSRDocument, DT_Comprehensive3DSR, DT_RadiopharmaceuticalRadiationDoseSR,
  DT_ExtensibleSR, DT_AcquisitionContextSR, DT_SimplifiedAdultEchoSR, DT_PatientRadiationDoseSR,
  DT_last = DT_PatientRadiationDoseSR
}
 SR document types. 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_last = PT_MultipleVolumeRendering
}
 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_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...
 

Public Member Functions

virtual ~DSRTypes ()
 destructor. More...
 

Static Public Member Functions

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 SR document type requires Enhanced General Equipment Module More...
 
static OFBool requiresTimezoneModule (const E_DocumentType documentType)
 check whether SR document type requires Timezone 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...
 

Static Public Attributes

read() flags

These flags can be combined and passed to the read() methods.

The 'shortcut' flags can be used for common combinations.

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")
 
renderHTML() flags

These flags can be combined and passed to the renderHMTL() methods.

Please note that only the 'external' flags can be used from outside this library. The 'shortcut' flags can be used for common combinations.

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
 
read/writeXML() flags

These flags can be combined and passed to the read/writeXML() methods.

The 'shortcut' flags can be used for common combinations.

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)
 
print() flags

These flags can be combined and passed to the print() methods.

The 'shortcut' flags can be used for common combinations.

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_printAllCodes
 shortcut: print all codes (combines all PF_printXxxCodes flags, see above)
 
checkByReferenceRelationships() modes

These modes can be combined and passed to the checkByReferenceRelationships() method.

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
 
checkByReferenceRelationships() bit masks

These bit masks are used to "filter" valid flags passed to checkByReferenceRelationships().

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

General purpose class hiding global functions, constants and types from the global namespace.

Some of them might be moved to 'ofstd' later on. All functions and constants are static and can, therefore, be accessed without creating an instance of this class.

Member Enumeration Documentation

◆ E_AddMode

Add node mode.

Enumerator
AM_afterCurrent 

add new node after current one (sibling)

AM_beforeCurrent 

add new node before current one (sibling)

AM_belowCurrent 

add new node below current one (after last child)

AM_belowCurrentBeforeFirstChild 

add new node below current one (before first child)

◆ E_CharacterSet

Specific character set.

Enumerator
CS_invalid 

internal type used to indicate an error

CS_unknown 

internal type used to indicate an unknown/unsupported character set

CS_ASCII 

ISO 646 (ISO-IR 6): ASCII.

CS_default 

internal type used to indicate the default character set

CS_Latin1 

ISO-IR 100: Latin alphabet No. 1.

CS_Latin2 

ISO-IR 101: Latin alphabet No. 2.

CS_Latin3 

ISO-IR 109: Latin alphabet No. 3.

CS_Latin4 

ISO-IR 110: Latin alphabet No. 4.

CS_Cyrillic 

ISO-IR 144: Cyrillic.

CS_Arabic 

ISO-IR 127: Arabic.

CS_Greek 

ISO-IR 126: Greek.

CS_Hebrew 

ISO-IR 138: Hebrew.

CS_Latin5 

ISO-IR 148: Latin alphabet No. 5.

CS_Thai 

ISO-IR 166: Thai.

CS_Japanese 

ISO-IR 13/87: Japanese (Katakana/Romaji/Kanji)

CS_Korean 

ISO-IR 6/149: Korean (Hangul/Hanja)

CS_ChineseISO 

ISO-IR 6/58: Chinese.

CS_ChineseGB18030 

GB18030: Chinese.

CS_ChineseGBK 

GBK: Chinese.

CS_UTF8 

UTF-8: Unicode in UTF-8.

CS_last 

internal type used to mark the last entry

◆ E_CodeValueType

Code value type.

Enumerator
CVT_auto 

determine code value type automatically

CVT_Short 

short code value (VR=SH)

CVT_Long 

long code value (VR=UC)

CVT_URN 

URN code value (VR=UR)

◆ E_CompletionFlag

SR document completion flag.

Enumerator
CF_invalid 

internal type used to indicate an error

CF_Partial 

DICOM enumerated value: PARTIAL.

CF_Complete 

DICOM enumerated value: COMPLETE.

CF_last 

internal type used to mark the last entry

◆ E_ContinuityOfContent

SR continuity of content flag.

Used for content item CONTAINER.

Enumerator
COC_invalid 

internal type used to indicate an error

COC_Separate 

DICOM enumerated value: SEPARATE.

COC_Continuous 

DICOM enumerated value: CONTINUOUS.

COC_last 

internal type used to mark the last entry

◆ E_DocumentType

SR document types.

Enumerator
DT_invalid 

internal type used to indicate an error

DT_unknown 

internal type used to indicate an unknown/unsupported document type

DT_BasicTextSR 

DICOM IOD: Basic Text SR.

DT_EnhancedSR 

DICOM IOD: Enhanced SR.

DT_ComprehensiveSR 

DICOM IOD: Comprehensive SR.

DT_KeyObjectSelectionDocument 

DICOM IOD: Key Object Selection Document.

DT_MammographyCadSR 

DICOM IOD: Mammography CAD SR.

DT_ChestCadSR 

DICOM IOD: Chest CAD SR.

DT_ColonCadSR 

DICOM IOD: Colon CAD SR.

DT_ProcedureLog 

DICOM IOD: Procedure Log.

DT_XRayRadiationDoseSR 

DICOM IOD: X-Ray Radiation Dose SR.

DT_SpectaclePrescriptionReport 

DICOM IOD: Spectacle Prescription Report.

DT_MacularGridThicknessAndVolumeReport 

DICOM IOD: Macular Grid Thickness and Volume Report.

DT_ImplantationPlanSRDocument 

DICOM IOD: Implantation Plan SR Document.

DT_Comprehensive3DSR 

DICOM IOD: Comprehensive 3D SR.

DT_RadiopharmaceuticalRadiationDoseSR 

DICOM IOD: Radiopharmaceutical Radiation Dose SR.

DT_ExtensibleSR 

DICOM IOD: Extensible SR (not yet implemented)

DT_AcquisitionContextSR 

DICOM IOD: Acquisition Context SR.

DT_SimplifiedAdultEchoSR 

DICOM IOD: Simplified Adult Echo SR.

DT_PatientRadiationDoseSR 

DICOM IOD: Patient Radiation Dose SR.

DT_last 

internal type used to mark the last entry

◆ E_GraphicType

SR graphic types.

Used for content item SCOORD.

Enumerator
GT_invalid 

internal type used to indicate an error

GT_unknown 

internal type used to indicate an unknown graphic type (defined term)

GT_Point 

DICOM Graphic Type: POINT.

GT_Multipoint 

DICOM Graphic Type: MULTIPOINT.

GT_Polyline 

DICOM Graphic Type: POLYLINE.

GT_Circle 

DICOM Graphic Type: CIRCLE.

GT_Ellipse 

DICOM Graphic Type: ELLIPSE.

GT_last 

internal type used to mark the last entry

◆ E_GraphicType3D

SR graphic types (3D).

Used for content item SCOORD3D.

Enumerator
GT3_invalid 

internal type used to indicate an error

GT3_unknown 

internal type used to indicate an unknown graphic type (defined term)

GT3_Point 

DICOM Graphic Type: POINT.

GT3_Multipoint 

DICOM Graphic Type: MULTIPOINT.

GT3_Polyline 

DICOM Graphic Type: POLYLINE.

GT3_Polygon 

DICOM Graphic Type: POLYGON.

GT3_Ellipse 

DICOM Graphic Type: ELLIPSE.

GT3_Ellipsoid 

DICOM Graphic Type: ELLIPSOID.

GT3_last 

internal type used to mark the last entry

◆ E_PreliminaryFlag

SR document preliminary flag.

Enumerator
PF_invalid 

internal type used to indicate an error or the absence of this flag

PF_Preliminary 

DICOM enumerated value: PRELIMINARY.

PF_Final 

DICOM enumerated value: FINAL.

PF_last 

internal type used to mark the last entry

◆ E_PresentationStateType

Softcopy presentation state types.

Used for content item IMAGE.

Enumerator
PT_invalid 

internal type used to indicate an error

PT_unknown 

internal type used to indicate an unknown presentation state type (SOP class)

PT_Grayscale 

Grayscale Softcopy Presentation State (GSPS)

PT_Color 

Color Softcopy Presentation State (CSPS)

PT_PseudoColor 

Pseudo-Color Softcopy Presentation State (PCSPS)

PT_Blending 

Blending Softcopy Presentation State (BSPS)

PT_XAXRFGrayscale 

XA/XRF Grayscale Softcopy Presentation State (XGSPS)

PT_GrayscalePlanarMPR 

Grayscale Planar MPR Volumetric Presentation State (GP-VPS)

PT_CompositingPlanarMPR 

Compositing Planar MPR Volumetric Presentation State (CP-VPS)

PT_AdvancedBlending 

Advanced Blending Presentation State (ABPS)

PT_VolumeRendering 

Volume Rendering Volumetric Presentation State (VR-VPS)

PT_SegmentedVolumeRendering 

Segmented Volume Rendering Volumetric Presentation State (SVR-VPS)

PT_MultipleVolumeRendering 

Multiple Volume Rendering Volumetric Presentation State (MVR-VPS)

PT_last 

internal type used to mark the last entry

◆ E_RelationshipType

SR relationship types.

Enumerator
RT_invalid 

internal type used to indicate an error

RT_unknown 

internal type used to indicate an unknown relationship type (defined term)

RT_isRoot 

internal type used for the document root

RT_contains 

DICOM Relationship Type: CONTAINS.

RT_hasObsContext 

DICOM Relationship Type: HAS OBS CONTEXT.

RT_hasAcqContext 

DICOM Relationship Type: HAS ACQ CONTEXT.

RT_hasConceptMod 

DICOM Relationship Type: HAS CONCEPT MOD.

RT_hasProperties 

DICOM Relationship Type: HAS PROPERTIES.

RT_inferredFrom 

DICOM Relationship Type: INFERRED FROM.

RT_selectedFrom 

DICOM Relationship Type: SELECTED FROM.

RT_last 

internal type used to mark the last entry

◆ E_TemporalRangeType

SR temporal range types.

Used for content item TCOORD.

Enumerator
TRT_invalid 

internal type used to indicate an error

TRT_unknown 

internal type used to indicate an unknown range type (defined term)

TRT_Point 

DICOM Temporal Range Type: POINT.

TRT_Multipoint 

DICOM Temporal Range Type: MULTIPOINT.

TRT_Segment 

DICOM Temporal Range Type: SEGMENT.

TRT_Multisegment 

DICOM Temporal Range Type: MULTISEGMENT.

TRT_Begin 

DICOM Temporal Range Type: BEGIN.

TRT_End 

DICOM Temporal Range Type: END.

TRT_last 

internal type used to mark the last entry

◆ E_ValueType

SR value types.

Enumerator
VT_invalid 

internal type used to indicate an error

VT_Text 

DICOM Value Type: TEXT.

VT_Code 

DICOM Value Type: CODE.

VT_Num 

DICOM Value Type: NUM.

VT_DateTime 

DICOM Value Type: DATETIME.

VT_Date 

DICOM Value Type: DATE.

VT_Time 

DICOM Value Type: TIME.

VT_UIDRef 

DICOM Value Type: UIDREF.

VT_PName 

DICOM Value Type: PNAME.

VT_SCoord 

DICOM Value Type: SCOORD.

VT_SCoord3D 

DICOM Value Type: SCOORD3D.

VT_TCoord 

DICOM Value Type: TCOORD.

VT_Composite 

DICOM Value Type: COMPOSITE.

VT_Image 

DICOM Value Type: IMAGE.

VT_Waveform 

DICOM Value Type: WAVEFORM.

VT_Container 

DICOM Value Type: CONTAINER.

VT_byReference 

internal type used to indicate by-reference relationships

VT_includedTemplate 

internal type used to indicate (enclose) included templates

VT_last 

internal type used to mark the last entry

◆ E_VerificationFlag

SR document verification flag.

Enumerator
VF_invalid 

internal type used to indicate an error

VF_Unverified 

DICOM enumerated value: UNVERIFIED.

VF_Verified 

DICOM enumerated value: VERIFIED.

VF_last 

internal type used to mark the last entry

Constructor & Destructor Documentation

◆ ~DSRTypes()

virtual DSRTypes::~DSRTypes ( )
virtual

destructor.

(only needed to avoid compiler warnings)

Member Function Documentation

◆ addElementToDataset()

static OFCondition DSRTypes::addElementToDataset ( OFCondition result,
DcmItem dataset,
DcmElement delem,
const OFString vm,
const OFString type,
const char *  moduleName = NULL 
)
static

add given element to the dataset.

The element is only added if 'result' is EC_Normal and the 'delem' pointer is not NULL.

Parameters
resultreference to status variable (checked before adding and updated afterwards!)
datasetreference to DICOM dataset to which the element should be added
delempointer to DICOM element which should be added. deleted if not inserted.
vmvalue multiplicity (according to the data dictionary) to be checked for. (See DcmElement::checkVM() for a list of valid values.) Interpreted as cardinality (number of items) for sequence attributes.
typevalue type (valid value: "1", "2" or something else which is not checked)
moduleNameoptional module name to be printed (default: "SR document" if NULL)
Returns
current value of 'result', EC_Normal if successful, an error code otherwise

◆ appendStream()

static OFCondition DSRTypes::appendStream ( STD_NAMESPACE ostream &  mainStream,
OFOStringStream &  tempStream,
const char *  heading = NULL 
)
static

append one output stream to another.

Parameters
mainStreamstream to which the other should be added
tempStream(string) stream to be added to the other
heading(optional) string which is added to the 'mainStream' before the 'tempStream'. This string is only added if 'tempStream' is not empty.
Returns
status, EC_Normal if stream has been added successfully, an error code otherwise

◆ characterSetToDefinedTerm()

static const char* DSRTypes::characterSetToDefinedTerm ( const E_CharacterSet  characterSet)
static

convert character set to DICOM defined term

Parameters
characterSetcharacter set to be converted
Returns
defined term if character set is valid, empty string otherwise (never NULL)

◆ characterSetToHTMLName()

static const char* DSRTypes::characterSetToHTMLName ( const E_CharacterSet  characterSet)
static

convert character set to HTML name.

This HTML (IANA) name is used to specify the character set in an HTML document.

Parameters
characterSetcharacter set to be converted
Returns
HTML name if character set is valid, empty string or "?" otherwise (never NULL)

◆ characterSetToXMLName()

static const char* DSRTypes::characterSetToXMLName ( const E_CharacterSet  characterSet)
static

convert character set to XML name.

This XML name is used to specify the character set in an XML document.

Parameters
characterSetcharacter set to be converted
Returns
XML name if character set is valid, empty string or "?" otherwise (never NULL)

◆ checkElementValue() [1/2]

static OFBool DSRTypes::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 
)
static

check element value for correct value multiplicity and type.

Parameters
delempointer to DICOM element to be checked (might be NULL)
tagKeyDICOM tag of the DICOM element the parameter 'delem' points to
vmvalue multiplicity (according to the data dictionary) to be checked for. (See DcmElement::checkVM() for a list of valid values.) Interpreted as cardinality (number of items) for sequence attributes.
typevalue type (valid value: "1", "1C", "2", something else)
searchCondoptional flag indicating the status of a previous search() call
moduleNameoptional module name to be printed (default: "SR document" if NULL)
acceptViolationaccept certain violations regarding the VR and VM if OFTrue. A warning message will always be reported if the value in incorrect.
Returns
OFTrue if element value is correct, OFFalse otherwise

◆ checkElementValue() [2/2]

static OFBool DSRTypes::checkElementValue ( DcmElement delem,
const OFString vm,
const OFString type,
const OFCondition searchCond = EC_Normal,
const char *  moduleName = NULL,
const OFBool  acceptViolation = OFFalse 
)
static

check element value for correct value multiplicity and type.

Parameters
delemDICOM element to be checked
vmvalue multiplicity (according to the data dictionary) to be checked for. (See DcmElement::checkVM() for a list of valid values.) Interpreted as cardinality (number of items) for sequence attributes.
typevalue type (valid value: "1", "1C", "2", something else)
searchCondoptional flag indicating the status of a previous search() call
moduleNameoptional module name to be printed (default: "SR document" if NULL)
acceptViolationaccept certain violations regarding the VR and VM if OFTrue. A warning message will always be reported if the value in incorrect.
Returns
OFTrue if element value is correct, OFFalse otherwise

◆ checkForValidReference()

static OFBool DSRTypes::checkForValidReference ( const OFString stringValue)
static

check string for valid reference (as used for by-reference relationships).

The string should be non-empty and consist of integer numbers only separated by a "." where the first and the last character of the string are always figures (0..9). Example: 1 or 1.2.3. Both the integer number 0 and a leading 0 for the numbers are forbidden.

Parameters
stringValuecharacter string to be checked
Returns
OFTrue if 'string' conforms to UID format, OFFalse otherwise

◆ completionFlagToEnumeratedValue()

static const char* DSRTypes::completionFlagToEnumeratedValue ( const E_CompletionFlag  completionFlag)
static

convert completion flag to DICOM enumerated value

Parameters
completionFlagcompletion flag to be converted
Returns
enumerated value if successful, empty string otherwise (never NULL)

◆ continuityOfContentToEnumeratedValue()

static const char* DSRTypes::continuityOfContentToEnumeratedValue ( const E_ContinuityOfContent  continuityOfContent)
static

convert continuity of content flag to DICOM enumerated value

Parameters
continuityOfContentcontinuity of content flag to be converted
Returns
enumerated value if flag is valid, empty string otherwise (never NULL)

◆ convertToHTMLString()

static const OFString& DSRTypes::convertToHTMLString ( const OFString sourceString,
OFString markupString,
const size_t  flags = 0,
const OFBool  newlineAllowed = OFFalse 
)
static

convert character string to HTML mnenonic string.

Characters with special meaning for HTML (e.g. '<' and '&') are replace by the corresponding mnenonics (e.g. "&lt;" and "&amp;"). If flag DSRTypes::HF_convertNonASCIICharacters is set, all characters > #127 are also converted (useful if only HTML 3.2 is supported which does not allow to specify the character set).

Parameters
sourceStringsource string to be converted
markupStringreference to variable where the result should be stored
flagsoptional flags, only checking DSRTypes::HF_convertNonASCIICharacters, DSRTypes::HF_HTML32Compatibility and DSRTypes::HF_XHTML11Compatibility
newlineAllowedoptional flag indicating whether newlines are allowed or not. If they are allowed the text "<br>" is used, "&para;" otherwise. The following combinations are accepted: LF, CR, LF CR, CF LF.
Returns
reference to resulting 'markupString' (might be empty if 'sourceString' was empty)

◆ convertToPrintString()

static const OFString& DSRTypes::convertToPrintString ( const OFString sourceString,
OFString printString 
)
static

convert character string to print string.

This method is used to convert character strings for text "print" output. Newline characters "\n" are replaced by "\\n", return characters "\r" by "\\r", etc.

Parameters
sourceStringsource string to be converted
printStringreference to variable where the result should be stored
Returns
reference to resulting 'printString' (might be empty if 'sourceString' was empty)

◆ convertToXMLString()

static const OFString& DSRTypes::convertToXMLString ( const OFString sourceString,
OFString markupString 
)
static

convert character string to XML mnenonic string.

Characters with special meaning for XML (e.g. '<' and '&') are replace by the corresponding mnenonics (e.g. "&lt;" and "&amp;").

Parameters
sourceStringsource string to be converted
markupStringreference to variable where the result should be stored
Returns
reference to resulting 'markupString' (might be empty if 'sourceString' was empty)

◆ createDocumentTreeNode()

static DSRDocumentTreeNode* DSRTypes::createDocumentTreeNode ( const E_RelationshipType  relationshipType,
const E_ValueType  valueType 
)
static

create specified document tree node.

This is a shortcut and the only location where document tree nodes are created. It facilitates the introduction of new relationship/value types and the maintenance.

Parameters
relationshipTyperelationship type of the node to be created
valueTypevalue type of the node to be created
Returns
pointer to the new document tree node if successful, NULL otherwise

◆ createHTMLAnnexEntry()

static size_t DSRTypes::createHTMLAnnexEntry ( STD_NAMESPACE ostream &  docStream,
STD_NAMESPACE ostream &  annexStream,
const OFString referenceText,
size_t &  annexNumber,
const size_t  flags = 0 
)
static

create an HTML annex entry with hyperlinks.

A reference text is added to the main document and a new annex entry to the document annex with HTML hyperlinks between both. Example for a reference: '[for details see Annex 1]'

Parameters
docStreamoutput stream used for the main document
annexStreamoutput stream used for the document annex
referenceTextoptional text added to the main document (e.g. 'for details see')
annexNumberreference to the variable where the current annex number is stored. Value is increased automatically by 1 after the new entry has been added.
flagsoptional flag used to customize the output (see DSRTypes::HF_xxx)
Returns
current annex number after the new entry has been added

◆ createHTMLFootnote()

static size_t DSRTypes::createHTMLFootnote ( STD_NAMESPACE ostream &  docStream,
STD_NAMESPACE ostream &  footnoteStream,
size_t &  footnoteNumber,
const size_t  nodeID,
const size_t  flags = 0 
)
static

create an HTML footnote with hyperlinks

Parameters
docStreamoutput stream used for the main document
footnoteStreamoutput stream used for the footnote text
footnoteNumberreference to the variable where the current footnote number is stored. Value is increased automatically by 1 after the new entry has been added.
nodeIDunique numerical identifier of the current node for which this footnote is created. Used to create a unique name for the hyperlink.
flagsoptional flag used to customize the output (see DSRTypes::HF_xxx)
Returns
current footnote number after the new entry has been added

◆ createIODConstraintChecker()

static DSRIODConstraintChecker* DSRTypes::createIODConstraintChecker ( const E_DocumentType  documentType)
static

create specified SR IOD content relationship constraint checker object.

Please note that the created object has to be deleted by the caller.

Parameters
documentTypeassociated SR document type for which the checker object is created
Returns
pointer to new IOD checker object if successful, NULL if document type is not supported

◆ currentDate()

static const OFString& DSRTypes::currentDate ( OFString dateString)
static

get current date in DICOM 'DA' format.

(YYYYMMDD)

Parameters
dateStringstring used to store the current date. ('19000101' if current date could not be retrieved)
Returns
resulting character string (see 'dateString')

◆ currentDateTime()

static const OFString& DSRTypes::currentDateTime ( OFString dateTimeString)
static

get current date and time in DICOM 'DT' format.

(YYYYMMDDHHMMSS) The optional UTC notation (e.g. +0100) as well as the optional fractional second part are currently not supported.

Parameters
dateTimeStringstring used to store the current date and time ('19000101000000' if current date/time could not be retrieved)
Returns
resulting character string (see 'dateTimeString')

◆ currentTime()

static const OFString& DSRTypes::currentTime ( OFString timeString)
static

get current time in DICOM 'TM' format.

(HHMMSS)

Parameters
timeStringstring used to store the current time ('000000' if current time could not be retrieved)
Returns
resulting character string (see 'timeString')

◆ definedTermToCharacterSet()

static E_CharacterSet DSRTypes::definedTermToCharacterSet ( const OFString definedTerm)
static

convert DICOM defined term to character set.

An empty defined term is mapped to DSRTypes::CS_default (which is ASCII).

Parameters
definedTermdefined term to be converted
Returns
character set if successful, DSRTypes::CS_invalid otherwise

◆ definedTermToRelationshipType()

static E_RelationshipType DSRTypes::definedTermToRelationshipType ( const OFString definedTerm)
static

convert DICOM defined term to relationship type

Parameters
definedTermdefined term to be converted
Returns
relationship type if successful, DSRTypes::RT_invalid otherwise

◆ definedTermToValueType()

static E_ValueType DSRTypes::definedTermToValueType ( const OFString definedTerm)
static

convert DICOM defined term to value type

Parameters
definedTermdefined term to be converted
Returns
value type if successful, DSRTypes::VT_invalid otherwise

◆ dicomToReadableDate()

static const OFString& DSRTypes::dicomToReadableDate ( const OFString dicomDate,
OFString readableDate 
)
static

convert DICOM date string to readable format.

The ISO format "YYYY-MM-DD" is used for the readable format.

Parameters
dicomDatedate in DICOM DA format (YYYYMMDD)
readableDatereference to variable where the resulting string is stored
Returns
reference to resulting string (might be empty)

◆ dicomToReadableDateTime()

static const OFString& DSRTypes::dicomToReadableDateTime ( const OFString dicomDateTime,
OFString readableDateTime 
)
static

convert DICOM date time string to readable format.

The format "YYYY-MM-DD, HH:MM" or "YYYY-MM-DD, HH:MM:SS" is used for the readable format.

Parameters
dicomDateTimetime in DICOM DT format (YYYYMMDDHHMMSS...). Possible suffixes (fractional second or UTC notation) are currently ignored.
readableDateTimereference to variable where the resulting string is stored
Returns
reference to resulting string (might be empty)

◆ dicomToReadablePersonName()

static const OFString& DSRTypes::dicomToReadablePersonName ( const OFString dicomPersonName,
OFString readablePersonName 
)
static

convert DICOM person name to readable format.

The format "<prefix> <first_name> <middle_name> <last_name>, <suffix>" is used for the readable format. Please note that only the first component group (characters before the first '=') of the DICOM person name is used - see DcmPersonName::getNameComponents() for details.

Parameters
dicomPersonNameperson name in DICOM PN format (ln^fn^mn^p^s)
readablePersonNamereference to variable where the resulting string is stored
Returns
reference to resulting string (might be empty)

◆ dicomToReadableTime()

static const OFString& DSRTypes::dicomToReadableTime ( const OFString dicomTime,
OFString readableTime 
)
static

convert DICOM time string to readable format.

The ISO format "HH:MM" or "HH:MM:SS" (if seconds are available) is used for the readable format.

Parameters
dicomTimetime in DICOM TM format (HHMM or HHMMSS...)
readableTimereference to variable where the resulting string is stored
Returns
reference to resulting string (might be empty)

◆ dicomToXMLPersonName()

static const OFString& DSRTypes::dicomToXMLPersonName ( const OFString dicomPersonName,
OFString xmlPersonName,
const OFBool  writeEmptyValue = OFFalse 
)
static

convert DICOM person name to XML format.

The tags <prefix>, <first>, <middle>, <last> and <suffix> are used for the XML format of a person name. The string is automatically converted to the markup notation (see convertToMarkupString()). Two tags are separated by a newline. Please note that only the first component group (characters before the first '=') of the DICOM person name is used - see DcmPersonName::getNameComponents() for details.

Parameters
dicomPersonNameperson name in DICOM PN format (ln^fn^mn^p^s)
xmlPersonNamereference to variable where the resulting string is stored
writeEmptyValueoptional flag indicating whether an empty value should be written
Returns
reference to resulting string (might be empty)

◆ documentTypeToDocumentTitle()

static const char* DSRTypes::documentTypeToDocumentTitle ( const E_DocumentType  documentType,
OFString documentTitle 
)
static

convert SR document type to document title.

This document title is used for printing/rendering.

Parameters
documentTypeSR document type to be converted
documentTitlereference to variable where the resulting string is stored
Returns
document title if type is valid, empty string otherwise (never NULL)

◆ documentTypeToModality()

static const char* DSRTypes::documentTypeToModality ( const E_DocumentType  documentType)
static

convert SR document type to modality

Parameters
documentTypeSR document type to be converted
Returns
modality if type is valid, empty string otherwise (never NULL)

◆ documentTypeToReadableName()

static const char* DSRTypes::documentTypeToReadableName ( const E_DocumentType  documentType)
static

convert SR document type to readable name.

Such a readable name is better suited for printing/rendering.

Parameters
documentTypeSR document type to be converted
Returns
readable name if type is valid, "invalid ..." string otherwise (never NULL)

◆ documentTypeToSOPClassUID()

static const char* DSRTypes::documentTypeToSOPClassUID ( const E_DocumentType  documentType)
static

convert SR document type to SOP class UID

Parameters
documentTypeSR document type to be converted
Returns
SOP class UID if type is valid, empty string otherwise (never NULL)

◆ enumeratedValueToCompletionFlag()

static E_CompletionFlag DSRTypes::enumeratedValueToCompletionFlag ( const OFString enumeratedValue)
static

convert DICOM enumerated value to completion flag

Parameters
enumeratedValueenumerated value to be converted
Returns
completion flag type if successful, DSRTypes::CF_invalid otherwise

◆ enumeratedValueToContinuityOfContent()

static E_ContinuityOfContent DSRTypes::enumeratedValueToContinuityOfContent ( const OFString enumeratedValue)
static

convert DICOM enumerated value to continuity of content flag

Parameters
enumeratedValueenumerated value to be converted
Returns
continuity of content flag type if successful, DSRTypes::COC_invalid otherwise

◆ enumeratedValueToGraphicType()

static E_GraphicType DSRTypes::enumeratedValueToGraphicType ( const OFString enumeratedValue)
static

convert DICOM enumerated value to graphic type

Parameters
enumeratedValueenumerated value to be converted
Returns
graphic type if successful, DSRTypes::GT_invalid otherwise

◆ enumeratedValueToGraphicType3D()

static E_GraphicType3D DSRTypes::enumeratedValueToGraphicType3D ( const OFString enumeratedValue)
static

convert DICOM enumerated value to graphic type (3D)

Parameters
enumeratedValueenumerated value to be converted
Returns
graphic type if successful, DSRTypes::GT3_invalid otherwise

◆ enumeratedValueToPreliminaryFlag()

static E_PreliminaryFlag DSRTypes::enumeratedValueToPreliminaryFlag ( const OFString enumeratedValue)
static

convert DICOM enumerated value to preliminary flag

Parameters
enumeratedValueenumerated value to be converted
Returns
preliminary flag type if successful, DSRTypes::PF_invalid otherwise

◆ enumeratedValueToTemporalRangeType()

static E_TemporalRangeType DSRTypes::enumeratedValueToTemporalRangeType ( const OFString enumeratedValue)
static

convert DICOM enumerated value to temporal range type

Parameters
enumeratedValueenumerated value to be converted
Returns
temporal range type if successful, DSRTypes::TRT_invalid otherwise

◆ enumeratedValueToVerificationFlag()

static E_VerificationFlag DSRTypes::enumeratedValueToVerificationFlag ( const OFString enumeratedValue)
static

convert DICOM enumerated value to verification flag

Parameters
enumeratedValueenumerated value to be converted
Returns
verification flag type if successful, DSRTypes::VF_invalid otherwise

◆ getAndCheckElementFromDataset()

static OFCondition DSRTypes::getAndCheckElementFromDataset ( DcmItem dataset,
DcmElement delem,
const OFString vm,
const OFString type,
const char *  moduleName = NULL,
const OFBool  acceptViolation = OFFalse 
)
static

get element from dataset and check it for correct value multiplicity and type.

Parameters
datasetDICOM dataset from which the element should be retrieved. (Would be 'const' if the methods from 'dcmdata' would also be 'const'.)
delemDICOM element used to store the value (always creates a copy!)
vmvalue multiplicity (according to the data dictionary) to be checked for. (See DcmElement::checkVM() for a list of valid values.) Interpreted as cardinality (number of items) for sequence attributes.
typevalue type (valid value: "1", "1C", "2", something else which is not checked)
moduleNameoptional module name to be printed (default: "SR document" if NULL)
acceptViolationaccept certain violations regarding the VR and VM if OFTrue. A warning message will always be reported if the value in incorrect.
Returns
status, EC_Normal if element could be retrieved and value is correct, an error code otherwise

◆ getAndCheckStringValueFromDataset()

static OFCondition DSRTypes::getAndCheckStringValueFromDataset ( DcmItem dataset,
const DcmTagKey tagKey,
OFString stringValue,
const OFString vm,
const OFString type,
const char *  moduleName = NULL,
const OFBool  acceptViolation = OFFalse 
)
static

get string value from dataset and check it for correct value multiplicity and type.

Parameters
datasetDICOM dataset from which the element should be retrieved. (Would be 'const' if the methods from 'dcmdata' would also be 'const'.)
tagKeyDICOM tag specifying the attribute from which the string should be retrieved
stringValuereference to variable in which the result should be stored. (This parameter is automatically cleared if the tag could not be found. It is not cleared if the retrieved string is invalid, e.g. violates VR or VM definition.)
vmvalue multiplicity (according to the data dictionary) to be checked for. (See DcmElement::checkVM() for a list of valid values.) Interpreted as cardinality (number of items) for sequence attributes.
typevalue type (valid value: "1", "1C", "2", something else which is not checked)
moduleNameoptional module name to be printed (default: "SR document" if NULL)
acceptViolationaccept certain violations regarding the VR and VM if OFTrue. A warning message will always be reported if the value in incorrect.
Returns
status, EC_Normal if element could be retrieved and value is correct, an error code otherwise

◆ getElementFromDataset()

static OFCondition DSRTypes::getElementFromDataset ( DcmItem dataset,
DcmElement delem 
)
static

get element from dataset

Parameters
datasetreference to DICOM dataset from which the element should be retrieved. (Would be 'const' if the methods from 'dcmdata' would also be 'const'.)
delemreference to DICOM element which should be retrieved. The return value is also stored in this parameter.
Returns
status, EC_Normal if successful, an error code otherwise

◆ getMarkupStringFromElement()

static const OFString& DSRTypes::getMarkupStringFromElement ( const DcmElement delem,
OFString stringValue,
const OFBool  convertNonASCII = OFFalse 
)
static

get string value from element and convert to HTML/XML.

Please note that only the first element value is retrieved (in case of multiple values).

Parameters
delemDICOM element from which the string value should be retrieved
stringValuereference to variable in which the result should be stored
convertNonASCIIconvert non-ASCII characters (> #127) to numeric value (&#nnn;) if OFTrue
Returns
reference character string if successful, empty string otherwise

◆ getPrintStringFromElement()

static const OFString& DSRTypes::getPrintStringFromElement ( const DcmElement delem,
OFString stringValue 
)
static

get string value from element and convert to "print" format.

Please note that only the first element value is retrieved (in case of multiple values).

Parameters
delemDICOM element from which the string value should be retrieved
stringValuereference to variable in which the result should be stored
Returns
reference character string if successful, empty string otherwise

◆ getStringValueFromDataset()

static OFCondition DSRTypes::getStringValueFromDataset ( DcmItem dataset,
const DcmTagKey tagKey,
OFString stringValue,
const signed long  pos = 0 
)
static

get string value from dataset

Parameters
datasetDICOM dataset from which the string should be retrieved. (Would be 'const' if the methods from 'dcmdata' would also be 'const'.)
tagKeyDICOM tag specifying the attribute from which the string should be retrieved
stringValuereference to variable in which the result should be stored (This parameter is automatically cleared if the tag could not be found.)
posindex of the value to get (0..vm-1), -1 for all components
Returns
status, EC_Normal if successful, an error code otherwise

◆ getStringValueFromElement() [1/3]

static const char* DSRTypes::getStringValueFromElement ( const DcmElement delem)
static

get string value from element

Parameters
delemDICOM element from which the string value should be retrieved
Returns
pointer to character string if successful, NULL otherwise

◆ getStringValueFromElement() [2/3]

static const OFString& DSRTypes::getStringValueFromElement ( const DcmElement delem,
OFString stringValue 
)
static

get string value from element.

Please note that only the first element value is retrieved (in case of multiple values).

Parameters
delemDICOM element from which the string value should be retrieved
stringValuereference to variable where the result should be stored
Returns
reference character string if successful, empty string otherwise

◆ getStringValueFromElement() [3/3]

static OFCondition DSRTypes::getStringValueFromElement ( const DcmElement delem,
OFString stringValue,
const signed long  pos 
)
static

get string value from element

Parameters
delemDICOM element from which the string value should be retrieved
stringValuereference to variable in which the result should be stored (This parameter is automatically cleared if an error occurs.)
posindex of the value to get (0..vm-1), -1 for all components
Returns
status, EC_Normal if successful, an error code otherwise

◆ graphicType3DToEnumeratedValue()

static const char* DSRTypes::graphicType3DToEnumeratedValue ( const E_GraphicType3D  graphicType)
static

convert graphic type (3D) to DICOM enumerated value

Parameters
graphicTypegraphic type (3D) to be converted
Returns
enumerated value if type is valid, empty string otherwise (never NULL)

◆ graphicType3DToReadableName()

static const char* DSRTypes::graphicType3DToReadableName ( const E_GraphicType3D  graphicType)
static

convert graphic type (3D) to readable name.

Such a readable name is better suited for printing/rendering.

Parameters
graphicTypegraphic type (3D) to be converted
Returns
readable name if type is valid, "invalid ..." string otherwise (never NULL)

◆ graphicTypeToEnumeratedValue()

static const char* DSRTypes::graphicTypeToEnumeratedValue ( const E_GraphicType  graphicType)
static

convert graphic type to DICOM enumerated value

Parameters
graphicTypegraphic type to be converted
Returns
enumerated value if type is valid, empty string otherwise (never NULL)

◆ graphicTypeToReadableName()

static const char* DSRTypes::graphicTypeToReadableName ( const E_GraphicType  graphicType)
static

convert graphic type to readable name.

Such a readable name is better suited for printing/rendering.

Parameters
graphicTypegraphic type to be converted
Returns
readable name if type is valid, "invalid ..." string otherwise (never NULL)

◆ isDocumentTypeSupported()

static OFBool DSRTypes::isDocumentTypeSupported ( const E_DocumentType  documentType)
static

check whether specified SR document type is supported by this library

Parameters
documentTypeSR document type to be checked
Returns
status, OFTrue if SR document type is supported, OFFalse otherwise

◆ localTimezone()

static const OFString& DSRTypes::localTimezone ( OFString timezoneString)
static

get local timezone in DICOM format.

(&ZZXX)

Parameters
timezoneStringstring used to store the local timezone ('+0000' if timezone could not be retrieved)
Returns
resulting character string (see 'timezoneString')

◆ numberToString()

static const char* DSRTypes::numberToString ( const size_t  number,
char *  stringValue 
)
static

convert unsigned integer number to character string

Parameters
numberunsigned integer number to be converted
stringValuecharacter string used to store the result
Returns
pointer to the first character of the resulting string (may be NULL if 'string' was NULL)

◆ preliminaryFlagToEnumeratedValue()

static const char* DSRTypes::preliminaryFlagToEnumeratedValue ( const E_PreliminaryFlag  preliminaryFlag)
static

convert preliminary flag to DICOM enumerated value

Parameters
preliminaryFlagpreliminary flag to be converted
Returns
enumerated value if flag is valid, empty string otherwise (never NULL)

◆ presentationStateTypeToShortName()

static const char* DSRTypes::presentationStateTypeToShortName ( const E_PresentationStateType  pstateType)
static

convert presentation state type to short name.

Such a short name (e.g. "GSPS") is better suited for printing/rendering than a UID.

Parameters
pstateTypepresentation state type to be converted
Returns
short name if type is valid, "invalid ..." string otherwise (never NULL)

◆ printContentItemErrorMessage()

static void DSRTypes::printContentItemErrorMessage ( const char *  action,
const OFCondition result,
const DSRDocumentTreeNode node,
const char *  location = NULL 
)
static

print an error message for the current content item.

The value type (for DEBUG mode also the node ID) is added if the 'node' if specified.

Parameters
actiontext describing the current action (e.g. 'Reading'), 'Processing' if NULL
resultstatus used to print more information on the error (no message if EC_Normal)
nodepointer to document tree node for which the message should be printed
locationposition of the affected content item (e.g. '1.2.3', not printed if NULL)

◆ printInvalidContentItemMessage()

static void DSRTypes::printInvalidContentItemMessage ( const char *  action,
const DSRDocumentTreeNode node,
const char *  location = NULL 
)
static

print the warning message that the current content item is invalid/incomplete.

The value type (for DEBUG mode also the node ID) is added if the 'node' if specified.

Parameters
actiontext describing the current action (e.g. 'Reading'), 'Processing' if NULL
nodepointer to document tree node for which the message should be printed
locationposition of the affected content item (e.g. '1.2.3', not printed if NULL)

◆ printUnknownValueWarningMessage()

static void DSRTypes::printUnknownValueWarningMessage ( const char *  valueName,
const char *  readValue = NULL,
const char *  action = "Reading" 
)
static

print a warning message that an unknown/unsupported value has been determined

Parameters
valueNamename of the unknown/unsupported value
readValuevalue that has been read (optional)
actiontext describing the current action (default: 'Reading'), 'Processing' if NULL

◆ putStringValueToDataset()

static OFCondition DSRTypes::putStringValueToDataset ( DcmItem dataset,
const DcmTag tag,
const OFString stringValue,
const OFBool  allowEmpty = OFTrue 
)
static

put string value to dataset

Parameters
datasetreference to DICOM dataset to which the string should be put.
tagDICOM tag specifying the attribute to which the string should be put
stringValuecharacter string specifying the value to be set
allowEmptyallow empty element to be inserted if OFTrue. Do not insert empty element otherwise.
Returns
status, EC_Normal if successful, an error code otherwise

◆ relationshipTypeToDefinedTerm()

static const char* DSRTypes::relationshipTypeToDefinedTerm ( const E_RelationshipType  relationshipType)
static

convert relationship type to DICOM defined term

Parameters
relationshipTyperelationship type to be converted
Returns
defined term if type is valid, empty string otherwise (never NULL)

◆ relationshipTypeToReadableName()

static const char* DSRTypes::relationshipTypeToReadableName ( const E_RelationshipType  relationshipType)
static

convert relationship type to readable name.

Such a readable name is better suited for printing/rendering.

Parameters
relationshipTyperelationship type to be converted
Returns
readable name if type is valid, "invalid ..." string otherwise (never NULL)

◆ removeAttributeFromSequence()

static void DSRTypes::removeAttributeFromSequence ( DcmSequenceOfItems sequence,
const DcmTagKey tagKey 
)
static

remove given attribute from the sequence.

All occurrences of the attribute in all items of the sequence are removed.

Parameters
sequencereference to DICOM sequence from which the attribute should be removed
tagKeyDICOM tag specifying the attribute which should be removed

◆ requiresEnhancedEquipmentModule()

static OFBool DSRTypes::requiresEnhancedEquipmentModule ( const E_DocumentType  documentType)
static

check whether SR document type requires Enhanced General Equipment Module

Parameters
documentTypeSR document type to be checked
Returns
OFTrue if Enhanced General Equipment Module is required, OFFalse otherwise

◆ requiresTimezoneModule()

static OFBool DSRTypes::requiresTimezoneModule ( const E_DocumentType  documentType)
static

check whether SR document type requires Timezone Module

Parameters
documentTypeSR document type to be checked
Returns
OFTrue if Timezone Module is required, OFFalse otherwise

◆ sopClassUIDToDocumentType()

static E_DocumentType DSRTypes::sopClassUIDToDocumentType ( const OFString sopClassUID)
static

convert SOP class UID to SR document type

Parameters
sopClassUIDSOP class UID to be converted
Returns
SR document type if successful, DSRTypes::DT_invalid otherwise

◆ sopClassUIDToPresentationStateType()

static E_PresentationStateType DSRTypes::sopClassUIDToPresentationStateType ( const OFString sopClassUID)
static

convert SOP class UID to presentation state type

Parameters
sopClassUIDSOP class UID to be converted
Returns
presentation state type if successful, DSRTypes::PT_invalid otherwise

◆ stringToNumber()

static size_t DSRTypes::stringToNumber ( const char *  stringValue)
static

convert string to unsigned integer number

Parameters
stringValuecharacter string to be converted
Returns
resulting unsigned integer number if successful, 0 otherwise

Referenced by DSRTreeNodeCursor< DSRDocumentTreeNode >::gotoNode().

◆ temporalRangeTypeToEnumeratedValue()

static const char* DSRTypes::temporalRangeTypeToEnumeratedValue ( const E_TemporalRangeType  temporalRangeType)
static

convert temporal range type to DICOM enumerated value

Parameters
temporalRangeTypetemporal range type to be converted
Returns
enumerated value if type is valid, "invalid ..." string otherwise (never NULL)

◆ temporalRangeTypeToReadableName()

static const char* DSRTypes::temporalRangeTypeToReadableName ( const E_TemporalRangeType  temporalRangeType)
static

convert temporal range type to readable name.

Such a readable name is better suited for printing/rendering.

Parameters
temporalRangeTypetemporal range type to be converted
Returns
readable name if type is valid, "invalid ..." string otherwise (never NULL)

◆ valueTypeToDefinedTerm()

static const char* DSRTypes::valueTypeToDefinedTerm ( const E_ValueType  valueType)
static

convert value type to DICOM defined term

Parameters
valueTypevalue type to be converted
Returns
defined term if type is valid, empty string otherwise (never NULL)

◆ valueTypeToReadableName()

static const char* DSRTypes::valueTypeToReadableName ( const E_ValueType  valueType)
static

convert value type to readable name.

Such a readable name is better suited for printing/rendering.

Parameters
valueTypevalue type to be converted
Returns
readable name if type is valid, "invalid ..." string otherwise (never NULL)

◆ valueTypeToXMLTagName()

static const char* DSRTypes::valueTypeToXMLTagName ( const E_ValueType  valueType)
static

convert value type to XML tag name

Parameters
valueTypevalue type to be converted
Returns
XML tag name if type is valid, "item" otherwise (never NULL)

◆ verificationFlagToEnumeratedValue()

static const char* DSRTypes::verificationFlagToEnumeratedValue ( const E_VerificationFlag  verificationFlag)
static

convert verification flag to DICOM enumerated value

Parameters
verificationFlagverification flag to be converted
Returns
enumerated value if flag is valid, empty string otherwise (never NULL)

◆ writeStringFromElementToXML()

static OFBool DSRTypes::writeStringFromElementToXML ( STD_NAMESPACE ostream &  stream,
DcmElement delem,
const OFString tagName,
const OFBool  writeEmptyValue = OFFalse 
)
static

write string value from DICOM element to XML output stream.

The output looks like this: "<" tagName ">" stringValue "</" tagName ">" For elements with DICOM VR=PN the function dicomToXMLPersonName() is used internally.

Parameters
streamoutput stream to which the XML document is written
delemDICOM element from which the value is retrieved
tagNamename of the XML tag used to surround the string value
writeEmptyValueoptional flag indicating whether an empty value should be written
Returns
OFTrue if tag/value has been written, OFFalse otherwise

◆ writeStringValueToXML()

static OFBool DSRTypes::writeStringValueToXML ( STD_NAMESPACE ostream &  stream,
const OFString stringValue,
const OFString tagName,
const OFBool  writeEmptyValue = OFFalse 
)
static

write string value to XML output stream.

The output looks like this: "<" tagName ">" stringValue "</" tagName ">"

Parameters
streamoutput stream to which the XML document is written
stringValuestring value to be written
tagNamename of the XML tag used to surround the string value
writeEmptyValueoptional flag indicating whether an empty value should be written
Returns
OFTrue if tag/value has been written, OFFalse otherwise

◆ xmlTagNameToValueType()

static E_ValueType DSRTypes::xmlTagNameToValueType ( const OFString xmlTagName)
static

convert XML tag name to value type

Parameters
xmlTagNameXML tag name to be converted
Returns
value type if successful, DSRTypes::VT_invalid otherwise

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


Generated on Mon Feb 5 2018 for DCMTK Version 3.6.3 by Doxygen 1.8.14