DVPSReferencedImage_PList Class Reference

the list of referenced images contained in a presentation state (internal use only). More...

List of all members.

Public Member Functions

 DVPSReferencedImage_PList ()
 default constructor
 DVPSReferencedImage_PList (const DVPSReferencedImage_PList &copy)
 copy constructor
DVPSReferencedImage_PListclone ()
 clone method.
virtual ~DVPSReferencedImage_PList ()
 destructor
OFCondition read (DcmItem &dset)
 reads a list of image references (ReferencedImageSequence) from a DICOM dataset.
OFCondition write (DcmItem &dset)
 writes the list of image references managed by this object to a DICOM dataset.
void clear ()
 reset the object to initial state.
OFBool isValid (OFString &sopclassuid)
 checks if images are referenced within this ReferencedImageSequence and whether all images share the same SOP class UID.
DVPSReferencedImagefindImageReference (const char *sopinstanceuid)
 checks if an image reference with the given SOP instance UID exists in this ReferencedImageSequence.
void removeFrameReference (const char *sopinstanceuid, unsigned long frame, unsigned long numberOfFrames)
 update the reference to the given image such that the given frame is not referenced any more.
void removeImageReference (const char *sopinstanceuid)
 checks if an image reference with the given SOP instance UID exists in this ReferencedImageSequence and deletes it.
OFCondition addImageReference (const char *sopclassUID, const char *instanceUID, const char *frames=NULL)
 add a new image reference.
OFCondition addImageReference (const char *sopclassUID, const char *instanceUID, unsigned long frame, DVPSObjectApplicability applicability)
 add a new image reference.
void removeImageReference (DVPSReferencedSeries_PList &allReferences, const char *instanceUID, unsigned long frame, unsigned long numberOfFrames, DVPSObjectApplicability applicability)
 removes a reference to an image or frame.
size_t size () const
 gets the number of image references in this list.
OFCondition getImageReference (size_t idx, OFString &sopclassUID, OFString &instanceUID, OFString &frames)
 gets an image reference with the given index.
OFBool isApplicable (const char *instanceUID, unsigned long frame)
 checks if the object containing this list of image references is applicable to the given image and frame.
OFBool matchesApplicability (const char *instanceUID, unsigned long frame, DVPSObjectApplicability applicability)
 checks if the object containing this list of image references matches exactly the applicability defined by the instanceUID, frame and applicability parameters.
void setLog (OFConsole *stream, OFBool verbMode, OFBool dbgMode)
 sets a new log stream

Private Member Functions

DVPSReferencedImage_PListoperator= (const DVPSReferencedImage_PList &)
 private undefined assignment operator

Private Attributes

OFList< DVPSReferencedImage * > list_
 the list maintained by this object
OFConsolelogstream
 output stream for error messages, never NULL
OFBool verboseMode
 flag indicating whether we're operating in verbose mode
OFBool debugMode
 flag indicating whether we're operating in debug mode


Detailed Description

the list of referenced images contained in a presentation state (internal use only).

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

Definition at line 51 of file dvpsril.h.


Member Function Documentation

OFCondition DVPSReferencedImage_PList::addImageReference const char *  sopclassUID,
const char *  instanceUID,
unsigned long  frame,
DVPSObjectApplicability  applicability
 

add a new image reference.

Checks if the referenced SOP instance UID already exists in this sequence. If it exists, an error code is returned. Otherwise a new image reference is created and added to the ReferencedImageSequence.

Parameters:
sopclassUID the SOP class UID of the image reference to be added.
instanceUID the SOP instance UID of the image reference to be added.
frame the frame number of the image reference (current image) to be added.
applicability the applicability of the image reference (DVPSB_currentFrame or DVPSB_currentImage)
Returns:
EC_Normal if successful, an error code otherwise.

OFCondition DVPSReferencedImage_PList::addImageReference const char *  sopclassUID,
const char *  instanceUID,
const char *  frames = NULL
 

add a new image reference.

Checks if the referenced SOP instance UID already exists in this sequence. If it exists, an error code is returned. Otherwise a new image reference is created and added to the ReferencedImageSequence.

Parameters:
sopclassUID the SOP class UID of the image reference to be added.
instanceUID the SOP instance UID of the image reference to be added.
frames a list of frame numbers in DICOM IS format (integer numbers separated by '\' characters). Default: frame numbers absent. The frame numbers are required if the referenced image is a multiframe image.

void DVPSReferencedImage_PList::clear  ) 
 

reset the object to initial state.

After this call, the object is in the same state as after creation with the default constructor.

Referenced by DVPSSoftcopyVOI::clearImageReferences(), and DVPSDisplayedArea::clearImageReferences().

DVPSReferencedImage_PList* DVPSReferencedImage_PList::clone  )  [inline]
 

clone method.

Returns:
a pointer to a new DVPSReferencedImage_PList object containing a deep copy of this object.

Definition at line 64 of file dvpsril.h.

References DVPSReferencedImage_PList().

DVPSReferencedImage* DVPSReferencedImage_PList::findImageReference const char *  sopinstanceuid  ) 
 

checks if an image reference with the given SOP instance UID exists in this ReferencedImageSequence.

Parameters:
sopinstanceuid the SOP instance UID of the searched image reference
Returns:
a pointer to the matching DVPSReferencedImage if found, NULL otherwise.

OFCondition DVPSReferencedImage_PList::getImageReference size_t  idx,
OFString sopclassUID,
OFString instanceUID,
OFString frames
 

gets an image reference with the given index.

Parameters:
idx index, must be < size().
sopclassUID the SOP Class UID is returned in this string
instanceUID the SOP Instance UID is returned in this string
frames the list of frames is returned in this string
Returns:
EC_Normal if successful, an error code otherwise.

OFBool DVPSReferencedImage_PList::isApplicable const char *  instanceUID,
unsigned long  frame
 

checks if the object containing this list of image references is applicable to the given image and frame.

Parameters:
instanceUID SOP instance UID of the current image
frame number of the current frame
Returns:
OFTrue if applicable.

OFBool DVPSReferencedImage_PList::isValid OFString sopclassuid  ) 
 

checks if images are referenced within this ReferencedImageSequence and whether all images share the same SOP class UID.

Parameters:
sopclassuid should be an empty string when called. Returns the SOP class UID of the images in the list.
Returns:
OFTrue if the sequence is valid (correct), OFFalse otherwise.

OFBool DVPSReferencedImage_PList::matchesApplicability const char *  instanceUID,
unsigned long  frame,
DVPSObjectApplicability  applicability
 

checks if the object containing this list of image references matches exactly the applicability defined by the instanceUID, frame and applicability parameters.

Parameters:
instanceUID SOP instance UID of the current image
frame number of the current frame
Returns:
OFTrue if matching.

OFCondition DVPSReferencedImage_PList::read DcmItem dset  ) 
 

reads a list of image references (ReferencedImageSequence) from a DICOM dataset.

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

Parameters:
dset the DICOM dataset from which the sequence is to be read
Returns:
EC_Normal if successful, an error code otherwise.

void DVPSReferencedImage_PList::removeFrameReference const char *  sopinstanceuid,
unsigned long  frame,
unsigned long  numberOfFrames
 

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

Parameters:
sopinstanceuid the SOP instance UID of the image reference
frame the frame reference
numberOfFrames the number of frames of the image reference

void DVPSReferencedImage_PList::removeImageReference DVPSReferencedSeries_PList allReferences,
const char *  instanceUID,
unsigned long  frame,
unsigned long  numberOfFrames,
DVPSObjectApplicability  applicability
 

removes a reference to an image or frame.

If the current reference is empty ("global"), an explicit list of references is constructed from the list of series/instance references. The image or frame reference is removed from the total list of references in this object. If the only reference contained in this object is removed, the reference list becomes empty which means that the current reference becomes "global". This case must be handled by the caller.

Parameters:
allReferences list of series/instance references registered for the presentation state.
instanceUID SOP instance UID of the current image
frame number of the current frame
numberOfFrames the number of frames of the current image
applicability the applicability of the image reference to be removed (DVPSB_currentFrame or DVPSB_currentImage)

void DVPSReferencedImage_PList::removeImageReference const char *  sopinstanceuid  ) 
 

checks if an image reference with the given SOP instance UID exists in this ReferencedImageSequence and deletes it.

Parameters:
sopinstanceuid the SOP instance UID of the image reference to be removed.

void DVPSReferencedImage_PList::setLog OFConsole stream,
OFBool  verbMode,
OFBool  dbgMode
 

sets a new log stream

Parameters:
stream new log stream, NULL for default logstream
verbMode verbose mode flag
dbgMode debug mode flag

size_t DVPSReferencedImage_PList::size  )  const [inline]
 

gets the number of image references in this list.

Returns:
the number of image references.

Definition at line 175 of file dvpsril.h.

References list_, and OFList< T >::size().

Referenced by DVPSSoftcopyVOI::imageReferencesEmpty(), DVPSDisplayedArea::imageReferencesEmpty(), and DVPSReferencedSeries::numberOfImageReferences().

OFCondition DVPSReferencedImage_PList::write DcmItem dset  ) 
 

writes the list of image references managed by this object to a DICOM dataset.

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

Parameters:
dset the DICOM dataset to which the ReferencedImageSequence is written
Returns:
EC_Normal if successful, an error code otherwise.


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


Generated on 20 Dec 2005 for OFFIS DCMTK Version 3.5.4 by Doxygen 1.4.5