DCMTK Version 3.6.8
OFFIS DICOM Toolkit
Public Member Functions | Private Member Functions | Private Attributes | List of all members
DVPSReferencedImage Class Reference

an item of the referenced image sequence in a presentation state (internal use only). More...

Public Member Functions

 DVPSReferencedImage ()
 default constructor
 
 DVPSReferencedImage (const DVPSReferencedImage &copy)
 copy constructor
 
DVPSReferencedImageclone ()
 clone method. More...
 
virtual ~DVPSReferencedImage ()
 destructor
 
OFCondition read (DcmItem &dset)
 reads an image reference from a DICOM dataset. More...
 
OFCondition write (DcmItem &dset)
 writes the image reference managed by this object to a DICOM dataset. More...
 
OFBool validateSOPClassUID (OFString &sopclassuid)
 check if the passed SOP Class UID is equal to the one stored in this object. More...
 
void setSOPClassUID (const char *uid)
 set SOP Class UID of this image reference. More...
 
void setSOPInstanceUID (const char *uid)
 set SOP Instance UID of this image reference. More...
 
void setFrameNumbers (const char *frames)
 set the list of frame numbers of this image reference. More...
 
OFBool isSOPInstanceUID (const char *uid)
 compare SOP Instance UID. More...
 
OFCondition getImageReference (OFString &sopclassUID, OFString &instanceUID, OFString &frames)
 gets the image reference managed by this object. More...
 
OFBool appliesToFrame (unsigned long frame)
 checks whether this image reference applies to the given frame number. More...
 
OFBool appliesOnlyToFrame (unsigned long frame)
 checks whether this image reference applies exactly to the given frame number. More...
 
OFBool appliesToAllFrames ()
 checks whether this image reference applies all frames because the referencedFrameNumber is empty. More...
 
void removeFrameReference (unsigned long frame, unsigned long numberOfFrames)
 update the reference such that the given frame is not referenced any more. More...
 

Private Member Functions

DVPSReferencedImageoperator= (const DVPSReferencedImage &source)
 undefined private assignment operator
 
void flushCache ()
 flushes the frame cache.
 
void updateCache ()
 updated the frame cache.
 

Private Attributes

DcmUniqueIdentifier referencedSOPClassUID
 VR=UI, VM=1, Type 1c.
 
DcmUniqueIdentifier referencedSOPInstanceUID
 VR=UI, VM=1, Type 1c.
 
DcmIntegerString referencedFrameNumber
 VR=IS, VM=1-n, Type 1c.
 
Sint32 * frameCache
 if exists, contains binary representation of referencedFrameNumber
 
unsigned long frameCacheEntries
 describes array size of frameCache
 

Detailed Description

an item of the referenced image sequence in a presentation state (internal use only).

This class manages the data structures comprising one item of the Reference Image Sequence which is contained in the Referenced Series Sequence in a Presentation State object.

Member Function Documentation

◆ appliesOnlyToFrame()

OFBool DVPSReferencedImage::appliesOnlyToFrame ( unsigned long  frame)

checks whether this image reference applies exactly to the given frame number.

This is the case if the referencedFrameNumber only contains the given frame number.

Parameters
frameframe number to be checked
Returns
OFTrue if the image reference applies only to the given frame number, OFFalse otherwise.

◆ appliesToAllFrames()

OFBool DVPSReferencedImage::appliesToAllFrames ( )

checks whether this image reference applies all frames because the referencedFrameNumber is empty.

Returns
OFTrue if the image reference applies to all frames, OFFalse otherwise.

◆ appliesToFrame()

OFBool DVPSReferencedImage::appliesToFrame ( unsigned long  frame)

checks whether this image reference applies to the given frame number.

An image reference applies to a frame if the frame number is explicitly listed in the referencedFrameNumber attribute or if the referencedFrameNumber is empty.

Parameters
frameframe number to be checked
Returns
OFTrue if the image reference applies to the given frame number, OFFalse otherwise.

◆ clone()

DVPSReferencedImage * DVPSReferencedImage::clone ( )
inline

clone method.

Returns
a pointer to a new DVPSReferencedImage object containing a copy of this object.

◆ getImageReference()

OFCondition DVPSReferencedImage::getImageReference ( OFString sopclassUID,
OFString instanceUID,
OFString frames 
)

gets the image reference managed by this object.

Parameters
sopclassUIDthe SOP Class UID is returned in this string
instanceUIDthe SOP Instance UID is returned in this string
framesthe list of frames is returned in this string
Returns
EC_Normal if successful, an error code otherwise.

◆ isSOPInstanceUID()

OFBool DVPSReferencedImage::isSOPInstanceUID ( const char *  uid)

compare SOP Instance UID.

Parameters
uidthe UID to be compared
Returns
OFTrue if the referencedSOPInstanceUID of this object is equal to uid, OFFalse otherwise.

◆ read()

OFCondition DVPSReferencedImage::read ( DcmItem dset)

reads an image reference from a DICOM dataset.

The DICOM elements of the referenced image item are copied from the dataset to this object. The completeness of the item (presence of all required elements, value multiplicity) is checked. If this method returns an error code, the object is in undefined state afterwards.

Parameters
dsetthe item of the ReferencedImageSequence from which the data is to be read
Returns
EC_Normal if successful, an error code otherwise.

◆ removeFrameReference()

void DVPSReferencedImage::removeFrameReference ( unsigned long  frame,
unsigned long  numberOfFrames 
)

update the reference such that the given frame is not referenced any more.

Parameters
framethe frame reference
numberOfFramesthe number of frames of the image reference

◆ setFrameNumbers()

void DVPSReferencedImage::setFrameNumbers ( const char *  frames)

set the list of frame numbers of this image reference.

Parameters
framesa list of frame numbers in DICOM IS format (integer numbers separated by '\' characters)

◆ setSOPClassUID()

void DVPSReferencedImage::setSOPClassUID ( const char *  uid)

set SOP Class UID of this image reference.

Parameters
uida pointer to the UID, which is copied into this object.

◆ setSOPInstanceUID()

void DVPSReferencedImage::setSOPInstanceUID ( const char *  uid)

set SOP Instance UID of this image reference.

Parameters
uida pointer to the UID, which is copied into this object.

◆ validateSOPClassUID()

OFBool DVPSReferencedImage::validateSOPClassUID ( OFString sopclassuid)

check if the passed SOP Class UID is equal to the one stored in this object.

If sopclassuid is empty, the referencedSOPClassUID is assigned to it and the method returns OFTrue. Otherwise the passed UID is compared with the referencedSOPClassUID. OFTrue is returned if they are equal, OFFalse otherwise. This method is used to check whether all image references in a presentation state share the same SOP Class UID.

Parameters
sopclassuidthe SOP class UID to be validated
Returns
OFTrue if successful, OFFalse if unsuccessful.

◆ write()

OFCondition DVPSReferencedImage::write ( DcmItem dset)

writes the image reference managed by this object to a DICOM dataset.

Copies of the DICOM element managed by this object are inserted into the DICOM dataset.

Parameters
dsetthe the item of the ReferencedImageSequence to which the data is written
Returns
EC_Normal if successful, an error code otherwise.

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


Generated on Tue Dec 19 2023 for DCMTK Version 3.6.8 by Doxygen 1.9.4