DCMTK  Version 3.6.1 20120515
OFFIS DICOM Toolkit
Public Member Functions | Private Member Functions | Private Attributes
DVPSStoredPrint Class Reference

the representation of a Stored Print object More...

List of all members.

Public Member Functions

 DVPSStoredPrint (Uint16 illumin, Uint16 reflection, const char *aetitle=NULL)
 constructor
 DVPSStoredPrint (const DVPSStoredPrint &copy)
 copy constructor
DVPSStoredPrintclone ()
 clone method.
virtual ~DVPSStoredPrint ()
 destructor
void clear ()
 reset the object to initial state.
OFCondition read (DcmItem &dset)
 reads a Stored Print object from a DICOM dataset.
OFCondition write (DcmItem &dset, OFBool writeRequestedImageSize, OFBool limitImages, OFBool updateDecimateCrop, OFBool ignoreEmptyImages)
 writes the Stored Print object to a DICOM dataset.
OFCondition setOriginator (const char *aetitle)
 sets the name of the current printer.
OFCondition setDestination (const char *aetitle)
 sets the application entity title of the print SCU.
OFCondition setPrinterName (const char *name)
 sets the application entity title of the print SCP.
OFCondition setImageDisplayFormat (unsigned long columns, unsigned long rows)
 sets the image display format to 'STANDARD,rows'.
OFCondition setFilmSizeID (const char *value)
 sets the (optional) film size ID.
OFCondition setMagnificationType (const char *value)
 sets the (optional) magnification type.
OFCondition setSmoothingType (const char *value)
 sets the (optional) smoothing type.
OFCondition setConfigurationInformation (const char *value)
 sets the (optional) configuration information.
OFCondition setResolutionID (const char *value)
 sets the (optional) requested resolution ID.
OFCondition setFilmOrientation (DVPSFilmOrientation value)
 sets the (optional) film orientation.
OFCondition setTrim (DVPSTrimMode value)
 sets the (optional) trim (printing of borders).
OFCondition setRequestedDecimateCropBehaviour (DVPSDecimateCropBehaviour value)
 sets the (optional) requested decimate/crop behaviour for all image boxes managed by this stored print object.
OFCondition setBorderDensity (const char *value)
 sets the (optional) border density.
OFCondition setEmtpyImageDensity (const char *value)
 sets the (optional) empty image density.
OFCondition setMaxDensity (const char *value)
 sets the (optional) max density.
OFCondition setMinDensity (const char *value)
 sets the (optional) min density.
OFCondition newPrinter (const char *name=NULL, const char *destinationAE=NULL)
 deletes all optional attribute values that might not be supported by all printers.
const char * getOriginator ()
 gets the the application entity title of the print SCU.
const char * getDestination ()
 gets the the application entity title of the print SCP.
const char * getPrinterName ()
 gets the name of the current printer.
unsigned long getImageDisplayFormatColumns ()
 gets the number of columns of the current image display format.
unsigned long getImageDisplayFormatRows ()
 gets the number of rows of the current image display format.
DVPSFilmOrientation getFilmOrientation ()
 gets the current film orientation.
DVPSTrimMode getTrim ()
 gets the current trim mode.
DVPSDecimateCropBehaviour getRequestedDecimateCropBehaviour ()
 gets the current requested decimate/crop behaviour setting that is used for all image boxes managed by this object.
const char * getStudyInstanceUID ()
 gets the Study Instance UID.
const char * getSeriesInstanceUID ()
 gets the Series Instance UID.
const char * getSOPInstanceUID ()
 gets the SOP Instance UID.
const char * getFilmSizeID ()
 gets the (optional) film size ID.
const char * getMagnificationType ()
 gets the (optional) magnification type.
const char * getSmoothingType ()
 gets the (optional) smoothing type.
const char * getConfigurationInformation ()
 gets the (optional) configuration information.
const char * getResolutionID ()
 gets the (optional) requestes resolution ID
const char * getBorderDensity ()
 gets the (optional) border density.
const char * getEmtpyImageDensity ()
 gets the (optional) empty image density.
const char * getMaxDensity ()
 gets the (optional) max density.
const char * getMinDensity ()
 gets the (optional) min density.
Uint16 getMaxDensityValue ()
 gets the (optional) max density.
Uint16 getMinDensityValue ()
 gets the (optional) min density.
size_t getNumberOfImages ()
 gets the number of images currently registered in this object.
size_t getNumberOfAnnotations ()
 gets the number of annotations currently registered in this object.
OFCondition deleteImage (size_t idx)
 deletes one of the registered images.
OFCondition deleteMultipleImages (size_t number)
 deletes multiple of the registered images, starting with the first one.
OFCondition deleteSpooledImages ()
 deletes as many images as fit on the current page according to the image display format settings.
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.
OFCondition setImagePolarity (size_t idx, const char *value)
 sets the polarity for the given registered image box.
OFCondition setImageRequestedSize (size_t idx, const char *value)
 sets the requested size for the given registered image box.
OFCondition setImageMagnificationType (size_t idx, const char *value)
 sets the (optional) magnification type for the given registered image box.
OFCondition setImageSmoothingType (size_t idx, const char *value)
 sets the (optional) smoothing type for the given registered image box.
OFCondition setImageConfigurationInformation (size_t idx, const char *value)
 sets the (optional) configuration information for the given registered image box.
const char * getImagePolarity (size_t idx)
 gets the polarity for the given registered image box.
const char * getImageRequestedSize (size_t idx)
 gets the requested size for the given registered image box.
const char * getImageMagnificationType (size_t idx)
 gets the (optional) magnification type for the given registered image box.
const char * getImageSmoothingType (size_t idx)
 gets the (optional) smoothing type for the given registered image box.
const char * getImageConfigurationInformation (size_t idx)
 gets the (optional) configuration information for the given registered image box.
DVPSPresentationLUTgetImagePresentationLUT (size_t idx)
 gets the presentation LUT for the given registered image box.
DVPSPresentationLUTgetPresentationLUT ()
 gets the "global" presentation LUT which overrides the settings for the image boxes.
OFCondition setDefaultPresentationLUT ()
 resets the Presentation LUT to the default setting.
OFCondition setPresentationLUTShape (DVPSPresentationLUTType shape)
 sets the current Presentation LUT shape (overrides the image box settings).
OFCondition setPresentationLookupTable (DcmItem &dset)
 stores a presentation lookup table in the stored print object.
Sint32 convertODtoPValue (Uint16 density, unsigned int bits=8)
 converts an optical density (OD) value to an 8/12/16-bit P-value which is linear to luminance.
OFCondition writeHardcopyImageAttributes (DcmItem &dset)
 writes the general study and series module attributes for a grayscale hardcopy image that is related to this stored print object to a DICOM dataset.
OFCondition addImageBox (const char *retrieveaetitle, const char *refstudyuid, const char *refseriesuid, const char *refsopclassuid, const char *refsopinstanceuid, const char *requestedimagesize, const char *patientid, DVPSPresentationLUT *presentationlut, OFBool inversePLUT)
 creates a new image box object and sets the content of this image box object.
OFCondition addImageBox (const char *retrieveaetitle, const char *refsopinstanceuid, const char *requestedimagesize=NULL, const char *patientid=NULL, DVPSPresentationLUT *presentationlut=NULL, OFBool inversePLUT=OFFalse)
 creates a new image box object and sets the content of this image box object.
OFCondition setSingleAnnotation (const char *displayformat, const char *text, Uint16 position)
 deletes all existing annotations and creates a new one, with given text and position.
void deleteAnnotations ()
 deletes all annotations, clears annotation display format.
OFCondition setInstanceUID (const char *uid)
 sets a new SOP Instance UID for the Stored Print object.
void clearInstanceUID ()
 clears the SOP instance UID for the Stored Print object.
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
DVPSPrintPresentationLUTAlignment getReferencedPresentationLUTAlignment ()
 returns a description of the currently activated Presentation LUT (if any) in terms of the Presentation LUT matching rule (see description of enum type for details).
OFCondition printSCUgetPrinterInstance (DVPSPrintMessageHandler &printHandler)
 Requests the properties of the printer (Printer SOP Instance N-GET).
OFCondition printSCUpreparePresentationLUT (DVPSPrintMessageHandler &printHandler, OFBool printerRequiresMatchingLUT, OFBool printerLUTRenderingPreferred, OFBool printerSupports12Bit)
 checks whether a presentation LUT or LUT shape is active in this stored print object.
OFCondition printSCUcreateBasicFilmSession (DVPSPrintMessageHandler &printHandler, DcmDataset &dset, OFBool plutInSession)
 Creates a DICOM Basic Film Session SOP Instance in the printer.
OFCondition printSCUcreateBasicFilmBox (DVPSPrintMessageHandler &printHandler, OFBool plutInSession)
 Creates a DICOM Basic Film Box SOP Instance in the printer.
OFCondition printSCUsetBasicImageBox (DVPSPrintMessageHandler &printHandler, size_t idx, DicomImage &image, OFBool useMonochrome1=OFFalse)
 Transmits a DICOM image to the printer (Basic Grayscale Image Box N-SET).
OFCondition printSCUsetBasicAnnotationBox (DVPSPrintMessageHandler &printHandler, size_t idx)
 Transmits a DICOM annotation to the printer (Basic Annotation Box N-SET).
OFCondition printSCUprintBasicFilmBox (DVPSPrintMessageHandler &printHandler)
 Prints the current DICOM Basic Film Box SOP Instance.
OFCondition printSCUprintBasicFilmSession (DVPSPrintMessageHandler &printHandler)
 Prints the current DICOM Basic Film Session.
OFCondition printSCUdelete (DVPSPrintMessageHandler &printHandler)
 Deletes all objects currently present in the print association.
OFCondition setPrintIllumination (Uint16 value)
 sets the illumination to be used with the print Presentation LUT SOP Class.
Uint16 getPrintIllumination ()
 gets the current illumination setting used with the print Presentation LUT SOP Class.
OFCondition setPrintReflectedAmbientLight (Uint16 value)
 sets the reflected ambient light to be used with the print Presentation LUT SOP Class.
Uint16 getPrintReflectedAmbientLight ()
 gets the current reflected ambient light setting used with the print Presentation LUT SOP Class.
OFBool printSCPCreate (DVConfiguration &cfg, const char *cfgname, DcmDataset *rqDataset, T_DIMSE_Message &rsp, DcmDataset *&rspDataset, OFBool presentationLUTnegotiated, DVPSPresentationLUT_PList &globalPresentationLUTList, const char *filmSessionUID, DcmUniqueIdentifier &study, DcmUniqueIdentifier &psSeries, DcmUniqueIdentifier &imgSeries)
 performs a Print SCP Basic Film Box N-CREATE operation on a newly created instance of this class.
OFBool printSCPSet (DVConfiguration &cfg, const char *cfgname, DcmDataset *rqDataset, T_DIMSE_Message &rsp, DcmDataset *&rspDataset, OFBool presentationLUTnegotiated, DVPSPresentationLUT_PList &globalPresentationLUTList)
 performs a Print SCP Basic Film Box N-SET operation on an instance of this class.
OFBool isFilmBoxInstance (const char *c)
 checks whether the given UID string matches the film box UID.
OFBool usesPresentationLUT (const char *c)
 checks whether the Presentation LUT with the given UID is referenced by this Stored Print object on the film box level.
DVPSImageBoxContentduplicateImageBox (const char *uid)
 looks up the image box with the given SOP instance UID in the image box list and returns a pointer to a new object containing a copy of this image box.
OFBool haveImagePositionClash (const char *uid, Uint16 position)
 checks whether any of the image boxes managed by the image box list has the same position as the given one, but a different SOP instance UID.
void replaceImageBox (DVPSImageBoxContent *newImageBox)
 adds the given image box object to the image box list.
void updatePresentationLUTList (DVPSPresentationLUT_PList &globalPresentationLUTList)
 updates the list of Presentation LUTs managed by the Stored Print object from a global list.
OFBool matchesPresentationLUT (DVPSPrintPresentationLUTAlignment align) const
 checks whether the given Presentation LUT type could be used together with all image boxes in this film box on a Print SCP that requires a matching alignment between a Presentation LUT and the image pixel data.
void overridePresentationLUTSettings (DcmUnsignedShort &newIllumination, DcmUnsignedShort &newReflectedAmbientLight, DcmUniqueIdentifier &newReferencedPLUT, DVPSPrintPresentationLUTAlignment newAlignment)
 replaces the settings for illumination, reflected ambient light and referenced Presentation LUT in this film box.
OFBool emptyPageWarning ()
 checks whether any of the image boxes has an image box position assigned.

Private Member Functions

DVPSStoredPrintoperator= (const DVPSStoredPrint &)
 private undefined assignment operator
OFBool isImageStorageSOPClass (OFString &sopclassuid)
OFCondition createDefaultValues ()
 create default values for all missing type 1 elements.
OFCondition addReferencedPLUTSQ (DcmItem &dset)
 writes a Referenced Presentation LUT SQ to the given dataset.
OFCondition addPresentationLUTReference (DcmItem &dset)
 writes a Referenced Presentation LUT SQ, Illumination and reflected ambient light to the given dataset.
void invalidateCache ()
 invalidates the cached number of columns and rows
void updateCache ()
 updates the cached number of columns and rows

Private Attributes

DcmPersonName patientName
 Module=Patient, VR=PN, VM=1, Type 1.
DcmLongString patientID
 Module=Patient, VR=LO, VM=1, Type 2.
DcmDate patientBirthDate
 Module=Patient, VR=DA, VM=1, Type 2.
DcmCodeString patientSex
 Module=Patient, VR=CS, VM=1, Type 2.
DcmUniqueIdentifier studyInstanceUID
 Module=General_Study, VR=UI, VM=1, Type 1.
DcmDate studyDate
 Module=General_Study, VR=DA, VM=1, Type 2.
DcmTime studyTime
 Module=General_Study, VR=TM, VM=1, Type 2.
DcmPersonName referringPhysicianName
 Module=General_Study, VR=PN, VM=1, Type 2.
DcmShortString studyID
 Module=General_Study, VR=SH, VM=1, Type 2.
DcmShortString accessionNumber
 Module=General_Study, VR=SH, VM=1, Type 2.
DcmUniqueIdentifier seriesInstanceUID
 Module=General_Series, VR=UI, VM=1, Type 1.
DcmIntegerString seriesNumber
 Module=General_Series, VR=IS, VM=1, Type 2.
DcmLongString manufacturer
 Module=General_Equipment, VR=LO, VM=1, Type 2.
DcmApplicationEntity originator
 Module=Printer_Characteristics_Module, VR=AE, VM=1, Type 2.
DcmApplicationEntity destination
 Module=Printer_Characteristics_Module, VR=AE, VM=1, Type 2.
DcmLongString printerName
 Module=Printer_Characteristics_Module, VR=LO, VM=1, Type 3.
DcmIntegerString instanceNumber
 Module=Film_Box_Module, VR=IS, VM=1, Type 2.
DcmShortText imageDisplayFormat
 Module=Film_Box_Module, VR=ST, VM=1, Type 1.
DcmCodeString annotationDisplayFormatID
 Module=Film_Box_Module, VR=CS, VM=1, Type 3.
DcmCodeString filmOrientation
 Module=Film_Box_Module, VR=CS, VM=1, Type 2.
DcmCodeString filmSizeID
 Module=Film_Box_Module, VR=CS, VM=1, Type 2.
DcmCodeString magnificationType
 Module=Film_Box_Module, VR=CS, VM=1, Type 2.
DcmCodeString smoothingType
 Module=Film_Box_Module, VR=CS, VM=1, Type 3.
DcmCodeString borderDensity
 Module=Film_Box_Module, VR=CS, VM=1, Type 3.
DcmCodeString emptyImageDensity
 Module=Film_Box_Module, VR=CS, VM=1, Type 3.
DcmUnsignedShort minDensity
 Module=Film_Box_Module, VR=US, VM=1, Type 3.
DcmUnsignedShort maxDensity
 Module=Film_Box_Module, VR=US, VM=1, Type 2.
DcmCodeString trim
 Module=Film_Box_Module, VR=CS, VM=1, Type 3.
DcmShortText configurationInformation
 Module=Film_Box_Module, VR=ST, VM=1, Type 2.
DcmUnsignedShort illumination
 Module=Film_Box_Module, VR=US, VM=1, Type 2c required if presentation SOP class present.
DcmUnsignedShort reflectedAmbientLight
 Module=Film_Box_Module, VR=US, VM=1, Type 2c required if presentation SOP class present.
DcmCodeString requestedResolutionID
 Module=Film_Box_Module (Supplement 38), VR=CS, VM=1, Type 3.
DcmUniqueIdentifier referencedPresentationLUTInstanceUID
 the ReferencedPresentationLUTSequence is only created/read on the fly
DVPSPrintPresentationLUTAlignment referencedPresentationLUTAlignment
 The Print SCP can be configured to enforce a rule requiring that the number of entries in a Presentation LUT matches the bit depth of the image pixel data.
DVPSImageBoxContent_PList imageBoxContentList
 Module=Image_Box_List_Module, VR=SQ, VM=1, Type 1.
DVPSAnnotationContent_PList annotationContentList
 Module=Annotation_List_Module, VR=SQ, VM=1, Type 3.
DVPSPresentationLUT_PList presentationLUTList
DcmUniqueIdentifier sOPInstanceUID
 Module=SOP_Common, VR=UI, VM=1, Type 1.
DcmCodeString specificCharacterSet
 Module=SOP_Common, VR=CS, VM=1-n, Type 1C.
DcmDate instanceCreationDate
 Module=SOP_Common, VR=DA, VM=1, Type 3.
DcmTime instanceCreationTime
 Module=SOP_Common, VR=TM, VM=1, Type 3.
DcmUniqueIdentifier imageSeriesInstanceUID
 used when creating hardcopy image objects
OFBool currentValuesValid
 flag indicating whether the currentXX values are up to date
unsigned long currentNumCols
 current number of columns
unsigned long currentNumRows
 current number of rows
DVPSDecimateCropBehaviour decimateCropBehaviour
 requested decimate/crop behaviour used in all image boxes
OFString filmSessionInstanceUID
 the current film session instance
OFString filmBoxInstanceUID
 the current film box instance
OFString presentationLUTInstanceUID
 the current presentation LUT instance.
DVPSPresentationLUT globalPresentationLUT
 stores the "global" presentation LUT that overrides the image box LUTs (optional)
OFBool globalPresentationLUTValid
 flag indicating whether the globalPresentationLUT is currently valid or not
OFBool transmitImagesIn12Bit
 transmit images in 12 bit for the current print job
OFBool renderPresentationLUTinSCP
 presentation LUTs are rendered on SCP side
OFString tempDensity
 temporary buffer for getMaxDensity and getMinDensity

Detailed Description

the representation of a Stored Print object


Constructor & Destructor Documentation

DVPSStoredPrint::DVPSStoredPrint ( Uint16  illumin,
Uint16  reflection,
const char *  aetitle = NULL 
)

constructor

Parameters:
illumindefault Illumination setting
reflectiondefault Reflected Ambient Light setting
aetitleapplication entity title of the print originator (SCU)

Member Function Documentation

OFCondition DVPSStoredPrint::addImageBox ( const char *  retrieveaetitle,
const char *  refstudyuid,
const char *  refseriesuid,
const char *  refsopclassuid,
const char *  refsopinstanceuid,
const char *  requestedimagesize,
const char *  patientid,
DVPSPresentationLUT presentationlut,
OFBool  inversePLUT 
)

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

Parameters:
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, may be NULL (absent)
patientidpatient ID for the referenced image, may be NULL (absent)
presentationlutpresentation LUT to be used, may be NULL (absent)
inversePLUTtrue if presentation LUT is for Monochrome1 and must be inversed.
Returns:
EC_Normal if successful, an error code otherwise.
OFCondition DVPSStoredPrint::addImageBox ( const char *  retrieveaetitle,
const char *  refsopinstanceuid,
const char *  requestedimagesize = NULL,
const char *  patientid = NULL,
DVPSPresentationLUT presentationlut = NULL,
OFBool  inversePLUT = OFFalse 
)

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

This is a specialized version of the method with the same name and more parameters. SOP Class is assumed to be Grayscale Hardcopy, Study and Series are derived from the Stored Print internal defaults.

Parameters:
retrieveaetitleretrieve AETITLE 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
presentationlutpresentation LUT to be used, may be NULL (absent)
inversePLUTtrue if presentation LUT is for Monochrome1 and must be inversed.
Returns:
EC_Normal if successful, an error code otherwise.

writes a Referenced Presentation LUT SQ, Illumination and reflected ambient light to the given dataset.

Helper function used when creating Basic Film Session or Basic Film Box.

Parameters:
dsetthe dataset to which the data is written
Returns:
EC_Normal if successful, an error code otherwise.

writes a Referenced Presentation LUT SQ to the given dataset.

Helper function used in the more general write() method.

Parameters:
dsetthe dataset to which the data is written
Returns:
EC_Normal if successful, an error code otherwise.

reset the object to initial state.

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

clears the SOP instance UID for the Stored Print object.

a new UID is assigned automatically when writing the object.

clone method.

Returns:
a pointer to a new DVPSStoredPrint object containing a copy of this object.
Sint32 DVPSStoredPrint::convertODtoPValue ( Uint16  density,
unsigned int  bits = 8 
)

converts an optical density (OD) value to an 8/12/16-bit P-value which is linear to luminance.

The output is not calibrated according to the GSDF. This can be done by convertPValueToDDL() in class DVPSPresentationState. The attributes illumination, reflected ambient light and min/max density (default 20/300) from this stored print object are used for the calculation.

Parameters:
densityin hundreds of OD (e.g. 150 corressponds to 1.5 OD)
bitsnumber of bits used for the output value (8, 12, 16)
Returns:
P-Value, 0..0xFF, 0..0xFFF, 0..0xFFFF, < 0 if an error occurred.

create default values for all missing type 1 elements.

Called before a stored print object is written.

Returns:
EC_Normal if successful, an error code otherwise.

deletes one of the registered images.

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

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

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

deletes as many images as fit on the current page according to the image display format settings.

Used to remove images from the queue after a print job with one film box has been spooled.

Returns:
EC_Normal if successful, an error code otherwise.

looks up the image box with the given SOP instance UID in the image box 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.
OFBool DVPSStoredPrint::emptyPageWarning ( ) [inline]

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

If no image box position is assigned, the stored print object 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.

gets the (optional) border density.

Returns:
border density, may be NULL.

gets the (optional) configuration information.

Returns:
configuration information, may be NULL.

gets the the application entity title of the print SCP.

Returns:
application entity title of the print SCP

gets the (optional) empty image density.

Returns:
empty image density, may be NULL.
DVPSFilmOrientation DVPSStoredPrint::getFilmOrientation ( )

gets the current film orientation.

Returns:
film orientation.

gets the (optional) film size ID.

Returns:
film size ID, may be NULL.
const char* DVPSStoredPrint::getImageConfigurationInformation ( size_t  idx) [inline]

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

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

gets the number of columns of the current image display format.

Returns:
number of columns.

gets the number of rows of the current image display format.

Returns:
number of rows.
const char* DVPSStoredPrint::getImageMagnificationType ( size_t  idx) [inline]

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

Parameters:
idxindex, must be < getNumberOfImages()
Returns:
magnification type, may be NULL.
const char* DVPSStoredPrint::getImagePolarity ( size_t  idx) [inline]

gets the polarity for the given registered image box.

Parameters:
idxindex, must be < getNumberOfImages()
Returns:
polarity (NORMAL or REVERSE), may be NULL.

gets the presentation LUT for the given registered image box.

If not available the presentation LUT of the film box is used.

Parameters:
idxindex, must be < getNumberOfImages()
Returns:
pointer to presentation LUT, may be NULL.
OFCondition DVPSStoredPrint::getImageReference ( size_t  idx,
const char *&  studyUID,
const char *&  seriesUID,
const char *&  instanceUID 
) [inline]

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.
const char* DVPSStoredPrint::getImageRequestedSize ( size_t  idx) [inline]

gets the requested size for the given registered image box.

Parameters:
idxindex, must be < getNumberOfImages()
Returns:
requested size (in mm), may be NULL.
const char* DVPSStoredPrint::getImageSmoothingType ( size_t  idx) [inline]

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

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

gets the (optional) magnification type.

Returns:
magnification type, may be NULL.

gets the (optional) max density.

The string returned becomes invalid after the next call to getMaxDensity or getMinDensity.

Returns:
max density, may be NULL.

gets the (optional) max density.

Returns:
max density (default: 300).

gets the (optional) min density.

The string returned becomes invalid after the next call to getMaxDensity or getMinDensity.

Returns:
min density, may be NULL.

gets the (optional) min density.

Returns:
min density (default: 20).

gets the number of annotations currently registered in this object.

Returns:
number of annotations.

gets the number of images currently registered in this object.

Returns:
number of images.

gets the the application entity title of the print SCU.

Returns:
application entity title of the print SCP

gets the "global" presentation LUT which overrides the settings for the image boxes.

If not available the presentation LUT of the image box is used.

Returns:
pointer to presentation LUT, may be NULL.

gets the name of the current printer.

Returns:
name of the current printer

gets the current illumination setting used with the print Presentation LUT SOP Class.

Returns:
illumination in cd/m2

gets the current reflected ambient light setting used with the print Presentation LUT SOP Class.

Returns:
reflected ambient light in cd/m2
DVPSPrintPresentationLUTAlignment DVPSStoredPrint::getReferencedPresentationLUTAlignment ( ) [inline]

returns a description of the currently activated Presentation LUT (if any) in terms of the Presentation LUT matching rule (see description of enum type for details).

Returns:
Presentation LUT alignment
DVPSDecimateCropBehaviour DVPSStoredPrint::getRequestedDecimateCropBehaviour ( ) [inline]

gets the current requested decimate/crop behaviour setting that is used for all image boxes managed by this object.

Returns:
requested decimate/crop behaviour

gets the (optional) requestes resolution ID

Returns:
requested resolution ID, may be NULL.

gets the Series Instance UID.

Returns:
Series Instance UID, may be NULL.

gets the (optional) smoothing type.

Returns:
smoothing type, may be NULL.

gets the SOP Instance UID.

Returns:
SOP Instance UID, may be NULL.

gets the Study Instance UID.

Returns:
Study Instance UID, may be NULL.
DVPSTrimMode DVPSStoredPrint::getTrim ( )

gets the current trim mode.

Returns:
trim mode.
OFBool DVPSStoredPrint::haveImagePositionClash ( const char *  uid,
Uint16  position 
) [inline]

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

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

Parameters:
uidSOP instance UID of the image box to be looked up
positionimage position to be looked up
OFBool DVPSStoredPrint::imageHasAdditionalSettings ( size_t  idx) [inline]

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.
OFBool DVPSStoredPrint::isFilmBoxInstance ( const char *  c) [inline]

checks whether the given UID string matches the film box UID.

Parameters:
cuid to be compared
Returns:
OFTrue if equal, OFFalse otherwise
OFBool DVPSStoredPrint::matchesPresentationLUT ( DVPSPrintPresentationLUTAlignment  align) const [inline]

checks whether the given Presentation LUT type could be used together with all image boxes in this film box 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
OFCondition DVPSStoredPrint::newPrinter ( const char *  name = NULL,
const char *  destinationAE = NULL 
)

deletes all optional attribute values that might not be supported by all printers.

Film size ID, magnification and smoothing type, configuration information, requested resolution ID, trim and requested decimate/crop behaviour, border and empty image density are reset to default. For all registered images, magnification, smoothing type and configuration information are also set back to default.

Parameters:
namename of the new printer (optional)
aetitleof the new printer (optional)
Returns:
EC_Normal if successful, an error code otherwise.
void DVPSStoredPrint::overridePresentationLUTSettings ( DcmUnsignedShort newIllumination,
DcmUnsignedShort newReflectedAmbientLight,
DcmUniqueIdentifier newReferencedPLUT,
DVPSPrintPresentationLUTAlignment  newAlignment 
)

replaces the settings for illumination, reflected ambient light and referenced Presentation LUT in this film box.

Used by a Print SCP if Presentation LUT is implemented on Film Session level.

Parameters:
newIlluminationnew value for illumination
newReflectedAmbientLightnew value for reflectedAmbientLight
newReferencedPLUTnew value for referenced presentation LUT instance UID
newAlignmentnew alignment type of active presentation LUT
OFBool DVPSStoredPrint::printSCPCreate ( DVConfiguration cfg,
const char *  cfgname,
DcmDataset rqDataset,
T_DIMSE_Message rsp,
DcmDataset *&  rspDataset,
OFBool  presentationLUTnegotiated,
DVPSPresentationLUT_PList globalPresentationLUTList,
const char *  filmSessionUID,
DcmUniqueIdentifier study,
DcmUniqueIdentifier psSeries,
DcmUniqueIdentifier imgSeries 
)

performs a Print SCP Basic Film Box N-CREATE operation on a newly created instance of this class.

The results of the operation are stored in the objects passed as rsp, rspDataset and globalPresentationLUTList.

Parameters:
cfgconfig file facility
cfgnamesymbolic printer name in config file
rqDatasetN-CREATE request dataset, may be NULL
rspN-CREATE response message
rspDatasetN-CREATE response dataset passed back in this parameter
presentationLUTnegotiatedOFTrue if support for the Presentation LUT SOP class has been negotiated at association negotiation and is supported on Basic Film Box level
globalPresentationLUTListlist of presentation LUTs managed by the Print SCP. If a SCP default Presentation LUT needs to be created as the result of the N-CREATE operation, it is stored in this list.
filmSessionUIDSOP instance UID of the Basic Film Session object
studystudy UID to be used when storing Stored Print or image objects
psSeriesseries UID to be used when storing Stored Print objects
imgSeriesseries UID to be used when storing image objects (Hardcopy Grayscale)
Returns:
OFTrue if N-CREATE was successful, OFFalse otherwise.
OFBool DVPSStoredPrint::printSCPSet ( DVConfiguration cfg,
const char *  cfgname,
DcmDataset rqDataset,
T_DIMSE_Message rsp,
DcmDataset *&  rspDataset,
OFBool  presentationLUTnegotiated,
DVPSPresentationLUT_PList globalPresentationLUTList 
)

performs a Print SCP Basic Film Box N-SET operation on an instance of this class.

The results of the N-SET operation are stored in the objects passed as rsp and rspDataset.

Parameters:
cfgconfig file facility
cfgnamesymbolic printer name in config file
rqDatasetN-SET request dataset
rspN-SET response message
rspDatasetN-SET response dataset passed back in this parameter
presentationLUTnegotiatedOFTrue if support for the Presentation LUT SOP class has been negotiated at association negotiation and is supported on Basic Film Box level
globalPresentationLUTListlist of presentation LUTs managed by the Print SCP
Returns:
OFTrue if N-SET was successful, OFFalse otherwise.

Creates a DICOM Basic Film Box SOP Instance in the printer.

This method only allows one basic film box to exist at any time - collation is not supported.

Parameters:
printHandlerprint communication handler, association must be open.
plutInSessiontrue if printer expects referenced presentation LUT sequence, illumination and reflected ambient light in basic film session, false if it expects them in basic film box.
Returns:
EC_Normal upon success, an error code otherwise.
OFCondition DVPSStoredPrint::printSCUcreateBasicFilmSession ( DVPSPrintMessageHandler printHandler,
DcmDataset dset,
OFBool  plutInSession 
)

Creates a DICOM Basic Film Session SOP Instance in the printer.

Parameters:
printHandlerprint communication handler, association must be open.
dsetDICOM dataset containing all Basic Film Session attributes managed outside this class
plutInSessiontrue if printer expects referenced presentation LUT sequence, illumination and reflected ambient light in basic film session, false if it expects them in basic film box.
Returns:
EC_Normal upon success, an error code otherwise.

Deletes all objects currently present in the print association.

Parameters:
printHandlerprint communication handler, association must be open.
Returns:
EC_Normal upon success, an error code otherwise.

Requests the properties of the printer (Printer SOP Instance N-GET).

The properties are not returned, but if the message handler is switched to "dump mode", the DIMSE communication will be printed.

Parameters:
printHandlerprint communication handler, association must be open.
Returns:
EC_Normal upon success, an error code otherwise.
OFCondition DVPSStoredPrint::printSCUpreparePresentationLUT ( DVPSPrintMessageHandler printHandler,
OFBool  printerRequiresMatchingLUT,
OFBool  printerLUTRenderingPreferred,
OFBool  printerSupports12Bit 
)

checks whether a presentation LUT or LUT shape is active in this stored print object.

In this case, if the printer supports the Presentation LUT SOP class, a Presentation LUT SOP Instance is created in the printer.

Parameters:
printHandlerprint communication handler, association must be open.
printerRequiresMatchingLUTtrue if printer requires presentation LUTs matching the image depth
printerLUTRenderingPreferredtrue if SCP side presentation LUTs should be preferred even if printer supports 12-bit image transmission.
printerSupports12Bittrue if printer supports 12 bit transmission
Returns:
EC_Normal upon success, an error code otherwise.

Prints the current DICOM Basic Film Box SOP Instance.

Parameters:
printHandlerprint communication handler, association must be open.
Returns:
EC_Normal upon success, an error code otherwise.

Prints the current DICOM Basic Film Session.

Parameters:
printHandlerprint communication handler, association must be open.
Returns:
EC_Normal upon success, an error code otherwise.

Transmits a DICOM annotation to the printer (Basic Annotation Box N-SET).

Parameters:
printHandlerprint communication handler, association must be open.
idxindex of the annotation from which the settings are taken, must be < getNumberOfAnnotations().
Returns:
EC_Normal upon success, an error code otherwise.
OFCondition DVPSStoredPrint::printSCUsetBasicImageBox ( DVPSPrintMessageHandler printHandler,
size_t  idx,
DicomImage image,
OFBool  useMonochrome1 = OFFalse 
)

Transmits a DICOM image to the printer (Basic Grayscale Image Box N-SET).

Parameters:
printHandlerprint communication handler, association must be open.
idxindex of the image reference from which the Image Box settings are taken, must be < getNumberOfImages().
imageDICOM image to be printed
useMonochrome1if true, the image is transmitted in MONOCHROME1 photometric interpretation. Default is false, image is transmitted in MONOCHROME2 in this case.
Returns:
EC_Normal upon success, an error code otherwise.

reads a Stored Print object from a DICOM dataset.

The DICOM elements of the stored print object are copied from the dataset to this object. The completeness of the object (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 dataset from which the data is to be read
Returns:
EC_Normal if successful, an error code otherwise.
void DVPSStoredPrint::replaceImageBox ( DVPSImageBoxContent newImageBox) [inline]

adds the given image box object to the image box list.

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

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

sets the (optional) border density.

Parameters:
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.

sets the (optional) configuration information.

Parameters:
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.

resets the Presentation LUT to the default setting.

i.e. the presentation LUT which is specified separately for each image box is used.

Returns:
EC_Normal if successful, an error code otherwise.
OFCondition DVPSStoredPrint::setDestination ( const char *  aetitle)

sets the application entity title of the print SCU.

Returns:
application entity title of the print SCU

sets the (optional) empty image density.

Parameters:
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.
OFCondition DVPSStoredPrint::setFilmOrientation ( DVPSFilmOrientation  value)

sets the (optional) film orientation.

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

sets the (optional) film size ID.

Parameters:
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.
OFCondition DVPSStoredPrint::setImageConfigurationInformation ( size_t  idx,
const char *  value 
) [inline]

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.
OFCondition DVPSStoredPrint::setImageDisplayFormat ( unsigned long  columns,
unsigned long  rows 
)

sets the image display format to 'STANDARD,rows'.

The caller must make sure that the column and row values are valid for the selected printer.

Parameters:
columnsnumber of columns
rowsnumber of rows
Returns:
EC_Normal if successful, an error code otherwise.
OFCondition DVPSStoredPrint::setImageMagnificationType ( size_t  idx,
const char *  value 
) [inline]

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.
OFCondition DVPSStoredPrint::setImagePolarity ( size_t  idx,
const char *  value 
) [inline]

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.
OFCondition DVPSStoredPrint::setImageRequestedSize ( size_t  idx,
const char *  value 
) [inline]

sets the requested size for the given registered image box.

Parameters:
idxindex, must be < getNumberOfImages()
valuenew attribute value (in mm), may be NULL.
Returns:
EC_Normal if successful, an error code otherwise.
OFCondition DVPSStoredPrint::setImageSmoothingType ( size_t  idx,
const char *  value 
) [inline]

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.

sets a new SOP Instance UID for the Stored Print object.

Parameters:
uidnew SOP Instance UID
Returns:
EC_Normal if successful, an error code otherwise.

sets the (optional) magnification type.

Parameters:
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.

sets the (optional) max density.

Parameters:
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.

sets the (optional) min density.

Parameters:
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.
OFCondition DVPSStoredPrint::setOriginator ( const char *  aetitle)

sets the name of the current printer.

This name is identical to the unique entry used in the configuration file.

Returns:
name of the current printer

stores a presentation lookup table in the stored print object.

This method stores a presentation lookup table in the stored print object and activates it. This LUT overrides the settings made for the individual image boxes. If unsuccessful, LUT is not set.

Parameters:
dsetdataset from which the Presentation LUT SQ or Shape is read.
Returns:
EC_Normal if successful, an error code otherwise.
OFCondition DVPSStoredPrint::setPresentationLUTShape ( DVPSPresentationLUTType  shape)

sets the current Presentation LUT shape (overrides the image box settings).

Only DVPSP_identity and DVPSP_lin_od are allowed.

Parameters:
shapethe new presentation LUT shape.
Returns:
EC_Normal if successful, an error code otherwise.

sets the application entity title of the print SCP.

Returns:
application entity title of the print SCP

sets the illumination to be used with the print Presentation LUT SOP Class.

Parameters:
valuenew attribute value, in cd/m2. 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.

sets the reflected ambient light to be used with the print Presentation LUT SOP Class.

Parameters:
valuenew attribute value, in cd/m2. 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.

sets the (optional) requested decimate/crop behaviour for all image boxes managed by this stored print 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.

sets the (optional) requested resolution ID.

Parameters:
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.
OFCondition DVPSStoredPrint::setSingleAnnotation ( const char *  displayformat,
const char *  text,
Uint16  position 
)

deletes all existing annotations and creates a new one, with given text and position.

Sets annotation display format to the given value.

Parameters:
displayformatannotation display format
textannotation text
positionannotation position
Returns:
EC_Normal if successful, an error code otherwise.

sets the (optional) smoothing type.

Parameters:
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.
OFCondition DVPSStoredPrint::setTrim ( DVPSTrimMode  value)

sets the (optional) trim (printing of borders).

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

updates the list of Presentation LUTs managed by the Stored Print object from a global list.

If a Presentation LUT is active on Film Box level, the corresponding LUT is copied from the global presentation LUT list. Presentation LUT references on Image Box level are ignored. Used during a Print SCP N-ACTION operation.

Parameters:
globalPresentationLUTListlist of presentation LUTs managed by the Print SCP
OFBool DVPSStoredPrint::usesPresentationLUT ( const char *  c)

checks whether the Presentation LUT with the given UID is referenced by this Stored Print object on the film box level.

Presentation LUT references on Image Box level are ignored.

Parameters:
cuid to be compared
Returns:
OFTrue if equal, OFFalse otherwise
OFCondition DVPSStoredPrint::write ( DcmItem dset,
OFBool  writeRequestedImageSize,
OFBool  limitImages,
OFBool  updateDecimateCrop,
OFBool  ignoreEmptyImages 
)

writes the Stored Print object to a DICOM dataset.

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

Parameters:
dsetthe dataset to which the data is written
writeRequestedImageSizeif false, the Requested Image Size attributes are not written, e. g. because they are not supported by the target printer.
limitImagesif true, only the number of image references that are needed for the current image display format (film layout) are written. If false, all image references are written.
updateDecimateCropif true, the decimate/crop attribute on image box level is replaced by the global stored print level setting in all image boxes prior to writing the dataset.
ignoreEmptyImagesif true, all image boxes without image box position are ignored when writing.
Returns:
EC_Normal if successful, an error code otherwise.

writes the general study and series module attributes for a grayscale hardcopy image that is related to this stored print object to a DICOM dataset.

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

Parameters:
dsetthe dataset to which the data is written
Returns:
EC_Normal if successful, an error code otherwise.

Member Data Documentation

the current presentation LUT instance.

If used as Print SCU, the content of this string can differ from referencedPresentationLUTInstanceUID which contains the UID from the Stored Print object wheras this string contains the UID assigned by the remote Print SCP. If used as Print SCP, these strings should always be equal.

DVPSPrintPresentationLUTAlignment DVPSStoredPrint::referencedPresentationLUTAlignment [private]

The Print SCP can be configured to enforce a rule requiring that the number of entries in a Presentation LUT matches the bit depth of the image pixel data.

This member variable describes the type of the current presentation LUT (if any).


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


Generated on Tue May 15 2012 for DCMTK Version 3.6.1 20120515 by Doxygen 1.7.5.1-20111027