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

the list of Image Boxes contained in a stored print object. More...

Public Member Functions

 DVPSImageBoxContent_PList ()
 default constructor
 
 DVPSImageBoxContent_PList (const DVPSImageBoxContent_PList &copy)
 copy constructor
 
DVPSImageBoxContent_PListclone ()
 clone method. More...
 
virtual ~DVPSImageBoxContent_PList ()
 destructor
 
OFCondition read (DcmItem &dset, DVPSPresentationLUT_PList &presentationLUTList)
 reads a list of image boxes (ImageBoxContentSequence) from a DICOM dataset. More...
 
OFCondition write (DcmItem &dset, OFBool writeRequestedImageSize, size_t numItems, OFBool ignoreEmptyImages, OFBool writeReferencedPLUTSQ=OFTrue)
 writes the list of image boxes managed by this object to a DICOM dataset. More...
 
void clear ()
 reset the object to initial state. More...
 
size_t size () const
 gets the number of image boxes in this list. More...
 
OFCondition createDefaultValues (OFBool renumber, OFBool ignoreEmptyImages)
 create default values for all missing type 1 elements. More...
 
OFCondition addImageSOPClasses (DcmSequenceOfItems &seq, size_t numItems=0)
 adds all image SOP classes referenced in the image box list to the given sequence. More...
 
OFCondition addImageBox (const char *instanceuid, const char *retrieveaetitle, const char *refstudyuid, const char *refseriesuid, const char *refsopclassuid, const char *refsopinstanceuid, const char *requestedimagesize, const char *patientid, const char *presentationlutuid)
 creates a new image box object and sets the content of this image box object. More...
 
OFCondition addImageBox (DVPSImageBoxContent *box)
 adds the given image box object to the list managed by this object. More...
 
OFCondition setRequestedDecimateCropBehaviour (DVPSDecimateCropBehaviour value)
 sets the (optional) requested decimate/crop behaviour for all image boxes managed by this object. More...
 
OFCondition deleteImage (size_t idx)
 deletes one of the registered images. More...
 
OFCondition deleteMultipleImages (size_t number)
 deletes multiple of the registered images, starting with the first one. More...
 
OFBool imageHasAdditionalSettings (size_t idx)
 checks if one of the registered images has additional settings that are not default values on the image box level. More...
 
OFCondition setImagePolarity (size_t idx, const char *value)
 sets the polarity for the given registered image box. More...
 
OFCondition setImageRequestedSize (size_t idx, const char *value)
 sets the requested size for the given registered image box. More...
 
OFCondition setImageMagnificationType (size_t idx, const char *value)
 sets the (optional) magnification type for the given registered image box. More...
 
OFCondition setImageSmoothingType (size_t idx, const char *value)
 sets the (optional) smoothing type for the given registered image box. More...
 
OFCondition setImageConfigurationInformation (size_t idx, const char *value)
 sets the (optional) configuration information for the given registered image box. More...
 
OFCondition setImageSOPInstanceUID (size_t idx, const char *value)
 sets the SOP instance UID for the given image box. More...
 
OFCondition setAllImagesToDefault ()
 sets magnification type, smoothing type and configuration information back to default for all registered images. More...
 
const char * getImagePolarity (size_t idx)
 gets the polarity for the given registered image box. More...
 
const char * getImageRequestedSize (size_t idx)
 gets the requested size for the given registered image box. More...
 
const char * getImageMagnificationType (size_t idx)
 gets the (optional) magnification type for the given registered image box. More...
 
const char * getImageSmoothingType (size_t idx)
 gets the (optional) smoothing type for the given registered image box. More...
 
const char * getImageConfigurationInformation (size_t idx)
 gets the (optional) configuration information for the given registered image box. More...
 
const char * getSOPInstanceUID (size_t idx)
 gets the current SOP Instance UID for the given registered image box. More...
 
const char * getReferencedPresentationLUTInstanceUID (size_t idx)
 gets the referenced Presentation LUT SOP Instance UID for the given registered image box. More...
 
OFCondition getImageReference (size_t idx, const char *&studyUID, const char *&seriesUID, const char *&instanceUID)
 returns the image UIDs that are required to look up the referenced image in the database More...
 
OFCondition prepareBasicImageBox (size_t idx, DcmItem &dset)
 writes the attributes managed by the referenced object that are part of a basic grayscale image box N-SET request into the DICOM dataset. More...
 
OFBool presentationLUTInstanceUIDisUsed (const char *uid)
 checks whether the given SOP instance UID is used as referenced Presentation LUT SOP Instance UID inside the list of image boxes managed by this object. More...
 
const char * haveSinglePresentationLUTUsed (const char *filmBox)
 if only one Presentation LUT is required to render all images managed by this object, returns the UID of this presentation LUT. More...
 
OFBool printSCPCreate (unsigned long numBoxes, DcmUniqueIdentifier &studyUID, DcmUniqueIdentifier &seriesUID, const char *aetitle)
 creates a number of image boxes as part of a Print SCP N-CREATE operation. More...
 
OFCondition writeReferencedImageBoxSQ (DcmItem &dset)
 writes a Referenced Image Box Sequence for the image boxes managed by this object. More...
 
OFBool matchesPresentationLUT (DVPSPrintPresentationLUTAlignment align) const
 checks whether the given Presentation LUT type could be used together with all image boxes in this list on a Print SCP that requires a matching alignment between a Presentation LUT and the image pixel data. More...
 
DVPSImageBoxContentduplicateImageBox (const char *uid)
 looks up the image box with the given SOP instance UID in this list and returns a pointer to a new object containing a copy of this image box. More...
 
OFBool haveImagePositionClash (const char *uid, Uint16 position)
 checks whether any of the image boxes managed by this list has the same position as the given one, but a different SOP instance UID. More...
 
void replace (DVPSImageBoxContent *newImageBox)
 adds the given image box object to this list. More...
 
OFBool emptyPageWarning ()
 checks whether any of the image boxes has an image box position assigned. More...
 

Private Member Functions

DVPSImageBoxContent_PListoperator= (const DVPSImageBoxContent_PList &)
 private undefined assignment operator
 
DVPSImageBoxContentgetImageBox (size_t idx)
 returns a pointer to the image box with the given index or NULL if it does not exist. More...
 

Private Attributes

OFList< DVPSImageBoxContent * > list_
 the list maintained by this object
 

Detailed Description

the list of Image Boxes contained in a stored print object.

This class manages the data structures comprising one complete Image Box Content Sequence in a Stored Print object.

Member Function Documentation

◆ addImageBox() [1/2]

OFCondition DVPSImageBoxContent_PList::addImageBox ( const char *  instanceuid,
const char *  retrieveaetitle,
const char *  refstudyuid,
const char *  refseriesuid,
const char *  refsopclassuid,
const char *  refsopinstanceuid,
const char *  requestedimagesize,
const char *  patientid,
const char *  presentationlutuid 
)

creates a new image box object and sets the content of this image box object.

Parameters
instanceuidSOP instance UID of this image box
retrieveaetitleretrieve AETITLE of the referenced image
refstudyuidstudy instance UID of the referenced image
refseriesuidseries instance UID of the referenced image
refsopclassuidSOP class UID of the referenced image
refsopinstanceuidSOP instance UID of the referenced image
requestedimagesizerequested images size for this image, default: absent
patientidpatient ID for the referenced image, default: absent
Returns
EC_Normal if successful, an error code otherwise.

◆ addImageBox() [2/2]

OFCondition DVPSImageBoxContent_PList::addImageBox ( DVPSImageBoxContent box)

adds the given image box object to the list managed by this object.

Parameters
boximage box object to be added.
Returns
EC_Normal if successful, an error code otherwise.

◆ addImageSOPClasses()

OFCondition DVPSImageBoxContent_PList::addImageSOPClasses ( DcmSequenceOfItems seq,
size_t  numItems = 0 
)

adds all image SOP classes referenced in the image box list to the given sequence.

Duplicate entries are suppressed.

Parameters
seqsequence to be added to, should be a PrintManagementCapabilitiesSequence.
numItemsnumber of items of this list to be taken into account. Default: all items.
Returns
EC_Normal if successful, an error code otherwise.

◆ clear()

void DVPSImageBoxContent_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.

◆ clone()

DVPSImageBoxContent_PList* DVPSImageBoxContent_PList::clone ( )
inline

clone method.

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

◆ createDefaultValues()

OFCondition DVPSImageBoxContent_PList::createDefaultValues ( OFBool  renumber,
OFBool  ignoreEmptyImages 
)

create default values for all missing type 1 elements.

Called before a stored print object is written.

Parameters
renumberif true, new imageBoxPosition values are created
ignoreEmptyImagesif true, an empty image box position does not cause an error.
Returns
EC_Normal if successful, an error code otherwise.

◆ deleteImage()

OFCondition DVPSImageBoxContent_PList::deleteImage ( size_t  idx)

deletes one of the registered images.

Parameters
idxindex, must be < size()
Returns
EC_Normal if successful, an error code otherwise.

◆ deleteMultipleImages()

OFCondition DVPSImageBoxContent_PList::deleteMultipleImages ( size_t  number)

deletes multiple of the registered images, starting with the first one.

Parameters
numbernumber of images to delete, must be <= size()
Returns
EC_Normal if successful, an error code otherwise.

◆ duplicateImageBox()

DVPSImageBoxContent* DVPSImageBoxContent_PList::duplicateImageBox ( const char *  uid)

looks up the image box with the given SOP instance UID in this list and returns a pointer to a new object containing a copy of this image box.

If the object is not found, NULL is returned.

Parameters
uidSOP instance UID of the image box to be looked up
Returns
pointer to copied image box object, may be NULL.

◆ emptyPageWarning()

OFBool DVPSImageBoxContent_PList::emptyPageWarning ( )

checks whether any of the image boxes has an image box position assigned.

If no image box position is assigned, the object list cannot be written and a Print SCP should return a warning status upon receipt of an N-ACTION request.

Returns
OFTrue if empty page (no image box position assigned), OFFalse otherwise.

◆ getImageBox()

DVPSImageBoxContent* DVPSImageBoxContent_PList::getImageBox ( size_t  idx)
private

returns a pointer to the image box with the given index or NULL if it does not exist.

Parameters
idxindex, must be < size()
Returns
pointer to image box object or NULL

◆ getImageConfigurationInformation()

const char* DVPSImageBoxContent_PList::getImageConfigurationInformation ( size_t  idx)

gets the (optional) configuration information for the given registered image box.

Parameters
idxindex, must be < getNumberOfImages()
Returns
configuration information, may be NULL.

◆ getImageMagnificationType()

const char* DVPSImageBoxContent_PList::getImageMagnificationType ( size_t  idx)

gets the (optional) magnification type for the given registered image box.

Parameters
idxindex, must be < getNumberOfImages()
Returns
magnification type, may be NULL.

◆ getImagePolarity()

const char* DVPSImageBoxContent_PList::getImagePolarity ( size_t  idx)

gets the polarity for the given registered image box.

Parameters
idxindex, must be < getNumberOfImages()
Returns
polarity, may be NULL.

◆ getImageReference()

OFCondition DVPSImageBoxContent_PList::getImageReference ( size_t  idx,
const char *&  studyUID,
const char *&  seriesUID,
const char *&  instanceUID 
)

returns the image UIDs that are required to look up the referenced image in the database

Parameters
idxindex, must be < getNumberOfImages()
studyUIDStudy UID of the image
seriesUIDseries UID of the image
instanceUIDinstance UID of the image
Returns
EC_Normal if successful, an error code otherwise.

◆ getImageRequestedSize()

const char* DVPSImageBoxContent_PList::getImageRequestedSize ( size_t  idx)

gets the requested size for the given registered image box.

Parameters
idxindex, must be < getNumberOfImages()
Returns
requested size, may be NULL.

◆ getImageSmoothingType()

const char* DVPSImageBoxContent_PList::getImageSmoothingType ( size_t  idx)

gets the (optional) smoothing type for the given registered image box.

Parameters
idxindex, must be < getNumberOfImages()
Returns
smoothing type, may be NULL.

◆ getReferencedPresentationLUTInstanceUID()

const char* DVPSImageBoxContent_PList::getReferencedPresentationLUTInstanceUID ( size_t  idx)

gets the referenced Presentation LUT SOP Instance UID for the given registered image box.

Parameters
idxindex, must be < getNumberOfImages()
Returns
SOP Instance UID, may be NULL.

◆ getSOPInstanceUID()

const char* DVPSImageBoxContent_PList::getSOPInstanceUID ( size_t  idx)

gets the current SOP Instance UID for the given registered image box.

Parameters
idxindex, must be < getNumberOfImages()
Returns
SOP Instance UID, may be NULL.

◆ haveImagePositionClash()

OFBool DVPSImageBoxContent_PList::haveImagePositionClash ( const char *  uid,
Uint16  position 
)

checks whether any of the image boxes managed by this list has the same position as the given one, but a different SOP instance UID.

This is used during an Print SCP N-SET operation to check whether a position clash exists.

Parameters
uidSOP instance UID of the image box to be looked up
positionimage position to be looked up

◆ haveSinglePresentationLUTUsed()

const char* DVPSImageBoxContent_PList::haveSinglePresentationLUTUsed ( const char *  filmBox)

if only one Presentation LUT is required to render all images managed by this object, returns the UID of this presentation LUT.

Otherwise returns NULL.

Parameters
filmBoxUID of Presentation LUT specified on Film Box level. May be NULL or empty string if absent.
Returns
UID of Presentation LUT if found, NULL or empty string otherwise.

◆ imageHasAdditionalSettings()

OFBool DVPSImageBoxContent_PList::imageHasAdditionalSettings ( size_t  idx)

checks if one of the registered images has additional settings that are not default values on the image box level.

Parameters
idxindex, must be < getNumberOfImages()
Returns
EC_Normal if successful, an error code otherwise.

◆ matchesPresentationLUT()

OFBool DVPSImageBoxContent_PList::matchesPresentationLUT ( DVPSPrintPresentationLUTAlignment  align) const

checks whether the given Presentation LUT type could be used together with all image boxes in this list on a Print SCP that requires a matching alignment between a Presentation LUT and the image pixel data.

Parameters
alignLUT alignment type
Returns
OFTrue if matching, OFFalse otherwise

◆ prepareBasicImageBox()

OFCondition DVPSImageBoxContent_PList::prepareBasicImageBox ( size_t  idx,
DcmItem dset 
)

writes the attributes managed by the referenced object that are part of a basic grayscale image box N-SET request into the DICOM dataset.

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

Parameters
idxindex, must be < getNumberOfImages()
dsetthe dataset to which the data is written
Returns
EC_Normal if successful, an error code otherwise.

◆ presentationLUTInstanceUIDisUsed()

OFBool DVPSImageBoxContent_PList::presentationLUTInstanceUIDisUsed ( const char *  uid)

checks whether the given SOP instance UID is used as referenced Presentation LUT SOP Instance UID inside the list of image boxes managed by this object.

Parameters
uidname of UID
Returns
OFTrue if UID is used, OFFalse otherwise.

◆ printSCPCreate()

OFBool DVPSImageBoxContent_PList::printSCPCreate ( unsigned long  numBoxes,
DcmUniqueIdentifier studyUID,
DcmUniqueIdentifier seriesUID,
const char *  aetitle 
)

creates a number of image boxes as part of a Print SCP N-CREATE operation.

The previous content of the list is deleted.

Parameters
numBoxesnumber of boxes to be created
studyUIDstudy instance UID under which Hardcopy Grayscale images will be saved
seriesUIDseries instance UID under which Hardcopy Grayscale images will be saved
aetitleretrieve AE title for Hardcopy Grayscale images
Returns
OFTrue if successful, OFFalse otherwise.

◆ read()

OFCondition DVPSImageBoxContent_PList::read ( DcmItem dset,
DVPSPresentationLUT_PList presentationLUTList 
)

reads a list of image boxes (ImageBoxContentSequence) from a DICOM dataset.

The DICOM elements of the image boxes 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
dsetthe DICOM dataset from which the sequence is to be read
presentationLUTListlist of presentation LUTs which may be referenced
Returns
EC_Normal if successful, an error code otherwise.

◆ replace()

void DVPSImageBoxContent_PList::replace ( DVPSImageBoxContent newImageBox)

adds the given image box object to this list.

Any other object existing in the list with the same SOP instance UID is removed. Used during a Print SCP image box N-SET operation.

Parameters
newImageBoxnew image box object to be added to the list.

◆ setAllImagesToDefault()

OFCondition DVPSImageBoxContent_PList::setAllImagesToDefault ( )

sets magnification type, smoothing type and configuration information back to default for all registered images.

Returns
EC_Normal if successful, an error code otherwise.

◆ setImageConfigurationInformation()

OFCondition DVPSImageBoxContent_PList::setImageConfigurationInformation ( size_t  idx,
const char *  value 
)

sets the (optional) configuration information for the given registered image box.

Parameters
idxindex, must be < getNumberOfImages()
valuenew attribute value, may be NULL. The caller is responsible for making sure that the value is valid for the selected printer.
Returns
EC_Normal if successful, an error code otherwise.

◆ setImageMagnificationType()

OFCondition DVPSImageBoxContent_PList::setImageMagnificationType ( size_t  idx,
const char *  value 
)

sets the (optional) magnification type for the given registered image box.

Parameters
idxindex, must be < getNumberOfImages()
valuenew attribute value, may be NULL. The caller is responsible for making sure that the value is valid for the selected printer.
Returns
EC_Normal if successful, an error code otherwise.

◆ setImagePolarity()

OFCondition DVPSImageBoxContent_PList::setImagePolarity ( size_t  idx,
const char *  value 
)

sets the polarity for the given registered image box.

Parameters
idxindex, must be < getNumberOfImages()
valuenew attribute value (NORMAL or REVERSE), may be NULL.
Returns
EC_Normal if successful, an error code otherwise.

◆ setImageRequestedSize()

OFCondition DVPSImageBoxContent_PList::setImageRequestedSize ( size_t  idx,
const char *  value 
)

sets the requested size for the given registered image box.

Parameters
idxindex, must be < getNumberOfImages()
valuenew attribute value, may be NULL.
Returns
EC_Normal if successful, an error code otherwise.

◆ setImageSmoothingType()

OFCondition DVPSImageBoxContent_PList::setImageSmoothingType ( size_t  idx,
const char *  value 
)

sets the (optional) smoothing type for the given registered image box.

Parameters
idxindex, must be < getNumberOfImages()
valuenew attribute value, may be NULL. The caller is responsible for making sure that the value is valid for the selected printer.
Returns
EC_Normal if successful, an error code otherwise.

◆ setImageSOPInstanceUID()

OFCondition DVPSImageBoxContent_PList::setImageSOPInstanceUID ( size_t  idx,
const char *  value 
)

sets the SOP instance UID for the given image box.

Parameters
idxindex, must be < getNumberOfImages()
valuenew attribute value, must not be NULL.
Returns
EC_Normal if successful, an error code otherwise.

◆ setRequestedDecimateCropBehaviour()

OFCondition DVPSImageBoxContent_PList::setRequestedDecimateCropBehaviour ( DVPSDecimateCropBehaviour  value)

sets the (optional) requested decimate/crop behaviour for all image boxes managed by this object.

Parameters
valuenew enumerated value. The caller is responsible for making sure that the selected printer supports decimate/crop if a non-default value is set.
Returns
EC_Normal if successful, an error code otherwise.

◆ size()

size_t DVPSImageBoxContent_PList::size ( ) const
inline

gets the number of image boxes in this list.

Returns
the number of image boxes.

◆ write()

OFCondition DVPSImageBoxContent_PList::write ( DcmItem dset,
OFBool  writeRequestedImageSize,
size_t  numItems,
OFBool  ignoreEmptyImages,
OFBool  writeReferencedPLUTSQ = OFTrue 
)

writes the list of image boxes 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 DICOM dataset to which the ImageBoxContentSequence is written
writeRequestedImageSizeif false, the Requested Image Size attributes are not written, e.g. because they are not supported by the target printer.
numItemsthe number of items (from the beginning of the list) to be written. Default: all items are written.
ignoreEmptyImagesif true, all image boxes without image box position are ignored when writing.
writeReferencedPLUTSQif false, the Referenced Presentation LUT Sequence is not written, e.g. because a "general" presentation LUT is used instead of those referenced by the image boxes.
Returns
EC_Normal if successful, an error code otherwise.

◆ writeReferencedImageBoxSQ()

OFCondition DVPSImageBoxContent_PList::writeReferencedImageBoxSQ ( DcmItem dset)

writes a Referenced Image Box Sequence for the image boxes managed by this object.

Used in a Print SCP N-CREATE operation.

Parameters
dsetthe dataset 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 Mon Jul 17 2017 for DCMTK Version 3.6.2 by Doxygen 1.8.13