DCMTK  Version 3.6.2
OFFIS DICOM Toolkit
Classes | Public Member Functions | Protected Member Functions | Private Member Functions | Private Attributes | Friends | List of all members
DSRSOPInstanceReferenceList Class Reference

Class for SOP instance reference lists. More...

+ Inheritance diagram for DSRSOPInstanceReferenceList:

Classes

struct  InstanceStruct
 Internal structure defining the instance list items. More...
 
struct  SeriesStruct
 Internal structure defining the series list items. More...
 
struct  StudyStruct
 Internal structure defining the study list items. More...
 

Public Member Functions

 DSRSOPInstanceReferenceList (const DcmTagKey &sequence)
 constructor More...
 
 ~DSRSOPInstanceReferenceList ()
 destructor
 
void clear ()
 clear list of references
 
OFBool isEmpty () const
 check whether list of references is empty More...
 
size_t getNumberOfInstances () const
 get number of instance stored in the list of references More...
 
OFCondition read (DcmItem &dataset, const size_t flags)
 read list of referenced SOP instances. More...
 
OFCondition write (DcmItem &dataset) const
 write list of referenced SOP instances. More...
 
OFCondition readXML (const DSRXMLDocument &doc, DSRXMLCursor cursor, const size_t flags)
 read list of references from XML document. More...
 
OFCondition writeXML (STD_NAMESPACE ostream &stream, const size_t flags) const
 write current list of references in XML format More...
 
OFCondition setSpecificCharacterSet (const OFString &value, const OFBool check=OFTrue)
 set specific character set, which is used for checking the affected element values. More...
 
OFCondition addItem (const OFString &studyUID, const OFString &seriesUID, const OFString &sopClassUID, const OFString &instanceUID, const OFBool check=OFTrue)
 add the specified item to the list of references. More...
 
OFCondition addItem (DcmItem &dataset, const OFBool check=OFTrue)
 add item from specified DICOM dataset to the list of references. More...
 
OFCondition removeItem ()
 remove the current item from the list of referenced SOP instances. More...
 
OFCondition removeItem (const OFString &sopClassUID, const OFString &instanceUID)
 remove the specified item from the list of references. More...
 
OFCondition removeItem (const OFString &studyUID, const OFString &seriesUID, const OFString &instanceUID)
 remove the specified item from the list of references. More...
 
OFCondition gotoItem (const OFString &sopClassUID, const OFString &instanceUID)
 select the specified item as the current one More...
 
OFCondition gotoItem (const OFString &studyUID, const OFString &seriesUID, const OFString &instanceUID)
 select the specified item as the current one More...
 
OFCondition gotoFirstItem ()
 select the first item in the list. More...
 
OFCondition gotoNextItem ()
 select the next item in the list. More...
 
const OFStringgetStudyInstanceUID (OFString &stringValue) const
 get the study instance UID of the currently selected entry More...
 
const OFStringgetSeriesInstanceUID (OFString &stringValue) const
 get the series instance UID of the currently selected entry More...
 
const OFStringgetSOPInstanceUID (OFString &stringValue) const
 get the SOP instance UID of the currently selected entry More...
 
const OFStringgetSOPClassUID (OFString &stringValue) const
 get the SOP class UID of the currently selected entry More...
 
const OFStringgetSOPClassName (OFString &stringValue, const OFString &defaultName="unknown SOP Class UID") const
 get name associated with the SOP class UID of the currently selected entry More...
 
const OFStringgetRetrieveAETitle (OFString &stringValue) const
 get the retrieve application entity title of the currently selected entry (optional). More...
 
const OFStringgetRetrieveLocationUID (OFString &stringValue) const
 get the retrieve location UID of the currently selected entry (optional) More...
 
const OFStringgetStorageMediaFileSetID (OFString &stringValue) const
 get the storage media file set ID of the currently selected entry (optional) More...
 
const OFStringgetStorageMediaFileSetUID (OFString &stringValue) const
 get the storage media file set UID of the currently selected entry (optional) More...
 
OFCondition getPurposeOfReference (DSRCodedEntryValue &codeValue) const
 get purpose of reference code of the currently selected entry (optional) More...
 
OFCondition setRetrieveAETitle (const OFString &value, const OFBool check=OFTrue)
 set the retrieve application entity title of the currently selected entry More...
 
OFCondition setRetrieveLocationUID (const OFString &value, const OFBool check=OFTrue)
 set the retrieve location UID of the currently selected entry More...
 
OFCondition setStorageMediaFileSetID (const OFString &value, const OFBool check=OFTrue)
 set the storage media file set ID of the currently selected entry More...
 
OFCondition setStorageMediaFileSetUID (const OFString &value, const OFBool check=OFTrue)
 set the storage media file set UID of the currently selected entry More...
 
OFCondition setPurposeOfReference (const DSRCodedEntryValue &codeValue, const OFBool check=OFTrue)
 set purpose of reference code of the currently selected entry. More...
 
- Public Member Functions inherited from DSRTypes
virtual ~DSRTypes ()
 destructor. More...
 

Protected Member Functions

StudyStructgotoStudy (const OFString &studyUID)
 set cursor to the specified study entry (if existent) More...
 
StudyStructgetCurrentStudy () const
 get pointer to currently selected study structure (if any) More...
 
SeriesStructgetCurrentSeries () const
 get pointer to currently selected series structure (if any) More...
 
InstanceStructgetCurrentInstance () const
 get pointer to currently selected instance structure (if any) More...
 
void removeIncompleteItems ()
 remove empty/incomplete items from the list. More...
 
OFCondition checkSOPInstance (const OFString &studyUID, const OFString &seriesUID, const OFString &sopClassUID, const OFString &instanceUID) const
 check the four specified UID values for validity. More...
 
OFCondition checkPurposeOfReference (const DSRCodedEntryValue &purposeOfReference) const
 check the specified purpose of reference code for validity. More...
 

Private Member Functions

 OFListIterator (StudyStruct *) Iterator
 internal cursor to current (selected) list item
 

Private Attributes

const DcmTagKey SequenceTag
 DICOM tag specifying the attribute (sequence) of the reference list.
 
OFList< StudyStruct * > StudyList
 list of studies
 
OFString SpecificCharacterSet
 specific character set used for checking purposes
 

Friends

struct SeriesStruct
 To make VC6 happy.
 
struct StudyStruct
 To make VC6 happy.
 

Additional Inherited Members

- Public Types inherited from DSRTypes
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...
 
- Static Public Member Functions inherited from DSRTypes
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 inherited from DSRTypes
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")
 
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
 
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)
 
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)
 
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
 
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

Class for SOP instance reference lists.

Constructor & Destructor Documentation

◆ DSRSOPInstanceReferenceList()

DSRSOPInstanceReferenceList::DSRSOPInstanceReferenceList ( const DcmTagKey sequence)

constructor

Parameters
sequenceDICOM tag specifying the attribute (sequence) of the reference list

Member Function Documentation

◆ addItem() [1/2]

OFCondition DSRSOPInstanceReferenceList::addItem ( const OFString studyUID,
const OFString seriesUID,
const OFString sopClassUID,
const OFString instanceUID,
const OFBool  check = OFTrue 
)

add the specified item to the list of references.

Before adding the item, the given UID values are usually checked. If one of the values is invalid, nothing is done but an error is returned. If successful, the item is inserted into the hierarchical structure of studies, series and instances, if not already contained in the list. In any case, the specified item is selected as the current one.

Parameters
studyUIDstudy instance UID of the entry to be added
seriesUIDseries instance UID of the entry to be added
sopClassUIDSOP class UID of the entry to be added
instanceUIDSOP instance UID of the entry to be added
checkif enabled, check values for validity before adding them. See checkSOPInstance() method for details. Empty values are never accepted.
Returns
status, EC_Normal if successful, an error code otherwise

◆ addItem() [2/2]

OFCondition DSRSOPInstanceReferenceList::addItem ( DcmItem dataset,
const OFBool  check = OFTrue 
)

add item from specified DICOM dataset to the list of references.

Internally, an item representing the given dataset is inserted into the hierarchical structure of studies, series and instances, if not already contained in the list. In any case, the specified item is selected as the current one.

Parameters
datasetreference to DICOM dataset from which the relevant UIDs are retrieved
checkif enabled, check values for validity before adding them. See checkSOPInstance() method for details. An empty value is never accepted.
Returns
status, EC_Normal if successful, an error code otherwise

◆ checkPurposeOfReference()

OFCondition DSRSOPInstanceReferenceList::checkPurposeOfReference ( const DSRCodedEntryValue purposeOfReference) const
protected

check the specified purpose of reference code for validity.

Internally, the method DSRCodedEntryValue::checkCurrentValue() is used for this purpose (if the code is not empty).

Parameters
purposeOfReferencepurpose of reference code to be checked
Returns
status, EC_Normal if code is valid, an error code otherwise

◆ checkSOPInstance()

OFCondition DSRSOPInstanceReferenceList::checkSOPInstance ( const OFString studyUID,
const OFString seriesUID,
const OFString sopClassUID,
const OFString instanceUID 
) const
protected

check the four specified UID values for validity.

Currently, the only checks performed are that the strings are non-empty and that the given values conform to the corresponding VR (UI) and VM (1).

Parameters
studyUIDstudy instance UID to be checked
seriesUIDseries instance UID to be checked
sopClassUIDSOP class UID to be checked
instanceUIDSOP instance UID to be checked
Returns
status, EC_Normal if all values are valid, an error code otherwise

◆ getCurrentInstance()

InstanceStruct* DSRSOPInstanceReferenceList::getCurrentInstance ( ) const
protected

get pointer to currently selected instance structure (if any)

Returns
pointer to the instance structure if successful, NULL otherwise

◆ getCurrentSeries()

SeriesStruct* DSRSOPInstanceReferenceList::getCurrentSeries ( ) const
protected

get pointer to currently selected series structure (if any)

Returns
pointer to the series structure if successful, NULL otherwise

◆ getCurrentStudy()

StudyStruct* DSRSOPInstanceReferenceList::getCurrentStudy ( ) const
protected

get pointer to currently selected study structure (if any)

Returns
pointer to the study structure if successful, NULL otherwise

◆ getNumberOfInstances()

size_t DSRSOPInstanceReferenceList::getNumberOfInstances ( ) const

get number of instance stored in the list of references

Returns
number of instances

◆ getPurposeOfReference()

OFCondition DSRSOPInstanceReferenceList::getPurposeOfReference ( DSRCodedEntryValue codeValue) const

get purpose of reference code of the currently selected entry (optional)

Parameters
codeValuevariable where a copy of the code should be stored
Returns
status, EC_Normal if successful, an error code otherwise

◆ getRetrieveAETitle()

const OFString& DSRSOPInstanceReferenceList::getRetrieveAETitle ( OFString stringValue) const

get the retrieve application entity title of the currently selected entry (optional).

The resulting string may contain multiple values separated by a backslash ("\").

Parameters
stringValuereference to string variable in which the result is stored
Returns
reference to the resulting string (might be empty)

◆ getRetrieveLocationUID()

const OFString& DSRSOPInstanceReferenceList::getRetrieveLocationUID ( OFString stringValue) const

get the retrieve location UID of the currently selected entry (optional)

Parameters
stringValuereference to string variable in which the result is stored
Returns
reference to the resulting string (might be empty)

◆ getSeriesInstanceUID()

const OFString& DSRSOPInstanceReferenceList::getSeriesInstanceUID ( OFString stringValue) const

get the series instance UID of the currently selected entry

Parameters
stringValuereference to string variable in which the result is stored
Returns
reference to the resulting string (might be empty)

◆ getSOPClassName()

const OFString& DSRSOPInstanceReferenceList::getSOPClassName ( OFString stringValue,
const OFString defaultName = "unknown SOP Class UID" 
) const

get name associated with the SOP class UID of the currently selected entry

Parameters
stringValuereference to string variable in which the result is stored
defaultNamestring value that is returned if the SOP class UID is unknown
Returns
reference to the resulting string (might be empty even if 'defaultName' is non-empty, e.g. in case no entry is currently selected)

◆ getSOPClassUID()

const OFString& DSRSOPInstanceReferenceList::getSOPClassUID ( OFString stringValue) const

get the SOP class UID of the currently selected entry

Parameters
stringValuereference to string variable in which the result is stored
Returns
reference to the resulting string (might be empty)

◆ getSOPInstanceUID()

const OFString& DSRSOPInstanceReferenceList::getSOPInstanceUID ( OFString stringValue) const

get the SOP instance UID of the currently selected entry

Parameters
stringValuereference to string variable in which the result is stored
Returns
reference to the resulting string (might be empty)

◆ getStorageMediaFileSetID()

const OFString& DSRSOPInstanceReferenceList::getStorageMediaFileSetID ( OFString stringValue) const

get the storage media file set ID of the currently selected entry (optional)

Parameters
stringValuereference to string variable in which the result is stored
Returns
reference to the resulting string (might be empty)

◆ getStorageMediaFileSetUID()

const OFString& DSRSOPInstanceReferenceList::getStorageMediaFileSetUID ( OFString stringValue) const

get the storage media file set UID of the currently selected entry (optional)

Parameters
stringValuereference to string variable in which the result is stored
Returns
reference to the resulting string (might be empty)

◆ getStudyInstanceUID()

const OFString& DSRSOPInstanceReferenceList::getStudyInstanceUID ( OFString stringValue) const

get the study instance UID of the currently selected entry

Parameters
stringValuereference to string variable in which the result is stored
Returns
reference to the resulting string (might be empty)

◆ gotoFirstItem()

OFCondition DSRSOPInstanceReferenceList::gotoFirstItem ( )

select the first item in the list.

That means the first instance in the first series of the first study is selected (if available).

Returns
status, EC_Normal if successful, an error code otherwise. (e.g. if the list is empty)

◆ gotoItem() [1/2]

OFCondition DSRSOPInstanceReferenceList::gotoItem ( const OFString sopClassUID,
const OFString instanceUID 
)

select the specified item as the current one

Parameters
sopClassUIDSOP class UID of the item to be selected
instanceUIDSOP instance UID of the item to be selected
Returns
status, EC_Normal if successful, an error code otherwise

◆ gotoItem() [2/2]

OFCondition DSRSOPInstanceReferenceList::gotoItem ( const OFString studyUID,
const OFString seriesUID,
const OFString instanceUID 
)

select the specified item as the current one

Parameters
studyUIDstudy instance UID of the item to be selected
seriesUIDseries instance UID of the item to be selected
instanceUIDSOP instance UID of the item to be selected
Returns
status, EC_Normal if successful, an error code otherwise

◆ gotoNextItem()

OFCondition DSRSOPInstanceReferenceList::gotoNextItem ( )

select the next item in the list.

That means the next instance in the current series, or the first instance in the next series, or the first instance in the first series of the next study is selected (if available). The combination of this function and gotoFirstItem() allows to iterate over all referenced SOP instances.

Returns
status, EC_Normal if successful, an error code otherwise. (e.g. if the end of the list has been reached)

◆ gotoStudy()

StudyStruct* DSRSOPInstanceReferenceList::gotoStudy ( const OFString studyUID)
protected

set cursor to the specified study entry (if existent)

Parameters
studyUIDstudy instance UID of the entry to be searched for
Returns
pointer to the study structure if successful, NULL otherwise

◆ isEmpty()

OFBool DSRSOPInstanceReferenceList::isEmpty ( ) const

check whether list of references is empty

Returns
OFTrue if list is empty, OFFalse otherwise

◆ read()

OFCondition DSRSOPInstanceReferenceList::read ( DcmItem dataset,
const size_t  flags 
)

read list of referenced SOP instances.

The hierarchical structure is automatically reorganized in a way that each study, each series (within a study) and each instance (within a series) only exist once, i.e. the structure might look different when written back to a dataset. However, the content is identical and this way of storing information saves storage space.

Parameters
datasetDICOM dataset from which the data should be read
flagsflag used to customize the reading process (see DSRTypes::RF_xxx)
Returns
status, EC_Normal if successful, an error code otherwise

◆ readXML()

OFCondition DSRSOPInstanceReferenceList::readXML ( const DSRXMLDocument doc,
DSRXMLCursor  cursor,
const size_t  flags 
)

read list of references from XML document.

The hierarchical structure is automatically reorganized in a way that each study, each series (within a study) and each instance (within a series) only exist once, i.e. the structure might look different when written back to a dataset. However, the content is identical and this way of storing information saves storage space.

Parameters
docdocument containing the XML file content
cursorcursor pointing to the starting node
flagsflag used to customize the reading process (see DSRTypes::XF_xxx)
Returns
status, EC_Normal if successful, an error code otherwise

◆ removeIncompleteItems()

void DSRSOPInstanceReferenceList::removeIncompleteItems ( )
protected

remove empty/incomplete items from the list.

(e.g. series with no instances or studies with no series) Please note that this function modifies the value of 'Iterator'.

◆ removeItem() [1/3]

OFCondition DSRSOPInstanceReferenceList::removeItem ( )

remove the current item from the list of referenced SOP instances.

After successful removal the cursor is set to the next valid position.

Returns
status, EC_Normal if successful, an error code otherwise

◆ removeItem() [2/3]

OFCondition DSRSOPInstanceReferenceList::removeItem ( const OFString sopClassUID,
const OFString instanceUID 
)

remove the specified item from the list of references.

After successful removal the cursor is set to the next valid position.

Parameters
sopClassUIDSOP class UID of the item to be removed
instanceUIDSOP instance UID of the item to be removed
Returns
status, EC_Normal if successful, an error code otherwise

◆ removeItem() [3/3]

OFCondition DSRSOPInstanceReferenceList::removeItem ( const OFString studyUID,
const OFString seriesUID,
const OFString instanceUID 
)

remove the specified item from the list of references.

After successful removal the cursor is set to the next valid position.

Parameters
studyUIDstudy instance UID of the item to be removed
seriesUIDseries instance UID of the item to be removed
instanceUIDSOP instance UID of the item to be removed
Returns
status, EC_Normal if successful, an error code otherwise

◆ setPurposeOfReference()

OFCondition DSRSOPInstanceReferenceList::setPurposeOfReference ( const DSRCodedEntryValue codeValue,
const OFBool  check = OFTrue 
)

set purpose of reference code of the currently selected entry.

Before setting the value, it is usually checked. If the value is invalid, the current value is not replaced and remains unchanged.

Parameters
codeValuevalue to be set (optional). Use an empty code to remove the current value.
checkif enabled, check value for validity before setting it. See checkPurposeOfReference() method for details.
Returns
status, EC_Normal if successful, an error code otherwise

◆ setRetrieveAETitle()

OFCondition DSRSOPInstanceReferenceList::setRetrieveAETitle ( const OFString value,
const OFBool  check = OFTrue 
)

set the retrieve application entity title of the currently selected entry

Parameters
valuestring value to be set (possibly multi-valued) or "" for no value
checkcheck 'value' for conformance with VR (AE) and VM (1-n) if enabled
Returns
status, EC_Normal if successful, an error code otherwise

◆ setRetrieveLocationUID()

OFCondition DSRSOPInstanceReferenceList::setRetrieveLocationUID ( const OFString value,
const OFBool  check = OFTrue 
)

set the retrieve location UID of the currently selected entry

Parameters
valuestring value to be set (single value only) or "" for no value
checkcheck 'value' for conformance with VR (UI) and VM (1) if enabled
Returns
status, EC_Normal if successful, an error code otherwise

◆ setSpecificCharacterSet()

OFCondition DSRSOPInstanceReferenceList::setSpecificCharacterSet ( const OFString value,
const OFBool  check = OFTrue 
)

set specific character set, which is used for checking the affected element values.

Please note that this method does not return an error if the given 'value' is not defined by the DICOM standard or not supported by this implementation.

Parameters
valuevalue to be set (single or multiple values) or "" for no value
checkcheck 'value' for conformance with VR (CS) and VM (1-n) if enabled
Returns
status, EC_Normal if successful, an error code otherwise

◆ setStorageMediaFileSetID()

OFCondition DSRSOPInstanceReferenceList::setStorageMediaFileSetID ( const OFString value,
const OFBool  check = OFTrue 
)

set the storage media file set ID of the currently selected entry

Parameters
valuestring value to be set (single value only) or "" for no value
checkcheck 'value' for conformance with VR (SH) and VM (1) if enabled
Returns
status, EC_Normal if successful, an error code otherwise

◆ setStorageMediaFileSetUID()

OFCondition DSRSOPInstanceReferenceList::setStorageMediaFileSetUID ( const OFString value,
const OFBool  check = OFTrue 
)

set the storage media file set UID of the currently selected entry

Parameters
valuestring value to be set (single value only) or "" for no value
checkcheck 'value' for conformance with VR (UI) and VM (1) if enabled
Returns
status, EC_Normal if successful, an error code otherwise

◆ write()

OFCondition DSRSOPInstanceReferenceList::write ( DcmItem dataset) const

write list of referenced SOP instances.

Does nothing if list is empty.

Parameters
datasetDICOM dataset to which the data should be written
Returns
status, EC_Normal if successful, an error code otherwise

◆ writeXML()

OFCondition DSRSOPInstanceReferenceList::writeXML ( STD_NAMESPACE ostream &  stream,
const size_t  flags 
) const

write current list of references in XML format

Parameters
streamoutput stream to which the XML data is written
flagsflag used to customize the output (see DSRTypes::XF_xxx)
Returns
status, EC_Normal if successful, an error code otherwise

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


Generated on Mon Jul 17 2017 for DCMTK Version 3.6.2 by Doxygen 1.8.13