34 #include "dcmtk/config/osconfig.h"
36 #include "dcmtk/ofstd/ofstream.h"
37 #include "dcmtk/ofstd/ofstring.h"
38 #include "dcmtk/dcmpstat/dvpstyp.h"
39 #include "dcmtk/dcmpstat/dvpspll.h"
40 #include "dcmtk/dcmpstat/dvpsibl.h"
41 #include "dcmtk/dcmpstat/dvpsabl.h"
42 #include "dcmtk/dcmpstat/dvpstat.h"
43 #include "dcmtk/dcmpstat/dvpspr.h"
59 DVPSStoredPrint(Uint16 illumin, Uint16 reflection,
const char *aetitle = NULL);
108 OFBool writeRequestedImageSize,
110 OFBool updateDecimateCrop,
111 OFBool ignoreEmptyImages);
579 const char *retrieveaetitle,
580 const char *refstudyuid,
581 const char *refseriesuid,
582 const char *refsopclassuid,
583 const char *refsopinstanceuid,
584 const char *requestedimagesize,
585 const char *patientid,
602 const char *retrieveaetitle,
603 const char *refsopinstanceuid,
604 const char *requestedimagesize=NULL,
605 const char *patientid=NULL,
607 OFBool inversePLUT=OFFalse);
619 const char *displayformat,
677 OFBool printerRequiresMatchingLUT,
678 OFBool printerLUTRenderingPreferred,
679 OFBool printerSupports12Bit);
691 OFBool plutInSession);
716 OFBool useMonochrome1=OFFalse);
806 OFBool presentationLUTnegotiated,
808 const char *filmSessionUID,
835 OFBool presentationLUTnegotiated,
909 DVPSPrintPresentationLUTAlignment newAlignment);
927 OFBool isImageStorageSOPClass(
OFString& sopclassuid);
DcmDate patientBirthDate
Module=Patient, VR=DA, VM=1, Type 2.
a class representing the DICOM value representation 'Integer String' (IS)
const char * getImageConfigurationInformation(size_t idx)
gets the (optional) configuration information for the given registered image box. ...
DcmUniqueIdentifier referencedPresentationLUTInstanceUID
the ReferencedPresentationLUTSequence is only created/read on the fly
const char * getImageRequestedSize(size_t idx)
gets the requested size for the given registered image box.
a class representing a list of DICOM elements in which each element has a different tag and elements ...
OFCondition write(DcmItem &dset, OFBool writeRequestedImageSize, OFBool limitImages, OFBool updateDecimateCrop, OFBool ignoreEmptyImages)
writes the Stored Print object to a DICOM dataset.
DVPSPrintPresentationLUTAlignment getReferencedPresentationLUTAlignment()
returns a description of the currently activated Presentation LUT (if any) in terms of the Presentati...
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).
void invalidateCache()
invalidates the cached number of columns and rows
DcmCodeString magnificationType
Module=Film_Box_Module, VR=CS, VM=1, Type 2.
const char * getImageSmoothingType(size_t idx)
gets the (optional) smoothing type for the given registered image box.
OFBool globalPresentationLUTValid
flag indicating whether the globalPresentationLUT is currently valid or not
OFCondition printSCUsetBasicAnnotationBox(DVPSPrintMessageHandler &printHandler, size_t idx)
Transmits a DICOM annotation to the printer (Basic Annotation Box N-SET).
OFCondition setMagnificationType(const char *value)
sets the (optional) magnification type.
const char * getImageMagnificationType(size_t idx)
gets the (optional) magnification type for the given registered image box.
DcmUnsignedShort illumination
Module=Film_Box_Module, VR=US, VM=1, Type 2c required if presentation SOP class present.
OFString filmSessionInstanceUID
the current film session instance
const char * getMinDensity()
gets the (optional) min density.
OFCondition setImagePolarity(size_t idx, const char *value)
sets the polarity for the given registered image box.
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 ...
a class representing the DICOM value representation 'Unique Identifier' (UI)
DcmIntegerString seriesNumber
Module=General_Series, VR=IS, VM=1, Type 2.
const char * getMaxDensity()
gets the (optional) max density.
a class representing the DICOM value representation 'Person Name' (PN)
OFCondition setPrinterName(const char *name)
sets the application entity title of the print SCP.
OFCondition addPresentationLUTReference(DcmItem &dset)
writes a Referenced Presentation LUT SQ, Illumination and reflected ambient light to the given datase...
void updateCache()
updates the cached number of columns and rows
OFCondition printSCUcreateBasicFilmSession(DVPSPrintMessageHandler &printHandler, DcmDataset &dset, OFBool plutInSession)
Creates a DICOM Basic Film Session SOP Instance in the printer.
DcmCodeString filmOrientation
Module=Film_Box_Module, VR=CS, VM=1, Type 2.
virtual OFCondition clear()
clear the currently stored value
OFCondition setImageConfigurationInformation(size_t idx, const char *value)
sets the (optional) configuration information for the given registered image box. ...
OFCondition setDestination(const char *aetitle)
sets the application entity title of the print SCU.
DVPSStoredPrint(Uint16 illumin, Uint16 reflection, const char *aetitle=NULL)
constructor
DVPSPresentationLUT globalPresentationLUT
stores the "global" presentation LUT that overrides the image box LUTs (optional) ...
const char * getBorderDensity()
gets the (optional) border density.
OFCondition setResolutionID(const char *value)
sets the (optional) requested resolution ID.
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 matchesPresentationLUT(DVPSPrintPresentationLUTAlignment align) const
checks whether the given Presentation LUT type could be used together with all image boxes in this fi...
OFCondition setImageRequestedSize(size_t idx, const char *value)
sets the requested size for the given registered image box.
DVPSStoredPrint * clone()
clone method.
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...
OFCondition printSCUprintBasicFilmBox(DVPSPrintMessageHandler &printHandler)
Prints the current DICOM Basic Film Box SOP Instance.
DVPSImageBoxContent_PList imageBoxContentList
Module=Image_Box_List_Module, VR=SQ, VM=1, Type 1.
DcmShortString accessionNumber
Module=General_Study, VR=SH, VM=1, Type 2.
DcmDate instanceCreationDate
Module=SOP_Common, VR=DA, VM=1, Type 3.
unsigned long currentNumCols
current number of columns
OFCondition setMaxDensity(const char *value)
sets the (optional) max density.
OFBool usesPresentationLUT(const char *c)
checks whether the Presentation LUT with the given UID is referenced by this Stored Print object on t...
OFCondition deleteMultipleImages(size_t number)
deletes multiple of the registered images, starting with the first one.
void replace(DVPSImageBoxContent *newImageBox)
adds the given image box object to this list.
DcmUniqueIdentifier imageSeriesInstanceUID
used when creating hardcopy image objects
OFCondition addReferencedPLUTSQ(DcmItem &dset)
writes a Referenced Presentation LUT SQ to the given dataset.
void replaceImageBox(DVPSImageBoxContent *newImageBox)
adds the given image box object to the image box list.
const char * getResolutionID()
gets the (optional) requestes resolution ID
Configuration class for the Softcopy Presentation State viewer.
OFCondition setDefaultPresentationLUT()
resets the Presentation LUT to the default setting.
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.
DcmPersonName patientName
Module=Patient, VR=PN, VM=1, Type 1.
a class representing the DICOM value representation 'Date' (DA)
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 setFilmOrientation(DVPSFilmOrientation value)
sets the (optional) film orientation.
unsigned long getImageDisplayFormatColumns()
gets the number of columns of the current image display format.
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...
const char * getSeriesInstanceUID()
gets the Series Instance UID.
OFCondition setRequestedDecimateCropBehaviour(DVPSDecimateCropBehaviour value)
sets the (optional) requested decimate/crop behaviour for all image boxes managed by this stored prin...
Uint16 getPrintReflectedAmbientLight()
gets the current reflected ambient light setting used with the print Presentation LUT SOP Class...
const char * getSOPInstanceUID()
gets the SOP Instance UID.
DVPSStoredPrint & operator=(const DVPSStoredPrint &)
private undefined assignment operator
const char * getConfigurationInformation()
gets the (optional) configuration information.
Uint16 getPrintIllumination()
gets the current illumination setting used with the print Presentation LUT SOP Class.
void updatePresentationLUTList(DVPSPresentationLUT_PList &globalPresentationLUTList)
updates the list of Presentation LUTs managed by the Stored Print object from a global list...
DcmUnsignedShort maxDensity
Module=Film_Box_Module, VR=US, VM=1, Type 2.
OFBool imageHasAdditionalSettings(size_t idx)
checks if one of the registered images has additional settings that are not default values on the ima...
DcmUniqueIdentifier seriesInstanceUID
Module=General_Series, VR=UI, VM=1, Type 1.
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 give...
a class representing the DICOM value representation 'Short Text' (ST)
OFCondition setImageMagnificationType(size_t idx, const char *value)
sets the (optional) magnification type for the given registered image box.
DcmApplicationEntity destination
Module=Printer_Characteristics_Module, VR=AE, VM=1, Type 2.
OFCondition writeHardcopyImageAttributes(DcmItem &dset)
writes the general study and series module attributes for a grayscale hardcopy image that is related ...
const char * getImagePolarity(size_t idx)
gets the polarity for the given registered image box.
DcmShortText imageDisplayFormat
Module=Film_Box_Module, VR=ST, VM=1, Type 1.
const char * getSmoothingType()
gets the (optional) smoothing type.
OFBool emptyPageWarning()
checks whether any of the image boxes has an image box position assigned.
DcmCodeString annotationDisplayFormatID
Module=Film_Box_Module, VR=CS, VM=1, Type 3.
the representation of a Stored Print object
a class representing the DICOM value representation 'Long String' (LO)
a class representing the DICOM value representation 'Code String' (CS)
DVPSPresentationLUT * getPresentationLUT()
gets the "global" presentation LUT which overrides the settings for the image boxes.
OFCondition setMinDensity(const char *value)
sets the (optional) min density.
OFCondition setImagePolarity(size_t idx, const char *value)
sets the polarity for the given registered image box.
DcmTime instanceCreationTime
Module=SOP_Common, VR=TM, VM=1, Type 3.
DVPSImageBoxContent * duplicateImageBox(const char *uid)
looks up the image box with the given SOP instance UID in the image box list and returns a pointer to...
OFCondition setInstanceUID(const char *uid)
sets a new SOP Instance UID for the Stored Print object.
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 deleteImage(size_t idx)
deletes one of the registered images.
const char * getMagnificationType()
gets the (optional) magnification type.
Uint16 getMinDensityValue()
gets the (optional) min density.
OFBool renderPresentationLUTinSCP
presentation LUTs are rendered on SCP side
DcmShortString studyID
Module=General_Study, VR=SH, VM=1, Type 2.
OFCondition setImageDisplayFormat(unsigned long columns, unsigned long rows)
sets the image display format to 'STANDARD,rows'.
DVPSFilmOrientation getFilmOrientation()
gets the current film orientation.
DVPSDecimateCropBehaviour decimateCropBehaviour
requested decimate/crop behaviour used in all image boxes
const char * getImageRequestedSize(size_t idx)
gets the requested size for the given registered image box.
DcmApplicationEntity originator
Module=Printer_Characteristics_Module, VR=AE, VM=1, Type 2.
const char * getImageSmoothingType(size_t idx)
gets the (optional) smoothing type for the given registered image box.
the representation of a Presentation LUT Content SQ item for Stored Print
the list of presentation LUTs contained in a stored print object.
void clear()
reset the object to initial state.
void overridePresentationLUTSettings(DcmUnsignedShort &newIllumination, DcmUnsignedShort &newReflectedAmbientLight, DcmUniqueIdentifier &newReferencedPLUT, DVPSPrintPresentationLUTAlignment newAlignment)
replaces the settings for illumination, reflected ambient light and referenced Presentation LUT in th...
DVPSDecimateCropBehaviour getRequestedDecimateCropBehaviour()
gets the current requested decimate/crop behaviour setting that is used for all image boxes managed b...
a class representing the DICOM value representation 'Time' (TM)
DcmLongString patientID
Module=Patient, VR=LO, VM=1, Type 2.
a class representing the DICOM value representation 'Short String' (SH)
DcmPersonName referringPhysicianName
Module=General_Study, VR=PN, VM=1, Type 2.
the list of Annotations contained in a stored print object.
OFCondition printSCUgetPrinterInstance(DVPSPrintMessageHandler &printHandler)
Requests the properties of the printer (Printer SOP Instance N-GET).
const char * getDestination()
gets the the application entity title of the print SCP.
const char * getImagePolarity(size_t idx)
gets the polarity for the given registered image box.
OFCondition createDefaultValues()
create default values for all missing type 1 elements.
DcmCodeString smoothingType
Module=Film_Box_Module, VR=CS, VM=1, Type 3.
DcmLongString printerName
Module=Printer_Characteristics_Module, VR=LO, VM=1, Type 3.
void deleteAnnotations()
deletes all annotations, clears annotation display format.
OFCondition setPrintReflectedAmbientLight(Uint16 value)
sets the reflected ambient light to be used with the print Presentation LUT SOP Class.
the representation of a Image Box Content SQ item for Stored Print
DcmUniqueIdentifier sOPInstanceUID
Module=SOP_Common, VR=UI, VM=1, Type 1.
void clearInstanceUID()
clears the SOP instance UID for the Stored Print object.
a class representing the DICOM value representation 'Unsigned Short' (US)
OFBool transmitImagesIn12Bit
transmit images in 12 bit for the current print job
OFCondition setTrim(DVPSTrimMode value)
sets the (optional) trim (printing of borders).
DcmDate studyDate
Module=General_Study, VR=DA, VM=1, Type 2.
a class handling the DICOM dataset format (files without meta header)
OFCondition setSingleAnnotation(const char *displayformat, const char *text, Uint16 position)
deletes all existing annotations and creates a new one, with given text and position.
OFCondition setFilmSizeID(const char *value)
sets the (optional) film size ID.
DcmUnsignedShort minDensity
Module=Film_Box_Module, VR=US, VM=1, Type 3.
OFBool imageHasAdditionalSettings(size_t idx)
checks if one of the registered images has additional settings that are not default values on the ima...
OFCondition newPrinter(const char *name=NULL, const char *destinationAE=NULL)
deletes all optional attribute values that might not be supported by all printers.
the list of Image Boxes contained in a stored print object.
DVPSPrintPresentationLUTAlignment referencedPresentationLUTAlignment
The Print SCP can be configured to enforce a rule requiring that the number of entries in a Presentat...
unsigned long currentNumRows
current number of rows
OFCondition setEmtpyImageDensity(const char *value)
sets the (optional) empty image density.
OFCondition read(DcmItem &dset)
reads a Stored Print object from a DICOM dataset.
OFCondition setConfigurationInformation(const char *value)
sets the (optional) configuration information.
OFCondition setPresentationLookupTable(DcmItem &dset)
stores a presentation lookup table in the stored print object.
OFCondition setOriginator(const char *aetitle)
sets the name of the current printer.
OFBool isFilmBoxInstance(const char *c)
checks whether the given UID string matches the film box UID.
DcmCodeString patientSex
Module=Patient, VR=CS, VM=1, Type 2.
DVPSImageBoxContent * 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 ob...
DcmCodeString filmSizeID
Module=Film_Box_Module, VR=CS, VM=1, Type 2.
DVPSAnnotationContent_PList annotationContentList
Module=Annotation_List_Module, VR=SQ, VM=1, Type 3.
DcmIntegerString instanceNumber
Module=Film_Box_Module, VR=IS, VM=1, Type 2.
DcmCodeString requestedResolutionID
Module=Film_Box_Module (Supplement 38), VR=CS, VM=1, Type 3.
Interface class for dcmimgle/dcmimage module.
size_t size() const
gets the number of image boxes in this list.
OFString tempDensity
temporary buffer for getMaxDensity and getMinDensity
DcmLongString manufacturer
Module=General_Equipment, VR=LO, VM=1, Type 2.
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 printSCUprintBasicFilmSession(DVPSPrintMessageHandler &printHandler)
Prints the current DICOM Basic Film Session.
DVPSTrimMode getTrim()
gets the current trim mode.
DcmShortText configurationInformation
Module=Film_Box_Module, VR=ST, VM=1, Type 2.
OFBool currentValuesValid
flag indicating whether the currentXX values are up to date
OFCondition setBorderDensity(const char *value)
sets the (optional) border density.
OFCondition setImageConfigurationInformation(size_t idx, const char *value)
sets the (optional) configuration information for the given registered image box. ...
a simple string class that implements a subset of std::string.
size_t getNumberOfImages()
gets the number of images currently registered in this object.
OFCondition setImageRequestedSize(size_t idx, const char *value)
sets the requested size for the given registered image box.
OFBool emptyPageWarning()
checks whether any of the image boxes has an image box position assigned.
size_t getNumberOfAnnotations()
gets the number of annotations currently registered in this object.
const char * getImageConfigurationInformation(size_t idx)
gets the (optional) configuration information for the given registered image box. ...
size_t size() const
gets the number of annotations in this list.
DcmCodeString borderDensity
Module=Film_Box_Module, VR=CS, VM=1, Type 3.
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 ...
OFCondition deleteSpooledImages()
deletes as many images as fit on the current page according to the image display format settings...
OFCondition printSCUcreateBasicFilmBox(DVPSPrintMessageHandler &printHandler, OFBool plutInSession)
Creates a DICOM Basic Film Box SOP Instance in the printer.
const char * getPrinterName()
gets the name of the current printer.
OFString presentationLUTInstanceUID
the current presentation LUT instance.
OFCondition setImageSmoothingType(size_t idx, const char *value)
sets the (optional) smoothing type 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 * getEmtpyImageDensity()
gets the (optional) empty image density.
DVPSPresentationLUT * getImagePresentationLUT(size_t idx)
gets the presentation LUT for the given registered image box.
const char * getOriginator()
gets the the application entity title of the print SCU.
OFString filmBoxInstanceUID
the current film box instance
OFBool matchesPresentationLUT(DVPSPrintPresentationLUTAlignment align) const
checks whether the given Presentation LUT type could be used together with all image boxes in this li...
Uint16 getMaxDensityValue()
gets the (optional) max density.
a class representing the DICOM value representation 'Application Entity' (AE)
const char * getStudyInstanceUID()
gets the Study Instance UID.
DcmUniqueIdentifier studyInstanceUID
Module=General_Study, VR=UI, VM=1, Type 1.
OFCondition setPrintIllumination(Uint16 value)
sets the illumination to be used with the print Presentation LUT SOP Class.
DcmTime studyTime
Module=General_Study, VR=TM, VM=1, Type 2.
virtual ~DVPSStoredPrint()
destructor
DcmCodeString specificCharacterSet
Module=SOP_Common, VR=CS, VM=1-n, Type 1C.
OFCondition printSCUdelete(DVPSPrintMessageHandler &printHandler)
Deletes all objects currently present in the print association.
DcmCodeString emptyImageDensity
Module=Film_Box_Module, VR=CS, VM=1, Type 3.
DcmUnsignedShort reflectedAmbientLight
Module=Film_Box_Module, VR=US, VM=1, Type 2c required if presentation SOP class present.
OFCondition setPresentationLUTShape(DVPSPresentationLUTType shape)
sets the current Presentation LUT shape (overrides the image box settings).
unsigned long getImageDisplayFormatRows()
gets the number of rows of the current image display format.
OFCondition setSmoothingType(const char *value)
sets the (optional) smoothing type.
General purpose class for condition codes.
DcmCodeString trim
Module=Film_Box_Module, VR=CS, VM=1, Type 3.
const char * getFilmSizeID()
gets the (optional) film size ID.
representation of an association used for DICOM Basic Grayscale Print.