DCMTK
Version 3.6.3
OFFIS DICOM Toolkit
|
Class for image reference values. More...
Public Member Functions | |
DSRImageReferenceValue () | |
default constructor | |
DSRImageReferenceValue (const OFString &sopClassUID, const OFString &sopInstanceUID, const OFBool check=OFTrue) | |
constructor. More... | |
DSRImageReferenceValue (const OFString &imageSOPClassUID, const OFString &imageSOPInstanceUID, const OFString &pstateSOPClassUID, const OFString &pstateSOPInstanceUID, const OFBool check=OFTrue) | |
constructor. More... | |
DSRImageReferenceValue (const DSRImageReferenceValue &referenceValue) | |
copy constructor More... | |
DSRImageReferenceValue (const DSRCompositeReferenceValue &imageReferenceValue, const DSRCompositeReferenceValue &pstateReferenceValue) | |
copy constructor More... | |
virtual | ~DSRImageReferenceValue () |
destructor | |
DSRImageReferenceValue & | operator= (const DSRImageReferenceValue &referenceValue) |
assignment operator More... | |
OFBool | operator== (const DSRImageReferenceValue &referenceValue) const |
comparison operator "equal". More... | |
OFBool | operator!= (const DSRImageReferenceValue &referenceValue) const |
comparison operator "not equal". More... | |
virtual void | clear () |
clear all internal variables. More... | |
virtual OFBool | isValid () const |
check whether the current image reference value is valid. More... | |
virtual OFBool | isShort (const size_t flags) const |
check whether the content is short. More... | |
virtual OFBool | isSegmentation () const |
check whether the current image reference points to a DICOM segmentation object More... | |
virtual OFCondition | print (STD_NAMESPACE ostream &stream, const size_t flags) const |
print image reference. More... | |
virtual OFCondition | readXML (const DSRXMLDocument &doc, DSRXMLCursor cursor, const size_t flags) |
read image reference from XML document More... | |
virtual OFCondition | writeXML (STD_NAMESPACE ostream &stream, const size_t flags) const |
write image reference in XML format More... | |
virtual OFCondition | renderHTML (STD_NAMESPACE ostream &docStream, STD_NAMESPACE ostream &annexStream, size_t &annexNumber, const size_t flags) const |
render image reference value in HTML/XHTML format. More... | |
OFCondition | createIconImage (const OFString &filename, const unsigned long frame=0, const unsigned long width=64, const unsigned long height=64) |
create an icon image from the given DICOM image and associate it with this image reference. More... | |
OFCondition | createIconImage (DcmObject *object, const E_TransferSyntax xfer=EXS_Unknown, const unsigned long frame=0, const unsigned long width=64, const unsigned long height=64) |
create an icon image from the given DICOM image and associate it with this image reference. More... | |
OFCondition | createIconImage (const DicomImage *image, const unsigned long width=64, const unsigned long height=64) |
create an icon image from the given DICOM image and associate it with this image reference. More... | |
void | deleteIconImage () |
delete the currently stored icon image, i.e. free the associated memory and "forget" the internal reference to it | |
const DicomImage * | getIconImage () const |
get reference to icon image associated with this image reference value (if any). More... | |
const DSRImageReferenceValue & | getValue () const |
get reference to image reference value More... | |
OFCondition | getValue (DSRImageReferenceValue &referenceValue) const |
get copy of image reference value More... | |
OFCondition | setValue (const DSRImageReferenceValue &referenceValue, const OFBool check=OFTrue) |
set image reference value. More... | |
const DSRCompositeReferenceValue & | getPresentationState () const |
get reference to presentation state object More... | |
OFCondition | setPresentationState (const DSRCompositeReferenceValue &pstateValue, const OFBool check=OFTrue) |
set reference to presentation state object. More... | |
const DSRCompositeReferenceValue & | getRealWorldValueMapping () const |
get reference to real world value mapping object More... | |
OFCondition | setRealWorldValueMapping (const DSRCompositeReferenceValue &mappingValue, const OFBool check=OFTrue) |
set reference to real world value mapping object. More... | |
DSRImageFrameList & | getFrameList () |
get reference to list of referenced frame numbers. More... | |
const DSRImageFrameList & | getFrameList () const |
get read-only access to list of referenced frame numbers More... | |
DSRImageSegmentList & | getSegmentList () |
get reference to list of referenced segment numbers. More... | |
const DSRImageSegmentList & | getSegmentList () const |
get read-only access to list of referenced segment numbers More... | |
OFBool | appliesToFrame (const Sint32 frameNumber) const |
check whether the image reference applies to a specific frame. More... | |
OFBool | appliesToSegment (const Uint16 segmentNumber) const |
check whether the image reference applies to a specific segment. More... | |
![]() | |
DSRCompositeReferenceValue () | |
default constructor | |
DSRCompositeReferenceValue (const OFString &sopClassUID, const OFString &sopInstanceUID, const OFBool check=OFTrue) | |
constructor More... | |
DSRCompositeReferenceValue (const DSRCompositeReferenceValue &referenceValue) | |
copy constructor More... | |
virtual | ~DSRCompositeReferenceValue () |
destructor | |
DSRCompositeReferenceValue & | operator= (const DSRCompositeReferenceValue &referenceValue) |
assignment operator More... | |
OFBool | operator== (const DSRCompositeReferenceValue &referenceValue) const |
comparison operator "equal" More... | |
OFBool | operator!= (const DSRCompositeReferenceValue &referenceValue) const |
comparison operator "not equal" More... | |
virtual OFBool | isEmpty () const |
check whether the current reference value is empty. More... | |
virtual OFBool | isComplete () const |
check whether the current reference value is complete, i.e. whether both mandatory UIDs are non-empty. More... | |
virtual OFCondition | readSequence (DcmItem &dataset, const DcmTagKey &tagKey, const OFString &type, const size_t flags) |
read referenced SOP sequence from dataset. More... | |
virtual OFCondition | writeSequence (DcmItem &dataset, const DcmTagKey &tagKey) const |
write referenced SOP sequence to dataset. More... | |
const OFString & | getSOPClassUID () const |
get SOP class UID More... | |
const OFString | getSOPClassName (const OFString &defaultName="unknown SOP Class UID") const |
get name associated with the SOP class UID (if any) More... | |
const OFString & | getSOPInstanceUID () const |
get SOP instance UID More... | |
const DSRCompositeReferenceValue & | getValue () const |
get reference to composite reference value More... | |
OFCondition | getValue (DSRCompositeReferenceValue &referenceValue) const |
get copy of composite reference value More... | |
OFCondition | setValue (const DSRCompositeReferenceValue &referenceValue, const OFBool check=OFTrue) |
set composite reference value. More... | |
OFCondition | setReference (const OFString &sopClassUID, const OFString &sopInstanceUID, const OFBool check=OFTrue) |
set SOP class UID and SOP instance UID value. More... | |
OFCondition | setReference (DcmItem &dataset, const OFBool check=OFTrue) |
set SOP class UID and SOP instance UID value from dataset. More... | |
OFCondition | setSOPClassUID (const OFString &sopClassUID, const OFBool check=OFTrue) |
set SOP class UID value. More... | |
OFCondition | setSOPClassUID (const DcmElement &delem, const unsigned long pos=0, const OFBool check=OFTrue) |
set SOP class UID value from element. More... | |
OFCondition | setSOPClassUID (DcmItem &dataset, const DcmTagKey &tagKey, const unsigned long pos=0, const OFBool check=OFTrue) |
set SOP class UID value from dataset. More... | |
OFCondition | setSOPInstanceUID (const OFString &sopInstanceUID, const OFBool check=OFTrue) |
set SOP instance UID value. More... | |
OFCondition | setSOPInstanceUID (const DcmElement &delem, const unsigned long pos=0, const OFBool check=OFTrue) |
set SOP instance UID value from element. More... | |
OFCondition | setSOPInstanceUID (DcmItem &dataset, const DcmTagKey &tagKey, const unsigned long pos=0, const OFBool check=OFTrue) |
set SOP instance UID value from dataset. More... | |
Protected Member Functions | |
DSRImageReferenceValue * | getValuePtr () |
get pointer to image reference value More... | |
virtual OFCondition | readItem (DcmItem &dataset, const size_t flags) |
read image reference value from dataset More... | |
virtual OFCondition | writeItem (DcmItem &dataset) const |
write image reference value to dataset More... | |
virtual OFBool | isSegmentationObject (const OFString &sopClassUID) const |
check whether the given SOP class UID refers to a DICOM segmentation object More... | |
virtual OFCondition | checkSOPClassUID (const OFString &sopClassUID) const |
check the specified SOP class UID for validity. More... | |
virtual OFCondition | checkPresentationState (const DSRCompositeReferenceValue &referenceValue) const |
check the given reference to a presentation state object for validity. More... | |
virtual OFCondition | checkRealWorldValueMapping (const DSRCompositeReferenceValue &referenceValue) const |
check the given reference to a real world value mapping object for validity. More... | |
OFCondition | checkListData (const OFString &sopClassUID, const DSRImageFrameList &frameList, const DSRImageSegmentList &segmentList, const OFBool reportWarnings=OFFalse) const |
check the given list of frame and segment numbers for validity. More... | |
OFCondition | checkCurrentValue () const |
check the currently stored image reference value for validity. More... | |
![]() | |
DSRCompositeReferenceValue * | getValuePtr () |
get pointer to reference value More... | |
virtual OFCondition | checkSOPInstanceUID (const OFString &sopInstanceUID) const |
check the specified SOP instance UID for validity. More... | |
OFCondition | checkCurrentValue () const |
check the currently stored reference value for validity. More... | |
Private Attributes | |
DSRImageFrameList | FrameList |
list of referenced frame numbers (associated DICOM VR=IS, VM=1-n, type 1C) | |
DSRImageSegmentList | SegmentList |
list of referenced segment numbers (associated DICOM VR=US, VM=1-n, type 1C) | |
DSRCompositeReferenceValue | PresentationState |
composite reference value (UIDs) to presentation state object (optional) | |
DSRCompositeReferenceValue | RealWorldValueMapping |
composite reference value (UIDs) to real world value mapping object (optional) | |
DicomImage * | IconImage |
icon image from Icon Image Sequence (optional) | |
Friends | |
class | DSRContentItem |
Additional Inherited Members | |
![]() | |
OFString | SOPClassUID |
reference SOP class UID (VR=UI, type 1) | |
OFString | SOPInstanceUID |
reference SOP instance UID (VR=UI, type 1) | |
Class for image reference values.
DSRImageReferenceValue::DSRImageReferenceValue | ( | const OFString & | sopClassUID, |
const OFString & | sopInstanceUID, | ||
const OFBool | check = OFTrue |
||
) |
constructor.
Accepts reference to an image object.
sopClassUID | referenced SOP class UID of the image object. (VR=UI, mandatory) |
sopInstanceUID | referenced SOP instance UID of the image object. (VR=UI, mandatory) |
check | if enabled, check 'sopClassUID' and 'sopInstanceUID' for validity before setting them. See checkXXX() for details. Empty values are never accepted. |
DSRImageReferenceValue::DSRImageReferenceValue | ( | const OFString & | imageSOPClassUID, |
const OFString & | imageSOPInstanceUID, | ||
const OFString & | pstateSOPClassUID, | ||
const OFString & | pstateSOPInstanceUID, | ||
const OFBool | check = OFTrue |
||
) |
constructor.
Accepts reference to both an image and presentation state object.
imageSOPClassUID | referenced SOP class UID of the image object. (VR=UI, mandatory) |
imageSOPInstanceUID | referenced SOP instance UID of the image object. (VR=UI, mandatory) |
pstateSOPClassUID | referenced SOP class UID of the presentation state object. (VR=UI, optional) |
pstateSOPInstanceUID | referenced SOP instance UID of the presentation state object. (VR=UI, optional) |
check | if enabled, check all four UID values for validity before setting them. See checkXXX() for details. Empty values are never accepted. |
DSRImageReferenceValue::DSRImageReferenceValue | ( | const DSRImageReferenceValue & | referenceValue | ) |
copy constructor
referenceValue | image reference value to be copied (not checked !) |
DSRImageReferenceValue::DSRImageReferenceValue | ( | const DSRCompositeReferenceValue & | imageReferenceValue, |
const DSRCompositeReferenceValue & | pstateReferenceValue | ||
) |
copy constructor
imageReferenceValue | reference to image object to be copied (not checked !) |
pstateReferenceValue | reference to presentation state object to be copied (not checked !) |
OFBool DSRImageReferenceValue::appliesToFrame | ( | const Sint32 | frameNumber | ) | const |
check whether the image reference applies to a specific frame.
The image reference applies to a frame (of multiframe images) if the list of referenced frame numbers is empty or the frame number is part of the list.
frameNumber | number of the frame to be checked |
OFBool DSRImageReferenceValue::appliesToSegment | ( | const Uint16 | segmentNumber | ) | const |
check whether the image reference applies to a specific segment.
The image reference applies to a segment (of a segmentation image) if the list of referenced segment numbers is empty or the segment number is part of the list.
segmentNumber | number of the segment to be checked |
|
protected |
check the currently stored image reference value for validity.
See above checkXXX() methods and DSRCompositeReferenceValue::checkCurrentValue() for details.
|
protected |
check the given list of frame and segment numbers for validity.
Either both lists have to be empty or only one of them has to be non-empty, because otherwise the "type 1C" condition would be violated. Also the list of segment numbers should only be non-empty for one of the DICOM segmentation objects (see isSegmentationObject()).
sopClassUID | SOP class UID of the image object to be checked |
frameList | list of referenced frame numbers to be checked |
segmentList | list of referenced segment numbers to be checked |
reportWarnings | if enabled, report a warning message on each deviation from an expected value to the logger |
|
protectedvirtual |
check the given reference to a presentation state object for validity.
The reference is "valid" if both UIDs are empty or both are not empty and SOP class UID refers to a softcopy presentation state object (see DSRTypes::E_PresentationStateType for a list of supported SOP classes).
referenceValue | value to be checked |
|
protectedvirtual |
check the given reference to a real world value mapping object for validity.
The reference is "valid" if both UIDs are empty or both are not empty and SOP class UID refers to the "Real World Value Mapping Storage SOP Class".
referenceValue | value to be checked |
|
protectedvirtual |
check the specified SOP class UID for validity.
This method further specializes the checks performed in the base class DSRCompositeReferenceValue. All image and segmentation SOP classes that are defined in DICOM PS 3.6-2017e are allowed.
sopClassUID | SOP class UID to be checked |
Reimplemented from DSRCompositeReferenceValue.
|
virtual |
clear all internal variables.
Since an empty image reference is invalid the reference becomes invalid afterwards.
Reimplemented from DSRCompositeReferenceValue.
Reimplemented in DSRImageTreeNode.
OFCondition DSRImageReferenceValue::createIconImage | ( | const OFString & | filename, |
const unsigned long | frame = 0 , |
||
const unsigned long | width = 64 , |
||
const unsigned long | height = 64 |
||
) |
create an icon image from the given DICOM image and associate it with this image reference.
According to the DICOM standard, this icon image should be representative of the referenced image and the size of the icon image "may be no greater than 128 rows by 128 columns". For monochrome images, either the first stored or an automatically computed min-max VOI window is selected. Color images are converted automatically to the photometric interpretation "PALETTE COLOR" (with 256 colors) when written to the DICOM dataset. Please note that this icon image is only used in readItem() and writeItem() but not in the other input/output methods.
filename | name of the DICOM image file to be used to create the icon image |
frame | number of the frame to be used to create the icon image (0 = 1st frame) |
width | width of the icon image (in pixels). If 0 this value will be calculated automatically based on the given 'height'. |
height | height of the icon image (in pixels). If 0 this value will be calculated automatically based on the given 'width'. |
OFCondition DSRImageReferenceValue::createIconImage | ( | DcmObject * | object, |
const E_TransferSyntax | xfer = EXS_Unknown , |
||
const unsigned long | frame = 0 , |
||
const unsigned long | width = 64 , |
||
const unsigned long | height = 64 |
||
) |
create an icon image from the given DICOM image and associate it with this image reference.
According to the DICOM standard, this icon image should be representative of the referenced image and the size of the icon image "may be no greater than 128 rows by 128 columns". For monochrome images, either the first stored or an automatically computed min-max VOI window is selected. Color images are converted automatically to the photometric interpretation "PALETTE COLOR" (with 256 colors) when written to the DICOM dataset. Please note that this icon image is only used in readItem() and writeItem() but not in the other input/output methods.
object | pointer to DICOM data structures (fileformat, dataset or item) that contain the DICOM image to be used to create the icon image |
xfer | transfer syntax of the 'object'. In case of a fileformat or dataset, the value EXS_Unknown is also allowed. |
frame | number of the frame to be used to create the icon image (0 = 1st frame) |
width | width of the icon image (in pixels). If 0 this value will be calculated automatically based on the given 'height'. |
height | height of the icon image (in pixels). If 0 this value will be calculated automatically based on the given 'width'. |
OFCondition DSRImageReferenceValue::createIconImage | ( | const DicomImage * | image, |
const unsigned long | width = 64 , |
||
const unsigned long | height = 64 |
||
) |
create an icon image from the given DICOM image and associate it with this image reference.
According to the DICOM standard, this icon image should be representative of the referenced image and the size of the icon image "may be no greater than 128 rows by 128 columns". Color images are converted automatically to the photometric interpretation "PALETTE COLOR" (with 256 colors) when written to the DICOM dataset. Please note that this icon image is only used in readItem() and writeItem() but not in the other input/output methods.
image | pointer to DICOM image to be used to create the icon image. Only single frame images should be passed since only the first frame is used. |
width | width of the icon image (in pixels). If 0 this value will be calculated automatically based on the given 'height'. |
height | height of the icon image (in pixels). If 0 this value will be calculated automatically based on the given 'width'. |
|
inline |
get reference to list of referenced frame numbers.
According to the DICOM standard, this list is required if the referenced image has multiple frames, and the reference does not apply to all frames and the list of referenced segment numbers is empty/absent.
|
inline |
get read-only access to list of referenced frame numbers
|
inline |
get reference to icon image associated with this image reference value (if any).
Please note that the icon image might be invalid even if the pointer is not NULL. Therefore, the DicomImage::getStatus() method should always be called to check the status of the image.
|
inline |
get reference to presentation state object
|
inline |
get reference to real world value mapping object
|
inline |
get reference to list of referenced segment numbers.
According to the DICOM standard, this list is required if the referenced image is a segmentation object, and the reference does not apply to all segments and the list of referenced frame numbers is empty/absent.
|
inline |
get read-only access to list of referenced segment numbers
|
inline |
get reference to image reference value
OFCondition DSRImageReferenceValue::getValue | ( | DSRImageReferenceValue & | referenceValue | ) | const |
get copy of image reference value
referenceValue | reference to variable in which the value should be stored |
|
inlineprotected |
get pointer to image reference value
|
virtual |
check whether the current image reference points to a DICOM segmentation object
|
protectedvirtual |
check whether the given SOP class UID refers to a DICOM segmentation object
sopClassUID | SOP class UID to be checked |
|
virtual |
check whether the content is short.
This method is used to check whether the rendered output of this content item can be expanded inline or not (used for renderHTML()).
flags | flag used to customize the output (see DSRTypes::HF_xxx) |
Reimplemented in DSRImageTreeNode.
|
virtual |
check whether the current image reference value is valid.
The reference value is valid if both SOP class UID and SOP instance UID are valid (see checkSOPClassUID() and checkSOPInstanceUID() for details), as well as the optional presentation state and real world value mapping objects (see checkPresentationState() and checkRealWorldValueMapping(), respectively). Also the presence of the optional list of frame and segment numbers is checked using checkListData().
Reimplemented from DSRCompositeReferenceValue.
Reimplemented in DSRImageTreeNode.
OFBool DSRImageReferenceValue::operator!= | ( | const DSRImageReferenceValue & | referenceValue | ) | const |
comparison operator "not equal".
Please note that the optional icon image is not used for comparing the two values.
referenceValue | image reference value that should be compared to the current one |
DSRImageReferenceValue& DSRImageReferenceValue::operator= | ( | const DSRImageReferenceValue & | referenceValue | ) |
assignment operator
referenceValue | image reference value to be copied (not checked !) |
OFBool DSRImageReferenceValue::operator== | ( | const DSRImageReferenceValue & | referenceValue | ) | const |
comparison operator "equal".
Please note that the optional icon image is not used for comparing the two values.
referenceValue | image reference value that should be compared to the current one |
|
virtual |
print image reference.
The output of a typical image reference value looks like this: (CT image,"1.2.3") or (CT image,"1.2.3"),(GSPS,"1.2.3.4") if a presentation state is present. If the SOP class UID is unknown, the UID is printed instead of the related name. Also, the list of referenced frame/segment numbers is shown, but not the two UIDs of the real world value mapping object (if referenced).
stream | output stream to which the image reference value should be printed |
flags | flag used to customize the output (see DSRTypes::PF_xxx) |
Reimplemented from DSRCompositeReferenceValue.
Reimplemented in DSRImageTreeNode.
|
protectedvirtual |
read image reference value from dataset
dataset | DICOM dataset from which the value should be read |
flags | flag used to customize the reading process (see DSRTypes::RF_xxx) |
Reimplemented from DSRCompositeReferenceValue.
|
virtual |
read image reference from XML document
doc | document containing the XML file content |
cursor | cursor pointing to the starting node |
flags | flag used to customize the reading process (see DSRTypes::XF_xxx) |
Reimplemented from DSRCompositeReferenceValue.
|
virtual |
render image reference value in HTML/XHTML format.
Please note that the optional icon image is never shown in the rendered output.
docStream | output stream to which the main HTML/XHTML document is written |
annexStream | output stream to which the HTML/XHTML document annex is written |
annexNumber | reference to the variable where the current annex number is stored. Value is increased automatically by 1 after a new entry has been added. |
flags | flag used to customize the output (see DSRTypes::HF_xxx) |
Reimplemented from DSRCompositeReferenceValue.
OFCondition DSRImageReferenceValue::setPresentationState | ( | const DSRCompositeReferenceValue & | pstateValue, |
const OFBool | check = OFTrue |
||
) |
set reference to presentation state object.
Before setting the reference, it is usually checked. If the value is invalid, the current value is not replaced and remains unchanged.
pstateValue | value to be set |
check | If enabled, check value for validity before setting it. See checkPresentationState() for details. Empty UID values are accepted for disabling the optional presentation state. |
OFCondition DSRImageReferenceValue::setRealWorldValueMapping | ( | const DSRCompositeReferenceValue & | mappingValue, |
const OFBool | check = OFTrue |
||
) |
set reference to real world value mapping object.
Before setting the reference, it is usually checked. If the value is invalid, the current value is not replaced and remains unchanged.
mappingValue | value to be set |
check | If enabled, check value for validity before setting it. See checkRealWorldValueMapping() for details. Empty UID values are accepted for disabling the optional presentation state. |
OFCondition DSRImageReferenceValue::setValue | ( | const DSRImageReferenceValue & | referenceValue, |
const OFBool | check = OFTrue |
||
) |
set image reference value.
Before setting the reference, it is usually checked. If the value is invalid, the current value is not replaced and remains unchanged.
referenceValue | value to be set |
check | if enabled, check value for validity before setting it. See checkXXX() for details. Empty values are never accepted. |
|
protectedvirtual |
write image reference value to dataset
dataset | DICOM dataset to which the value should be written |
Reimplemented from DSRCompositeReferenceValue.
|
virtual |
write image reference in XML format
stream | output stream to which the XML document is written |
flags | flag used to customize the output (see DSRTypes::XF_xxx) |
Reimplemented from DSRCompositeReferenceValue.
Reimplemented in DSRImageTreeNode.