📄 dvpssp.h
字号:
/* * * Copyright (C) 1999-2005, OFFIS * * This software and supporting documentation were developed by * * Kuratorium OFFIS e.V. * Healthcare Information and Communication Systems * Escherweg 2 * D-26121 Oldenburg, Germany * * THIS SOFTWARE IS MADE AVAILABLE, AS IS, AND OFFIS MAKES NO WARRANTY * REGARDING THE SOFTWARE, ITS PERFORMANCE, ITS MERCHANTABILITY OR * FITNESS FOR ANY PARTICULAR USE, FREEDOM FROM ANY COMPUTER DISEASES OR * ITS CONFORMITY TO ANY SPECIFICATION. THE ENTIRE RISK AS TO QUALITY AND * PERFORMANCE OF THE SOFTWARE IS WITH THE USER. * * Module: dcmpstat * * Author: Marco Eichelberg * * Purpose: * classes: DVPSStoredPrint * * Last Update: $Author: meichel $ * Update Date: $Date: 2005/12/08 16:04:03 $ * CVS/RCS Revision: $Revision: 1.38 $ * Status: $State: Exp $ * * CVS/RCS Log at end of file * */#ifndef DVPSSP_H#define DVPSSP_H#include "dcmtk/config/osconfig.h" /* make sure OS specific configuration is included first */#include "dcmtk/ofstd/ofstream.h"#include "dcmtk/ofstd/ofstring.h"#include "dcmtk/dcmdata/dctk.h"#include "dcmtk/dcmpstat/dvpstyp.h" /* for enum types */#include "dcmtk/dcmpstat/dvpspll.h" /* for class DVPSPresentationLUT_PList */#include "dcmtk/dcmpstat/dvpsibl.h" /* for class DVPSImageBoxContent_PList */#include "dcmtk/dcmpstat/dvpsabl.h" /* for class DVPSAnnotationContent_PList */#include "dcmtk/dcmpstat/dvpstat.h" /* for class DVPresentationState */#include "dcmtk/dcmpstat/dvpspr.h" /* for class DVPrintMessageHandler */class DicomImage;class DVPSPresentationLUT;class DVConfiguration;/** the representation of a Stored Print object */class DVPSStoredPrint{ public: /** constructor * @param illumin default Illumination setting * @param reflection default Reflected Ambient Light setting * @param aetitle application entity title of the print originator (SCU) */ DVPSStoredPrint(Uint16 illumin, Uint16 reflection, const char *aetitle = NULL); /// copy constructor DVPSStoredPrint(const DVPSStoredPrint& copy); /** clone method. * @return a pointer to a new DVPSStoredPrint object containing * a copy of this object. */ DVPSStoredPrint *clone() { return new DVPSStoredPrint(*this); } /// destructor virtual ~DVPSStoredPrint(); /** reset the object to initial state. * After this call, the object is in the same state as after * creation with the default constructor. */ void clear(); /** 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. * @param dset the dataset from which the data is to be read * @return EC_Normal if successful, an error code otherwise. */ OFCondition read(DcmItem &dset); /** writes the Stored Print object to a DICOM dataset. * Copies of the DICOM elements managed by this object are inserted into * the DICOM dataset. * @param dset the dataset to which the data is written * @param writeRequestedImageSize if false, the Requested Image Size attributes are not written, * e. g. because they are not supported by the target printer. * @param limitImages if 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. * @param updateDecimateCrop if 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. * @param ignoreEmptyImages if true, all image boxes without image box position are ignored * when writing. * @return EC_Normal if successful, an error code otherwise. */ OFCondition write( DcmItem &dset, OFBool writeRequestedImageSize, OFBool limitImages, OFBool updateDecimateCrop, OFBool ignoreEmptyImages); /** sets the name of the current printer. * This name is identical to the unique entry used in the configuration file. * @return name of the current printer */ OFCondition setOriginator(const char *aetitle); /** sets the application entity title of the print SCU. * @return application entity title of the print SCU */ OFCondition setDestination(const char *aetitle); /** sets the application entity title of the print SCP. * @return application entity title of the print SCP */ OFCondition setPrinterName(const char *name); /** sets the image display format to 'STANDARD\columns,rows'. * The caller must make sure that the column and row values are * valid for the selected printer. * @param columns number of columns * @param rows number of rows * @return EC_Normal if successful, an error code otherwise. */ OFCondition setImageDisplayFormat(unsigned long columns, unsigned long rows); /** sets the (optional) film size ID. * @param value new attribute value, may be NULL. * The caller is responsible for making sure * that the value is valid for the selected printer. * @return EC_Normal if successful, an error code otherwise. */ OFCondition setFilmSizeID(const char *value); /** sets the (optional) magnification type. * @param value new attribute value, may be NULL. * The caller is responsible for making sure * that the value is valid for the selected printer. * @return EC_Normal if successful, an error code otherwise. */ OFCondition setMagnificationType(const char *value); /** sets the (optional) smoothing type. * @param value new attribute value, may be NULL. * The caller is responsible for making sure * that the value is valid for the selected printer. * @return EC_Normal if successful, an error code otherwise. */ OFCondition setSmoothingType(const char *value); /** sets the (optional) configuration information. * @param value new attribute value, may be NULL. * The caller is responsible for making sure * that the value is valid for the selected printer. * @return EC_Normal if successful, an error code otherwise. */ OFCondition setConfigurationInformation(const char *value); /** sets the (optional) requested resolution ID. * @param value new attribute value, may be NULL. * The caller is responsible for making sure * that the value is valid for the selected printer. * @return EC_Normal if successful, an error code otherwise. */ OFCondition setResolutionID(const char *value); /** sets the (optional) film orientation. * @param value new enumerated value. The caller is responsible for * making sure that the selected printer supports film orientation * if a non-default value is set. * @return EC_Normal if successful, an error code otherwise. */ OFCondition setFilmOrientation(DVPSFilmOrientation value); /** sets the (optional) trim (printing of borders). * @param value new enumerated value. The caller is responsible for * making sure that the selected printer supports trim * if a non-default value is set. * @return EC_Normal if successful, an error code otherwise. */ OFCondition setTrim(DVPSTrimMode value); /** sets the (optional) requested decimate/crop behaviour * for all image boxes managed by this stored print object. * @param value new enumerated value. The caller is responsible for * making sure that the selected printer supports decimate/crop * if a non-default value is set. * @return EC_Normal if successful, an error code otherwise. */ OFCondition setRequestedDecimateCropBehaviour(DVPSDecimateCropBehaviour value); /** sets the (optional) border density. * @param value new attribute value, may be NULL. * The caller is responsible for making sure * that the value is valid for the selected printer. * @return EC_Normal if successful, an error code otherwise. */ OFCondition setBorderDensity(const char *value); /** sets the (optional) empty image density. * @param value new attribute value, may be NULL. * The caller is responsible for making sure * that the value is valid for the selected printer. * @return EC_Normal if successful, an error code otherwise. */ OFCondition setEmtpyImageDensity(const char *value); /** sets the (optional) max density. * @param value new attribute value, may be NULL. * The caller is responsible for making sure * that the value is valid for the selected printer. * @return EC_Normal if successful, an error code otherwise. */ OFCondition setMaxDensity(const char *value); /** sets the (optional) min density. * @param value new attribute value, may be NULL. * The caller is responsible for making sure * that the value is valid for the selected printer. * @return EC_Normal if successful, an error code otherwise. */ OFCondition setMinDensity(const char *value); /** 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. * @param name name of the new printer (optional) * @param aetitle of the new printer (optional) * @return EC_Normal if successful, an error code otherwise. */ OFCondition newPrinter(const char *name = NULL, const char *destinationAE = NULL); // short cut, delete all optional settings /** gets the the application entity title of the print SCU. * @return application entity title of the print SCP */ const char *getOriginator(); /** gets the the application entity title of the print SCP. * @return application entity title of the print SCP */ const char *getDestination(); /** gets the name of the current printer. * @return name of the current printer */ const char *getPrinterName(); /** gets the number of columns of the current image display format. * @return number of columns. */ unsigned long getImageDisplayFormatColumns(); /** gets the number of rows of the current image display format. * @return number of rows. */ unsigned long getImageDisplayFormatRows(); /** gets the current film orientation. * @return film orientation. */ DVPSFilmOrientation getFilmOrientation(); /** gets the current trim mode. * @return trim mode. */ DVPSTrimMode getTrim(); /** gets the current requested decimate/crop behaviour setting * that is used for all image boxes managed by this object. * @return requested decimate/crop behaviour */ DVPSDecimateCropBehaviour getRequestedDecimateCropBehaviour() { return decimateCropBehaviour; } /** gets the Study Instance UID. * @return Study Instance UID, may be NULL. */ const char *getStudyInstanceUID(); /** gets the Series Instance UID. * @return Series Instance UID, may be NULL. */ const char *getSeriesInstanceUID(); /** gets the SOP Instance UID. * @return SOP Instance UID, may be NULL. */ const char *getSOPInstanceUID(); /** gets the (optional) film size ID. * @return film size ID, may be NULL. */ const char *getFilmSizeID(); /** gets the (optional) magnification type. * @return magnification type, may be NULL. */ const char *getMagnificationType(); /** gets the (optional) smoothing type. * @return smoothing type, may be NULL. */ const char *getSmoothingType();
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -