OFFIS DCMTK  Version 3.6.0
dvpssp.h
1 /*
2  *
3  * Copyright (C) 1999-2010, OFFIS e.V.
4  * All rights reserved. See COPYRIGHT file for details.
5  *
6  * This software and supporting documentation were developed by
7  *
8  * OFFIS e.V.
9  * R&D Division Health
10  * Escherweg 2
11  * D-26121 Oldenburg, Germany
12  *
13  *
14  * Module: dcmpstat
15  *
16  * Author: Marco Eichelberg
17  *
18  * Purpose:
19  * classes: DVPSStoredPrint
20  *
21  * Last Update: $Author: joergr $
22  * Update Date: $Date: 2010-10-14 13:16:36 $
23  * CVS/RCS Revision: $Revision: 1.42 $
24  * Status: $State: Exp $
25  *
26  * CVS/RCS Log at end of file
27  *
28  */
29 
30 
31 #ifndef DVPSSP_H
32 #define DVPSSP_H
33 
34 #include "dcmtk/config/osconfig.h" /* make sure OS specific configuration is included first */
35 
36 #include "dcmtk/ofstd/ofstream.h"
37 #include "dcmtk/ofstd/ofstring.h"
38 #include "dcmtk/dcmpstat/dvpstyp.h" /* for enum types */
39 #include "dcmtk/dcmpstat/dvpspll.h" /* for class DVPSPresentationLUT_PList */
40 #include "dcmtk/dcmpstat/dvpsibl.h" /* for class DVPSImageBoxContent_PList */
41 #include "dcmtk/dcmpstat/dvpsabl.h" /* for class DVPSAnnotationContent_PList */
42 #include "dcmtk/dcmpstat/dvpstat.h" /* for class DVPresentationState */
43 #include "dcmtk/dcmpstat/dvpspr.h" /* for class DVPrintMessageHandler */
44 
45 class DicomImage;
47 class DVConfiguration;
52 {
53  public:
59  DVPSStoredPrint(Uint16 illumin, Uint16 reflection, const char *aetitle = NULL);
60 
62  DVPSStoredPrint(const DVPSStoredPrint& copy);
63 
68  DVPSStoredPrint *clone() { return new DVPSStoredPrint(*this); }
69 
71  virtual ~DVPSStoredPrint();
72 
77  void clear();
78 
88  OFCondition read(DcmItem &dset);
89 
107  DcmItem &dset,
108  OFBool writeRequestedImageSize,
109  OFBool limitImages,
110  OFBool updateDecimateCrop,
111  OFBool ignoreEmptyImages);
112 
117  OFCondition setOriginator(const char *aetitle);
118 
122  OFCondition setDestination(const char *aetitle);
123 
127  OFCondition setPrinterName(const char *name);
128 
136  OFCondition setImageDisplayFormat(unsigned long columns, unsigned long rows);
137 
144  OFCondition setFilmSizeID(const char *value);
145 
152  OFCondition setMagnificationType(const char *value);
153 
160  OFCondition setSmoothingType(const char *value);
161 
168  OFCondition setConfigurationInformation(const char *value);
169 
176  OFCondition setResolutionID(const char *value);
177 
184  OFCondition setFilmOrientation(DVPSFilmOrientation value);
185 
192  OFCondition setTrim(DVPSTrimMode value);
193 
201  OFCondition setRequestedDecimateCropBehaviour(DVPSDecimateCropBehaviour value);
202 
209  OFCondition setBorderDensity(const char *value);
210 
217  OFCondition setEmtpyImageDensity(const char *value);
218 
225  OFCondition setMaxDensity(const char *value);
226 
233  OFCondition setMinDensity(const char *value);
234 
245  OFCondition newPrinter(const char *name = NULL, const char *destinationAE = NULL); // short cut, delete all optional settings
246 
250  const char *getOriginator();
254  const char *getDestination();
258  const char *getPrinterName();
259 
263  unsigned long getImageDisplayFormatColumns();
264 
268  unsigned long getImageDisplayFormatRows();
269 
273  DVPSFilmOrientation getFilmOrientation();
274 
278  DVPSTrimMode getTrim();
279 
284  DVPSDecimateCropBehaviour getRequestedDecimateCropBehaviour()
285  {
286  return decimateCropBehaviour;
287  }
288 
292  const char *getStudyInstanceUID();
293 
297  const char *getSeriesInstanceUID();
298 
302  const char *getSOPInstanceUID();
303 
307  const char *getFilmSizeID();
308 
312  const char *getMagnificationType();
313 
317  const char *getSmoothingType();
318 
322  const char *getConfigurationInformation();
323 
327  const char *getResolutionID();
328 
332  const char *getBorderDensity();
333 
337  const char *getEmtpyImageDensity();
338 
344  const char *getMaxDensity();
345 
351  const char *getMinDensity();
352 
356  Uint16 getMaxDensityValue();
357 
361  Uint16 getMinDensityValue();
362 
367  {
368  return imageBoxContentList.size();
369  }
370 
375  {
376  return annotationContentList.size();
377  }
378 
383  OFCondition deleteImage(size_t idx);
384 
390  OFCondition deleteMultipleImages(size_t number);
391 
399 
405  OFBool imageHasAdditionalSettings(size_t idx)
406  {
408  }
409 
415  OFCondition setImagePolarity(size_t idx, const char *value)
416  {
417  return imageBoxContentList.setImagePolarity(idx, value);
418  }
419 
425  OFCondition setImageRequestedSize(size_t idx, const char *value)
426  {
427  return imageBoxContentList.setImageRequestedSize(idx, value);
428  }
429 
437  OFCondition setImageMagnificationType(size_t idx, const char *value)
438  {
440  }
441 
449  OFCondition setImageSmoothingType(size_t idx, const char *value)
450  {
451  return imageBoxContentList.setImageSmoothingType(idx, value);
452  }
453 
461  OFCondition setImageConfigurationInformation(size_t idx, const char *value)
462  {
464  }
465 
470  const char *getImagePolarity(size_t idx)
471  {
473  }
474 
479  const char *getImageRequestedSize(size_t idx)
480  {
482  }
483 
488  const char *getImageMagnificationType(size_t idx)
489  {
491  }
492 
497  const char *getImageSmoothingType(size_t idx)
498  {
500  }
501 
506  const char *getImageConfigurationInformation(size_t idx)
507  {
509  }
510 
517 
523 
529 
535  OFCondition setPresentationLUTShape(DVPSPresentationLUTType shape);
536 
546 
555  Sint32 convertODtoPValue(Uint16 density, unsigned int bits = 8);
556 
565 
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,
586  DVPSPresentationLUT *presentationlut,
587  OFBool inversePLUT);
588 
602  const char *retrieveaetitle,
603  const char *refsopinstanceuid,
604  const char *requestedimagesize=NULL,
605  const char *patientid=NULL,
606  DVPSPresentationLUT *presentationlut=NULL,
607  OFBool inversePLUT=OFFalse);
608 
619  const char *displayformat,
620  const char *text,
621  Uint16 position);
622 
625  void deleteAnnotations();
626 
631  OFCondition setInstanceUID(const char *uid);
632 
637 
645  OFCondition getImageReference(size_t idx, const char *&studyUID, const char *&seriesUID, const char *&instanceUID)
646  {
647  return imageBoxContentList.getImageReference(idx, studyUID, seriesUID, instanceUID);
648  }
649 
655  DVPSPrintPresentationLUTAlignment getReferencedPresentationLUTAlignment() { return referencedPresentationLUTAlignment; }
656 
664 
676  DVPSPrintMessageHandler& printHandler,
677  OFBool printerRequiresMatchingLUT,
678  OFBool printerLUTRenderingPreferred,
679  OFBool printerSupports12Bit);
680 
689  DVPSPrintMessageHandler& printHandler,
690  DcmDataset& dset,
691  OFBool plutInSession);
692 
701  OFCondition printSCUcreateBasicFilmBox(DVPSPrintMessageHandler& printHandler, OFBool plutInSession);
702 
713  DVPSPrintMessageHandler& printHandler,
714  size_t idx,
715  DicomImage& image,
716  OFBool useMonochrome1=OFFalse);
717 
725  DVPSPrintMessageHandler& printHandler,
726  size_t idx);
727 
733 
739 
745 
753  OFCondition setPrintIllumination(Uint16 value);
754 
759  Uint16 getPrintIllumination();
760 
769 
775 
800  OFBool printSCPCreate(
801  DVConfiguration& cfg,
802  const char *cfgname,
803  DcmDataset *rqDataset,
804  T_DIMSE_Message& rsp,
805  DcmDataset *& rspDataset,
806  OFBool presentationLUTnegotiated,
807  DVPSPresentationLUT_PList& globalPresentationLUTList,
808  const char *filmSessionUID,
809  DcmUniqueIdentifier& study,
810  DcmUniqueIdentifier& psSeries,
811  DcmUniqueIdentifier& imgSeries);
812 
829  OFBool printSCPSet(
830  DVConfiguration& cfg,
831  const char *cfgname,
832  DcmDataset *rqDataset,
833  T_DIMSE_Message& rsp,
834  DcmDataset *& rspDataset,
835  OFBool presentationLUTnegotiated,
836  DVPSPresentationLUT_PList& globalPresentationLUTList);
837 
842  OFBool isFilmBoxInstance(const char *c) { if (c && (filmBoxInstanceUID == c)) return OFTrue; else return OFFalse; }
843 
850  OFBool usesPresentationLUT(const char *c);
851 
859 
867  OFBool haveImagePositionClash(const char *uid, Uint16 position) { return imageBoxContentList.haveImagePositionClash(uid, position); }
868 
874  void replaceImageBox(DVPSImageBoxContent *newImageBox) { imageBoxContentList.replace(newImageBox); }
875 
883  void updatePresentationLUTList(DVPSPresentationLUT_PList& globalPresentationLUTList);
884 
891  OFBool matchesPresentationLUT(DVPSPrintPresentationLUTAlignment align) const
892  {
894  }
895 
906  DcmUnsignedShort& newIllumination,
907  DcmUnsignedShort& newReflectedAmbientLight,
908  DcmUniqueIdentifier& newReferencedPLUT,
909  DVPSPrintPresentationLUTAlignment newAlignment);
910 
918 
919  private:
920 
923 
924  /* checks if given SOP class UID is an image storage SOP class
925  * @return OFTrue if image SOP class, OFFalse otherwise.
926  */
927  OFBool isImageStorageSOPClass(OFString& sopclassuid);
928 
934 
941 
950 
953  void invalidateCache();
954 
957  void updateCache();
958 
959  /* Module: Patient (M)
960  */
969 
970  /* Module: General Study (M)
971  */
984 
985  /* Module: General Series (M)
986  */
991 
992  /* Module: General Equipment (M)
993  */
996 
997  /* Module: Printer Characteristics (M)
998  */
999  // the PrintManagementCapabilitiesSequence is only created/checked on the fly
1000 
1001  // PrinterCharacteristicsSequence
1008 
1009  /* Module: Film Box (M)
1010  */
1013  /* the following attributes belong to the Film Box Content SQ (Type 1) */
1046 
1052  DVPSPrintPresentationLUTAlignment referencedPresentationLUTAlignment;
1053 
1054  /* Module: Image Box List (M)
1055  */
1058 
1059  /* Module: Annotation List (U)
1060  */
1063 
1064  /* Module: Presentation LUT List (U)
1065  */
1066  DVPSPresentationLUT_PList presentationLUTList;
1067 
1068  /* Module: SOP Common (M)
1069  * we don't store the SOP Class UID because it is well known.
1070  */
1079 
1082 
1086  unsigned long currentNumCols;
1088  unsigned long currentNumRows;
1089 
1091  DVPSDecimateCropBehaviour decimateCropBehaviour;
1092 
1095 
1098 
1106 
1109 
1112 
1115 
1118 
1121 
1122 };
1123 
1124 #endif
1125 
1126 /*
1127  * $Log: dvpssp.h,v $
1128  * Revision 1.42 2010-10-14 13:16:36 joergr
1129  * Updated copyright header. Added reference to COPYRIGHT file.
1130  *
1131  * Revision 1.41 2010-08-09 13:20:50 joergr
1132  * Updated data dictionary to 2009 edition of the DICOM standard. From now on,
1133  * the official "keyword" is used for the attribute name which results in a
1134  * number of minor changes (e.g. "PatientsName" is now called "PatientName").
1135  *
1136  * Revision 1.40 2009-11-24 14:12:57 uli
1137  * Switched to logging mechanism provided by the "new" oflog module.
1138  *
1139  * Revision 1.39 2009-09-30 10:42:38 uli
1140  * Make dcmpstat's include headers self-sufficient by including all
1141  * needed headers directly and stop using dctk.h
1142  *
1143  * Revision 1.38 2005-12-08 16:04:03 meichel
1144  * Changed include path schema for all DCMTK header files
1145  *
1146  * Revision 1.37 2004/02/04 15:49:09 joergr
1147  * Removed acknowledgements with e-mail addresses from CVS log. Removed leading
1148  * underscore characters from preprocessor symbols (reserved symbols).
1149  *
1150  * Revision 1.36 2002/04/16 14:02:03 joergr
1151  * Added configurable support for C++ ANSI standard includes (e.g. streams).
1152  *
1153  * Revision 1.35 2001/09/26 15:36:15 meichel
1154  * Adapted dcmpstat to class OFCondition
1155  *
1156  * Revision 1.34 2001/06/01 15:50:21 meichel
1157  * Updated copyright header
1158  *
1159  * Revision 1.33 2000/07/18 16:03:44 joergr
1160  * Moved method convertODtoLum/PValue from class DVInterface to DVPSStoredPrint
1161  * and corrected implementation.
1162  * Changed behaviour of methods getMin/MaxDensityValue (return default value if
1163  * attribute empty/absent).
1164  *
1165  * Revision 1.32 2000/07/07 14:14:24 joergr
1166  * Added support for LIN OD presentation LUT shape.
1167  *
1168  * Revision 1.31 2000/07/05 12:33:29 joergr
1169  * Corrected documentation of one method.
1170  *
1171  * Revision 1.30 2000/07/04 15:58:03 joergr
1172  * Added support for overriding the presentation LUT settings made for the
1173  * image boxes.
1174  *
1175  * Revision 1.29 2000/06/20 14:50:08 meichel
1176  * Added monochrome1 printing mode.
1177  *
1178  * Revision 1.28 2000/06/19 16:29:07 meichel
1179  * Added options for session printing and LIN OD to print tools, fixed
1180  * pixel aspect ratio related bug.
1181  *
1182  * Revision 1.27 2000/06/14 11:28:15 joergr
1183  * Added methods to access the attributes Polarity and Requested Image Size.
1184  *
1185  * Revision 1.26 2000/06/08 10:44:29 meichel
1186  * Implemented Referenced Presentation LUT Sequence on Basic Film Session level.
1187  * Empty film boxes (pages) are not written to file anymore.
1188  *
1189  * Revision 1.25 2000/06/07 14:23:09 joergr
1190  * Added methods to access the image polarity attribute.
1191  * Added missing transformations (polarity, GSDF, presentation LUT, aspect
1192  * ratio) to print preview rendering.
1193  *
1194  * Revision 1.24 2000/06/07 13:17:46 meichel
1195  * added binary and textual log facilities to Print SCP.
1196  *
1197  * Revision 1.23 2000/06/02 16:00:51 meichel
1198  * Adapted all dcmpstat classes to use OFConsole for log and error output
1199  *
1200  * Revision 1.22 2000/05/31 12:56:39 meichel
1201  * Added initial Print SCP support
1202  *
1203  * Revision 1.21 2000/05/31 07:54:24 joergr
1204  * Added support for Stored Print attributes Originator and Destination
1205  * application entity title.
1206  *
1207  * Revision 1.20 2000/05/30 13:42:09 joergr
1208  * Added methods to set, get and store the printer name in the stored print
1209  * object (PrinterCharacteristicsSequence).
1210  *
1211  * Revision 1.19 2000/03/08 16:28:56 meichel
1212  * Updated copyright header.
1213  *
1214  * Revision 1.18 2000/03/03 14:13:55 meichel
1215  * Implemented library support for redirecting error messages into memory
1216  * instead of printing them to stdout/stderr for GUI applications.
1217  *
1218  * Revision 1.17 2000/02/29 12:16:16 meichel
1219  * Fixed bug in dcmpstat library that caused Monochrome1 images
1220  * to be printed inverse if a Presentation LUT was applied.
1221  *
1222  * Revision 1.16 1999/10/19 14:46:04 meichel
1223  * added support for the Basic Annotation Box SOP Class
1224  * as well as access methods for Max Density and Min Density.
1225  *
1226  * Revision 1.15 1999/10/13 14:11:12 meichel
1227  * Fixed bug in routine that renders P-LUTs into a print bitmap
1228  * before sending an image to the printer
1229  *
1230  * Revision 1.14 1999/10/07 17:21:50 meichel
1231  * Reworked management of Presentation LUTs in order to create tighter
1232  * coupling between Softcopy and Print.
1233  *
1234  * Revision 1.13 1999/09/24 15:24:30 meichel
1235  * Added support for CP 173 (Presentation LUT clarifications)
1236  *
1237  * Revision 1.12 1999/09/17 14:33:59 meichel
1238  * Completed print spool functionality including Supplement 22 support
1239  *
1240  * Revision 1.11 1999/09/15 17:43:29 meichel
1241  * Implemented print job dispatcher code for dcmpstat, adapted dcmprtsv
1242  * and dcmpsprt applications.
1243  *
1244  * Revision 1.10 1999/09/13 15:19:10 meichel
1245  * Added implementations for a number of further print API methods.
1246  *
1247  * Revision 1.9 1999/09/10 12:46:47 meichel
1248  * Added implementations for a number of print API methods.
1249  *
1250  * Revision 1.8 1999/09/09 14:57:33 thiel
1251  * Added methods for print spooler
1252  *
1253  * Revision 1.7 1999/09/09 12:20:47 meichel
1254  * Added print API method declarations and implementations (empty for now).
1255  *
1256  * Revision 1.6 1999/09/08 16:46:44 meichel
1257  * Added print API method declarations
1258  *
1259  * Revision 1.5 1999/09/01 16:14:41 meichel
1260  * Added support for requested image size to print routines
1261  *
1262  * Revision 1.4 1999/08/31 14:09:12 meichel
1263  * Added get/set methods for stored print attributes
1264  *
1265  * Revision 1.3 1999/08/27 15:57:57 meichel
1266  * Added methods for saving hardcopy images and stored print objects
1267  * either in file or in the local database.
1268  *
1269  * Revision 1.2 1999/08/26 09:31:00 thiel
1270  * Add extensions for the usage of the StoredPrint
1271  *
1272  * Revision 1.1 1999/07/30 13:34:50 meichel
1273  * Added new classes managing Stored Print objects
1274  *
1275  *
1276  */
DcmDate patientBirthDate
Module=Patient, VR=DA, VM=1, Type 2.
Definition: dvpssp.h:966
a class representing the DICOM value representation 'Integer String' (IS)
Definition: dcvris.h:39
const char * getImageConfigurationInformation(size_t idx)
gets the (optional) configuration information for the given registered image box. ...
Definition: dvpssp.h:506
DcmUniqueIdentifier referencedPresentationLUTInstanceUID
the ReferencedPresentationLUTSequence is only created/read on the fly
Definition: dvpssp.h:1045
const char * getImageRequestedSize(size_t idx)
gets the requested size for the given registered image box.
Definition: dvpssp.h:479
a class representing a list of DICOM elements in which each element has a different tag and elements ...
Definition: dcitem.h:51
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...
Definition: dvpssp.h:655
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.
Definition: dvpssp.h:1023
const char * getImageSmoothingType(size_t idx)
gets the (optional) smoothing type for the given registered image box.
Definition: dvpssp.h:497
OFBool globalPresentationLUTValid
flag indicating whether the globalPresentationLUT is currently valid or not
Definition: dvpssp.h:1111
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.
Definition: dvpssp.h:488
DcmUnsignedShort illumination
Module=Film_Box_Module, VR=US, VM=1, Type 2c required if presentation SOP class present.
Definition: dvpssp.h:1039
OFString filmSessionInstanceUID
the current film session instance
Definition: dvpssp.h:1094
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)
Definition: dcvrui.h:39
DcmIntegerString seriesNumber
Module=General_Series, VR=IS, VM=1, Type 2.
Definition: dvpssp.h:990
const char * getMaxDensity()
gets the (optional) max density.
a class representing the DICOM value representation 'Person Name' (PN)
Definition: dcvrpn.h:40
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.
Definition: dvpssp.h:1019
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) ...
Definition: dvpssp.h:1108
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...
Definition: dvpssp.h:891
OFCondition setImageRequestedSize(size_t idx, const char *value)
sets the requested size for the given registered image box.
DVPSStoredPrint * clone()
clone method.
Definition: dvpssp.h:68
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.
Definition: dvpssp.h:1057
DcmShortString accessionNumber
Module=General_Study, VR=SH, VM=1, Type 2.
Definition: dvpssp.h:983
DcmDate instanceCreationDate
Module=SOP_Common, VR=DA, VM=1, Type 3.
Definition: dvpssp.h:1076
unsigned long currentNumCols
current number of columns
Definition: dvpssp.h:1086
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
Definition: dvpssp.h:1081
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.
Definition: dvpssp.h:874
const char * getResolutionID()
gets the (optional) requestes resolution ID
Configuration class for the Softcopy Presentation State viewer.
Definition: dvpscf.h:46
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.
Definition: dvpssp.h:962
a class representing the DICOM value representation 'Date' (DA)
Definition: dcvrda.h:40
OFCondition setImageMagnificationType(size_t idx, const char *value)
sets the (optional) magnification type for the given registered image box.
Definition: dvpssp.h:437
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.
Definition: dvpssp.h:1033
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.
Definition: dvpssp.h:988
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...
Definition: dvpssp.h:867
a class representing the DICOM value representation 'Short Text' (ST)
Definition: dcvrst.h:40
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.
Definition: dvpssp.h:1005
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.
Definition: dvpssp.h:1015
const char * getSmoothingType()
gets the (optional) smoothing type.
OFBool emptyPageWarning()
checks whether any of the image boxes has an image box position assigned.
Definition: dvpssp.h:917
DcmCodeString annotationDisplayFormatID
Module=Film_Box_Module, VR=CS, VM=1, Type 3.
Definition: dvpssp.h:1017
the representation of a Stored Print object
Definition: dvpssp.h:51
a class representing the DICOM value representation 'Long String' (LO)
Definition: dcvrlo.h:40
a class representing the DICOM value representation 'Code String' (CS)
Definition: dcvrcs.h:40
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.
Definition: dvpssp.h:415
DcmTime instanceCreationTime
Module=SOP_Common, VR=TM, VM=1, Type 3.
Definition: dvpssp.h:1078
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...
Definition: dvpssp.h:858
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
Definition: dvpssp.h:1117
DcmShortString studyID
Module=General_Study, VR=SH, VM=1, Type 2.
Definition: dvpssp.h:981
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
Definition: dvpssp.h:1091
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.
Definition: dvpssp.h:1003
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
Definition: dvpspl.h:48
the list of presentation LUTs contained in a stored print object.
Definition: dvpspll.h:46
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...
Definition: dvpssp.h:284
a class representing the DICOM value representation 'Time' (TM)
Definition: dcvrtm.h:41
DcmLongString patientID
Module=Patient, VR=LO, VM=1, Type 2.
Definition: dvpssp.h:964
a class representing the DICOM value representation 'Short String' (SH)
Definition: dcvrsh.h:40
DcmPersonName referringPhysicianName
Module=General_Study, VR=PN, VM=1, Type 2.
Definition: dvpssp.h:979
the list of Annotations contained in a stored print object.
Definition: dvpsabl.h:44
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.
Definition: dvpssp.h:470
OFCondition createDefaultValues()
create default values for all missing type 1 elements.
DcmCodeString smoothingType
Module=Film_Box_Module, VR=CS, VM=1, Type 3.
Definition: dvpssp.h:1025
DcmLongString printerName
Module=Printer_Characteristics_Module, VR=LO, VM=1, Type 3.
Definition: dvpssp.h:1007
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
Definition: dvpsib.h:45
DcmUniqueIdentifier sOPInstanceUID
Module=SOP_Common, VR=UI, VM=1, Type 1.
Definition: dvpssp.h:1072
void clearInstanceUID()
clears the SOP instance UID for the Stored Print object.
Definition: dvpssp.h:636
a class representing the DICOM value representation 'Unsigned Short' (US)
Definition: dcvrus.h:40
OFBool transmitImagesIn12Bit
transmit images in 12 bit for the current print job
Definition: dvpssp.h:1114
OFCondition setTrim(DVPSTrimMode value)
sets the (optional) trim (printing of borders).
DcmDate studyDate
Module=General_Study, VR=DA, VM=1, Type 2.
Definition: dvpssp.h:975
a class handling the DICOM dataset format (files without meta header)
Definition: dcdatset.h:46
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.
Definition: dvpssp.h:1031
OFBool imageHasAdditionalSettings(size_t idx)
checks if one of the registered images has additional settings that are not default values on the ima...
Definition: dvpssp.h:405
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.
Definition: dvpsibl.h:46
DVPSPrintPresentationLUTAlignment referencedPresentationLUTAlignment
The Print SCP can be configured to enforce a rule requiring that the number of entries in a Presentat...
Definition: dvpssp.h:1052
unsigned long currentNumRows
current number of rows
Definition: dvpssp.h:1088
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.
Definition: dvpssp.h:842
DcmCodeString patientSex
Module=Patient, VR=CS, VM=1, Type 2.
Definition: dvpssp.h:968
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.
Definition: dvpssp.h:1021
DVPSAnnotationContent_PList annotationContentList
Module=Annotation_List_Module, VR=SQ, VM=1, Type 3.
Definition: dvpssp.h:1062
DcmIntegerString instanceNumber
Module=Film_Box_Module, VR=IS, VM=1, Type 2.
Definition: dvpssp.h:1012
DcmCodeString requestedResolutionID
Module=Film_Box_Module (Supplement 38), VR=CS, VM=1, Type 3.
Definition: dvpssp.h:1043
Interface class for dcmimgle/dcmimage module.
Definition: dcmimage.h:64
size_t size() const
gets the number of image boxes in this list.
Definition: dvpsibl.h:106
OFString tempDensity
temporary buffer for getMaxDensity and getMinDensity
Definition: dvpssp.h:1120
DcmLongString manufacturer
Module=General_Equipment, VR=LO, VM=1, Type 2.
Definition: dvpssp.h:995
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.
Definition: dvpssp.h:1037
OFBool currentValuesValid
flag indicating whether the currentXX values are up to date
Definition: dvpssp.h:1084
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. ...
Definition: dvpssp.h:461
a simple string class that implements a subset of std::string.
Definition: ofstring.h:86
size_t getNumberOfImages()
gets the number of images currently registered in this object.
Definition: dvpssp.h:366
OFCondition setImageRequestedSize(size_t idx, const char *value)
sets the requested size for the given registered image box.
Definition: dvpssp.h:425
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.
Definition: dvpssp.h:374
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.
Definition: dvpsabl.h:90
DcmCodeString borderDensity
Module=Film_Box_Module, VR=CS, VM=1, Type 3.
Definition: dvpssp.h:1027
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 ...
Definition: dvpssp.h:645
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.
Definition: dvpssp.h:1105
OFCondition setImageSmoothingType(size_t idx, const char *value)
sets the (optional) smoothing type for the given registered image box.
Definition: dvpssp.h:449
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
Definition: dvpssp.h:1097
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)
Definition: dcvrae.h:40
const char * getStudyInstanceUID()
gets the Study Instance UID.
DcmUniqueIdentifier studyInstanceUID
Module=General_Study, VR=UI, VM=1, Type 1.
Definition: dvpssp.h:973
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.
Definition: dvpssp.h:977
virtual ~DVPSStoredPrint()
destructor
DcmCodeString specificCharacterSet
Module=SOP_Common, VR=CS, VM=1-n, Type 1C.
Definition: dvpssp.h:1074
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.
Definition: dvpssp.h:1029
DcmUnsignedShort reflectedAmbientLight
Module=Film_Box_Module, VR=US, VM=1, Type 2c required if presentation SOP class present.
Definition: dvpssp.h:1041
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.
Definition: ofcond.h:305
DcmCodeString trim
Module=Film_Box_Module, VR=CS, VM=1, Type 3.
Definition: dvpssp.h:1035
const char * getFilmSizeID()
gets the (optional) film size ID.
representation of an association used for DICOM Basic Grayscale Print.
Definition: dvpspr.h:66


Generated on Wed Dec 28 2016 for OFFIS DCMTK Version 3.6.0 by Doxygen 1.8.8