DSRTypes Class Reference

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

Inheritance diagram for DSRTypes:

DSRCodingSchemeIdentificationList DSRContentItem DSRDocument DSRIODConstraintChecker DSRSOPInstanceReferenceList DSRTree DSRTreeNode DSRXMLDocument List of all members.

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_last = DT_ImplantationPlanSRDocument
}
 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_last = VT_byReference
}
 SR value 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_Latin1,
  CS_Latin2, CS_Latin3, CS_Latin4, CS_Cyrillic,
  CS_Arabic, CS_Greek, CS_Hebrew, CS_Latin5,
  CS_Japanese, CS_Thai, CS_UTF8, CS_last = CS_UTF8
}
 Specific character set. More...
enum  E_AddMode { AM_afterCurrent, AM_beforeCurrent, AM_belowCurrent }
 Add node mode. More...

Public Member Functions

virtual ~DSRTypes ()
 destructor.

Static Public Member Functions

static const char * documentTypeToSOPClassUID (const E_DocumentType documentType)
 convert SR document type to SOP class UID
static const char * documentTypeToModality (const E_DocumentType documentType)
 convert SR document type to modality
static const char * documentTypeToReadableName (const E_DocumentType documentType)
 convert SR document type to readable name.
static const char * documentTypeToDocumentTitle (const E_DocumentType documentType, OFString &documentTitle)
 convert SR document type to document title.
static OFBool requiresEnhancedEquipmentModule (const E_DocumentType documentType)
 check whether SR document type requires Enhanced General Equipment Module
static const char * relationshipTypeToDefinedTerm (const E_RelationshipType relationshipType)
 convert relationship type to DICOM defined term
static const char * relationshipTypeToReadableName (const E_RelationshipType relationshipType)
 convert relationship type to readable name.
static const char * valueTypeToDefinedTerm (const E_ValueType valueType)
 convert value type to DICOM defined term
static const char * valueTypeToXMLTagName (const E_ValueType valueType)
 convert value type to XML tag name
static const char * valueTypeToReadableName (const E_ValueType valueType)
 convert value type to readable name.
static const char * graphicTypeToEnumeratedValue (const E_GraphicType graphicType)
 convert graphic type to DICOM enumerated value
static const char * graphicTypeToReadableName (const E_GraphicType graphicType)
 convert graphic type to readable name.
static const char * graphicType3DToEnumeratedValue (const E_GraphicType3D graphicType)
 convert graphic type (3D) to DICOM enumerated value
static const char * graphicType3DToReadableName (const E_GraphicType3D graphicType)
 convert graphic type (3D) to readable name.
static const char * temporalRangeTypeToEnumeratedValue (const E_TemporalRangeType temporalRangeType)
 convert temporal range type to DICOM enumerated value
static const char * temporalRangeTypeToReadableName (const E_TemporalRangeType temporalRangeType)
 convert temporal range type to readable name.
static const char * continuityOfContentToEnumeratedValue (const E_ContinuityOfContent continuityOfContent)
 convert continuity of content flag to DICOM enumerated value
static const char * preliminaryFlagToEnumeratedValue (const E_PreliminaryFlag preliminaryFlag)
 convert preliminary flag to DICOM enumerated value
static const char * completionFlagToEnumeratedValue (const E_CompletionFlag completionFlag)
 convert completion flag to DICOM enumerated value
static const char * verificationFlagToEnumeratedValue (const E_VerificationFlag verificationFlag)
 convert verification flag to DICOM enumerated value
static const char * characterSetToDefinedTerm (const E_CharacterSet characterSet)
 convert character set to DICOM defined term
static const char * characterSetToHTMLName (const E_CharacterSet characterSet)
 convert character set to HTML name.
static const char * characterSetToXMLName (const E_CharacterSet characterSet)
 convert character set to XML name.
static E_DocumentType sopClassUIDToDocumentType (const OFString &sopClassUID)
 convert SOP class UID to SR document type
static E_RelationshipType definedTermToRelationshipType (const OFString &definedTerm)
 convert DICOM defined term to relationship type
static E_ValueType definedTermToValueType (const OFString &definedTerm)
 convert DICOM defined term to value type
static E_ValueType xmlTagNameToValueType (const OFString &xmlTagName)
 convert XML tag name to value type
static E_GraphicType enumeratedValueToGraphicType (const OFString &enumeratedValue)
 convert DICOM enumerated value to graphic type
static E_GraphicType3D enumeratedValueToGraphicType3D (const OFString &enumeratedValue)
 convert DICOM enumerated value to graphic type (3D)
static E_TemporalRangeType enumeratedValueToTemporalRangeType (const OFString &enumeratedValue)
 convert DICOM enumerated value to temporal range type
static E_ContinuityOfContent enumeratedValueToContinuityOfContent (const OFString &enumeratedValue)
 convert DICOM enumerated value to continuity of content flag
static E_PreliminaryFlag enumeratedValueToPreliminaryFlag (const OFString &enumeratedValue)
 convert DICOM enumerated value to preliminary flag
static E_CompletionFlag enumeratedValueToCompletionFlag (const OFString &enumeratedValue)
 convert DICOM enumerated value to completion flag
static E_VerificationFlag enumeratedValueToVerificationFlag (const OFString &enumeratedValue)
 convert DICOM enumerated value to verification flag
static E_CharacterSet definedTermToCharacterSet (const OFString &definedTerm)
 convert DICOM defined term to character set
static OFBool isDocumentTypeSupported (const E_DocumentType documentType)
 check whether specified SR document type is supported by this library.
static const OFStringcurrentDate (OFString &dateString)
 get current date in DICOM 'DA' format.
static const OFStringcurrentTime (OFString &timeString)
 get current time in DICOM 'TM' format.
static const OFStringcurrentDateTime (OFString &dateTimeString)
 get current date and time in DICOM 'DT' format.
static const OFStringdicomToReadableDate (const OFString &dicomDate, OFString &readableDate)
 convert DICOM date string to readable format.
static const OFStringdicomToReadableTime (const OFString &dicomTime, OFString &readableTime)
 convert DICOM time string to readable format.
static const OFStringdicomToReadableDateTime (const OFString &dicomDateTime, OFString &readableDateTime)
 convert DICOM date time string to readable format.
static const OFStringdicomToReadablePersonName (const OFString &dicomPersonName, OFString &readablePersonName)
 convert DICOM person name to readable format.
static const OFStringdicomToXMLPersonName (const OFString &dicomPersonName, OFString &xmlPersonName, const OFBool writeEmptyValue=OFFalse)
 convert DICOM person name to XML format.
static const char * numberToString (const size_t number, char *stringValue)
 convert unsigned integer number to character string
static size_t stringToNumber (const char *stringValue)
 convert string to unsigned integer number
static const OFStringconvertToPrintString (const OFString &sourceString, OFString &printString)
 convert character string to print string.
static const OFStringconvertToHTMLString (const OFString &sourceString, OFString &markupString, const size_t flags=0, const OFBool newlineAllowed=OFFalse)
 convert character string to HTML mnenonic string.
static const OFStringconvertToXMLString (const OFString &sourceString, OFString &markupString)
 convert character string to XML mnenonic string.
static OFBool checkForValidUIDFormat (const OFString &stringValue)
 check string for valid UID format.
static DSRIODConstraintCheckercreateIODConstraintChecker (const E_DocumentType documentType)
 create specified SR IOD content relationship contraint checker object.
static DSRDocumentTreeNodecreateDocumentTreeNode (const E_RelationshipType relationshipType, const E_ValueType valueType)
 create specified document tree node.
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.
static void removeAttributeFromSequence (DcmSequenceOfItems &sequence, const DcmTagKey &tagKey)
 remove given attribute from the sequence.
static OFCondition getElementFromDataset (DcmItem &dataset, DcmElement &delem)
 get element from dataset
static const char * getStringValueFromElement (const DcmElement &delem)
 get string value from element
static const OFStringgetStringValueFromElement (const DcmElement &delem, OFString &stringValue)
 get string value from element
static const OFStringgetPrintStringFromElement (const DcmElement &delem, OFString &stringValue)
 get string value from element and convert to "print" format
static const OFStringgetMarkupStringFromElement (const DcmElement &delem, OFString &stringValue, const OFBool convertNonASCII=OFFalse)
 get string value from element and convert to HTML/XML
static OFCondition getStringValueFromDataset (DcmItem &dataset, const DcmTagKey &tagKey, OFString &stringValue)
 get string value from dataset
static OFCondition putStringValueToDataset (DcmItem &dataset, const DcmTag &tag, const OFString &stringValue, const OFBool allowEmpty=OFTrue)
 put string value to dataset
static OFBool checkElementValue (DcmElement &delem, const OFString &vm, const OFString &type, const OFCondition &searchCond=EC_Normal, const char *moduleName=NULL)
 check element value for correct value multipicity and type.
static OFCondition getAndCheckElementFromDataset (DcmItem &dataset, DcmElement &delem, const OFString &vm, const OFString &type, const char *moduleName=NULL)
 get element from dataset and check it for correct value multipicity and type.
static OFCondition getAndCheckStringValueFromDataset (DcmItem &dataset, const DcmTagKey &tagKey, OFString &stringValue, const OFString &vm, const OFString &type, const char *moduleName=NULL)
 get string value from dataset and check it for correct value multipicity and type.
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.
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.
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
static OFBool writeStringValueToXML (STD_NAMESPACE ostream &stream, const OFString &stringValue, const OFString &tagName, const OFBool writeEmptyValue=OFFalse)
 write string value to XML output stream.
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.
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.
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
static OFCondition appendStream (STD_NAMESPACE ostream &mainStream, OFOStringStream &tempStream, const char *heading=NULL)
 append one output stream to another.

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_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_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_printAllCodes
 shortcut: print all codes
checkByReferenceRelationships() modes
These flags 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

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.

Definition at line 150 of file dsrtypes.h.


Member Enumeration Documentation

enum DSRTypes::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_last  internal type used to mark the last entry

Definition at line 357 of file dsrtypes.h.

enum DSRTypes::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

Definition at line 393 of file dsrtypes.h.

enum DSRTypes::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_last  internal type used to mark the last entry

Definition at line 421 of file dsrtypes.h.

enum DSRTypes::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

Definition at line 463 of file dsrtypes.h.

enum DSRTypes::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

Definition at line 485 of file dsrtypes.h.

enum DSRTypes::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

Definition at line 509 of file dsrtypes.h.

enum DSRTypes::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

Definition at line 533 of file dsrtypes.h.

enum DSRTypes::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

Definition at line 547 of file dsrtypes.h.

enum DSRTypes::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

Definition at line 561 of file dsrtypes.h.

enum DSRTypes::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

Definition at line 575 of file dsrtypes.h.

enum DSRTypes::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_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_Japanese  ISO-IR 13: Japanese (Katakana/Romaji).
CS_Thai  ISO-IR 166: Thai.
CS_last  internal type used to mark the last entry

Definition at line 589 of file dsrtypes.h.

enum DSRTypes::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)

Definition at line 627 of file dsrtypes.h.


Constructor & Destructor Documentation

virtual DSRTypes::~DSRTypes (  )  [virtual]

destructor.

(only needed to avoid compiler warnings)


Member Function Documentation

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

convert SR document type to SOP class UID

Parameters:
documentType SR document type to be converted
Returns:
SOP class UID if successful, empty string otherwise (never NULL)

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

convert SR document type to modality

Parameters:
documentType SR document type to be converted
Returns:
modality if successful, empty string otherwise (never NULL)

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:
documentType SR document type to be converted
Returns:
readable name if successful, empty string otherwise (never NULL)

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:
documentType SR document type to be converted
documentTitle reference to variable where the resulting string is stored
Returns:
document title if successful, empty string otherwise (never NULL)

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

check whether SR document type requires Enhanced General Equipment Module

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

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

convert relationship type to DICOM defined term

Parameters:
relationshipType relationship type to be converted
Returns:
defined term if successful, empty string otherwise (never NULL)

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:
relationshipType relationship type to be converted
Returns:
readable name if successful, empty string otherwise (never NULL)

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

convert value type to DICOM defined term

Parameters:
valueType value type to be converted
Returns:
defined term if successful, empty string otherwise (never NULL)

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

convert value type to XML tag name

Parameters:
valueType value type to be converted
Returns:
XML tag name if successful, empty string otherwise (never NULL)

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:
valueType value type to be converted
Returns:
readable name if successful, empty string otherwise (never NULL)

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

convert graphic type to DICOM enumerated value

Parameters:
graphicType graphic type to be converted
Returns:
enumerated value if successful, empty string otherwise (never NULL)

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:
graphicType graphic type to be converted
Returns:
readable name if successful, empty string otherwise (never NULL)

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

convert graphic type (3D) to DICOM enumerated value

Parameters:
graphicType graphic type (3D) to be converted
Returns:
enumerated value if successful, empty string otherwise (never NULL)

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:
graphicType graphic type (3D) to be converted
Returns:
readable name if successful, empty string otherwise (never NULL)

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

convert temporal range type to DICOM enumerated value

Parameters:
temporalRangeType temporal range type to be converted
Returns:
enumerated value if successful, empty string otherwise (never NULL)

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:
temporalRangeType temporal range type to be converted
Returns:
readable name if successful, empty string otherwise (never NULL)

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

convert continuity of content flag to DICOM enumerated value

Parameters:
continuityOfContent continuity of content flag to be converted
Returns:
enumerated value if successful, empty string otherwise (never NULL)

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

convert preliminary flag to DICOM enumerated value

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

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

convert completion flag to DICOM enumerated value

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

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

convert verification flag to DICOM enumerated value

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

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

convert character set to DICOM defined term

Parameters:
characterSet character set to be converted
Returns:
defined term if successful, empty string otherwise (never NULL)

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:
characterSet character set to be converted
Returns:
HTML name if successful, empty string or "?" otherwise (never NULL)

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:
characterSet character set to be converted
Returns:
XML name if successful, empty string or "?" otherwise (never NULL)

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

convert SOP class UID to SR document type

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

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

convert DICOM defined term to relationship type

Parameters:
definedTerm defined term to be converted
Returns:
relationship type if successful, RT_invalid otherwise

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

convert DICOM defined term to value type

Parameters:
definedTerm defined term to be converted
Returns:
value type if successful, VT_invalid otherwise

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

convert XML tag name to value type

Parameters:
xmlTagName XML tag name to be converted
Returns:
value type if successful, VT_invalid otherwise

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

convert DICOM enumerated value to graphic type

Parameters:
enumeratedValue enumerated value to be converted
Returns:
graphic type if successful, GT_invalid otherwise

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

convert DICOM enumerated value to graphic type (3D)

Parameters:
enumeratedValue enumerated value to be converted
Returns:
graphic type if successful, GT3_invalid otherwise

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

convert DICOM enumerated value to temporal range type

Parameters:
enumeratedValue enumerated value to be converted
Returns:
temporal range type if successful, TRT_invalid otherwise

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

convert DICOM enumerated value to continuity of content flag

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

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

convert DICOM enumerated value to preliminary flag

Parameters:
enumeratedValue enumerated value to be converted
Returns:
preliminary flag type if successful, CF_invalid otherwise

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

convert DICOM enumerated value to completion flag

Parameters:
enumeratedValue enumerated value to be converted
Returns:
completion flag type if successful, CF_invalid otherwise

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

convert DICOM enumerated value to verification flag

Parameters:
enumeratedValue enumerated value to be converted
Returns:
verification flag type if successful, VF_invalid otherwise

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

convert DICOM defined term to character set

Parameters:
definedTerm defined term to be converted
Returns:
character set if successful, CS_invalid otherwise

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

check whether specified SR document type is supported by this library.

Currently all three general SOP classes, the Key Object Selection Document, the Mammography and Chest CAD SR class as defined in the DICOM 2003 standard are supported.

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

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

get current date in DICOM 'DA' format.

(YYYYMMDD)

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

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

get current time in DICOM 'TM' format.

(HHMMSS) The optional UTC notation (e.g. +0100) is currently not supported.

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

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:
dateTimeString string used to store the current date and time ('19000101000000' if current date/time could not be retrieved)
Returns:
resulting character string (see 'dateTimeString')

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:
dicomDate date in DICOM DA format (YYYYMMDD)
readableDate reference to variable where the resulting string is stored
Returns:
reference to resulting string (might be empty)

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:
dicomTime time in DICOM TM format (HHMM or HHMMSS...)
readableTime reference to variable where the resulting string is stored
Returns:
reference to resulting string (might be empty)

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:
dicomDateTime time in DICOM DT format (YYYYMMDDHHMMSS...). Possible suffixes (fractional second or UTC notation) are currently ignored.
readableDateTime reference to variable where the resulting string is stored
Returns:
reference to resulting string (might be empty)

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:
dicomPersonName person name in DICOM PN format (ln^fn^mn^p^s)
readablePersonName reference to variable where the resulting string is stored
Returns:
reference to resulting string (might be empty)

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:
dicomPersonName person name in DICOM PN format (ln^fn^mn^p^s)
xmlPersonName reference to variable where the resulting string is stored
writeEmptyValue optional flag indicating whether an empty value should be written
Returns:
reference to resulting string (might be empty)

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

convert unsigned integer number to character string

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

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

convert string to unsigned integer number

Parameters:
stringValue character string to be converted
Returns:
resulting unsigned integer number if successful, 0 otherwise

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:
sourceString source string to be converted
printString reference to character string where the result should be stored
Returns:
reference to resulting 'printString' (might be empty if 'sourceString' was empty)

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 '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:
sourceString source string to be converted
markupString reference to character string where the result should be stored
flags optional flags, checking HF_convertNonASCIICharacters, HF_HTML32Compatibility and HF_XHTML11Compatibility only
newlineAllowed optional 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)

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:
sourceString source string to be converted
markupString reference to character string where the result should be stored
Returns:
reference to resulting 'markupString' (might be empty if 'sourceString' was empty)

static OFBool DSRTypes::checkForValidUIDFormat ( const OFString stringValue  )  [static]

check string for valid UID format.

The string should be non-empty and consist only of integer numbers separated by "." where the first and the last character of the string are always figures (0..9). Example: 1 or 1.2.3. Please note that this test is not as strict as specified for value representation UI in the DICOM standard (e.g. regarding even length padding or leading '0' for the numbers).

Parameters:
stringValue character string to be checked
Returns:
OFTrue if 'string' conforms to UID format, OFFalse otherwise

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

create specified SR IOD content relationship contraint checker object.

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

Parameters:
documentType associated 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

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:
relationshipType relationship type of the node to be created
valueType value type of the node to be created
Returns:
pointer to the new document tree nodeif successful, NULL otherwise

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:
result reference to status variable (checked before adding and updated afterwards!)
dataset reference to DICOM dataset to which the element should be added
delem pointer to DICOM element which should be added. deleted if not inserted.
vm value multiplicity (according to the data dictionary) to be checked for. (valid value: "1", "1-2", "1-3", "1-8", "1-99", "1-n", "2", "2-n", "2-2n", "3", "3-n", "3-3n", "4", "6", "9", "16", "32"), interpreted as cardinality (number of items) for sequence attributes
type value type (valid value: "1", "2" or something else which is not checked)
moduleName optional module name to be printed (default: "SR document" if NULL)
Returns:
current value of 'result', EC_Normal if successful, an error code otherwise

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:
sequence reference to DICOM sequence from which the attribute should be removed
tagKey DICOM tag specifying the attribute which should be removed

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

get element from dataset

Parameters:
dataset reference to DICOM dataset from which the element should be retrieved. (Would be 'const' if the methods from 'dcmdata' would also be 'const'.)
delem reference 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

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

get string value from element

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

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

get string value from element

Parameters:
delem reference to DICOM element from which the string value should be retrieved
stringValue reference to character string where the result should be stored
Returns:
reference character string if successful, empty string otherwise

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

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

Parameters:
delem reference to DICOM element from which the string value should be retrieved
stringValue reference to character string where the result should be stored
Returns:
reference character string if successful, empty string otherwise

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

Parameters:
delem reference to DICOM element from which the string value should be retrieved
stringValue reference to character string where the result should be stored
convertNonASCII convert non-ASCII characters (> #127) to numeric value (&#nnn;) if OFTrue
Returns:
reference character string if successful, empty string otherwise

static OFCondition DSRTypes::getStringValueFromDataset ( DcmItem dataset,
const DcmTagKey tagKey,
OFString stringValue 
) [static]

get string value from dataset

Parameters:
dataset reference to DICOM dataset from which the string should be retrieved. (Would be 'const' if the methods from 'dcmdata' would also be 'const'.)
tagKey DICOM tag specifying the attribute from which the string should be retrieved
stringValue reference to character string in which the result should be stored. (This parameter is automatically cleared if the tag could not be found.)
Returns:
status, EC_Normal if successful, an error code otherwise

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

put string value to dataset

Parameters:
dataset reference to DICOM dataset to which the string should be put.
tag DICOM tag specifying the attribute to which the string should be put
stringValue character string specifying the value to be set
allowEmpty allow empty element to be inserted if OFTrue. Do not insert empty element otherwise.
Returns:
status, EC_Normal if successful, an error code otherwise

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

check element value for correct value multipicity and type.

Parameters:
delem DICOM element to be checked
vm value multiplicity (according to the data dictionary) to be checked for. (valid value: "1", "1-2", "1-3", "1-8", "1-99", "1-n", "2", "2-n", "2-2n", "3", "3-n", "3-3n", "4", "9", "6", "16", "32"), interpreted as cardinality (number of items) for sequence attributes
type value type (valid value: "1", "1C", "2", something else)
searchCond optional flag indicating the status of a previous 'search' function call
moduleName optional module name to be printed (default: "SR document" if NULL)
Returns:
OFTrue if element value is correct, OFFalse otherwise

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

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

Parameters:
dataset reference to DICOM dataset from which the element should be retrieved. (Would be 'const' if the methods from 'dcmdata' would also be 'const'.)
delem DICOM element used to store the value
vm value multiplicity (according to the data dictionary) to be checked for. (valid value: "1", "1-2", "1-3", "1-8", "1-99", "1-n", "2", "2-n", "2-2n", "3", "3-n", "3-3n", "4", "6", "9", "16", "32"), interpreted as cardinality (number of items) for sequence attributes
type value type (valid value: "1", "1C", "2", something else which is not checked)
moduleName optional module name to be printed (default: "SR document" if NULL)
Returns:
status, EC_Normal if element could be retrieved and value is correct, an error code otherwise

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

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

Parameters:
dataset reference to DICOM dataset from which the element should be retrieved. (Would be 'const' if the methods from 'dcmdata' would also be 'const'.)
tagKey DICOM tag specifying the attribute from which the string should be retrieved
stringValue reference to character string in which the result should be stored. (This parameter is automatically cleared if the tag could not be found.)
vm value multiplicity (according to the data dictionary) to be checked for. (valid value: "1", "1-2", "1-3", "1-8", "1-99", "1-n", "2", "2-n", "2-2n", "3", "3-n", "3-3n", "4", "6", "9", "16", "32"), interpreted as cardinality (number of items) for sequence attributes
type value type (valid value: "1", "1C", "2", something else which is not checked)
moduleName optional module name to be printed (default: "SR document" if NULL)
Returns:
status, EC_Normal if element could be retrieved and value is correct, an error code otherwise

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:
action text describing the current action (e.g. 'Reading'), 'Processing' if NULL
node pointer to document tree node for which the message should be printed
location position of the affected content item (e.g. '1.2.3', not printed if NULL)

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:
action text describing the current action (e.g. 'Reading'), 'Processing' if NULL
result status used to print more information on the error (no message if EC_Normal)
node pointer to document tree node for which the message should be printed
location position of the affected content item (e.g. '1.2.3', not printed if NULL)

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:
valueName name of the unknown/unsupported value
readValue value that has been read (optional)
action text describing the current action (default: 'Reading'), 'Processing' if NULL

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:
stream output stream to which the XML document is written
stringValue string value to be written
tagName name of the XML tag used to surround the string value
writeEmptyValue optional flag indicating whether an empty value should be written
Returns:
OFTrue if tag/value has been written, OFFalse otherwise

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:
stream output stream to which the XML document is written
delem reference to DICOM element from which the value is retrieved
tagName name of the XML tag used to surround the string value
writeEmptyValue optional flag indicating whether an empty value should be written
Returns:
OFTrue if tag/value has been written, OFFalse otherwise

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:
docStream output stream used for the main document
annexStream output stream used for the document annex
referenceText optional text added to the main document (e.g. 'for details see')
annexNumber reference to the variable where the current annex number is stored. Value is increased automatically by 1 after the new entry has been added.
flags optional flag used to customize the output (see DSRTypes::HF_xxx)
Returns:
current annex number after the new entry has been added

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:
docStream output stream used for the main document
footnoteStream output stream used for the footnote text
footnoteNumber reference to the variable where the current footnote number is stored. Value is increased automatically by 1 after the new entry has been added.
nodeID unique numerical identifier of the current node for which this footnote is created. Used to create a unique name for the hyperlink.
flags optional flag used to customize the output (see DSRTypes::HF_xxx)
Returns:
current footnote number after the new entry has been added

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

append one output stream to another.

Parameters:
mainStream stream 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


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


Generated on 6 Jan 2011 for OFFIS DCMTK Version 3.6.0 by Doxygen 1.5.1