OFFIS DCMTK  Version 3.6.0
dvpsib.h
1 /*
2  *
3  * Copyright (C) 1998-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: DVPSImageBoxContent
20  *
21  * Last Update: $Author: joergr $
22  * Update Date: $Date: 2010-10-14 13:16:36 $
23  * CVS/RCS Revision: $Revision: 1.24 $
24  * Status: $State: Exp $
25  *
26  * CVS/RCS Log at end of file
27  *
28  */
29 
30 #ifndef DVPSIB_H
31 #define DVPSIB_H
32 
33 #include "dcmtk/config/osconfig.h" /* make sure OS specific configuration is included first */
34 #include "dcmtk/ofstd/ofstring.h"
35 #include "dcmtk/dcmdata/dctk.h"
36 #include "dcmtk/dcmpstat/dvpstyp.h" /* for enum types */
37 #include "dcmtk/dcmnet/dimse.h"
38 
40 class DVConfiguration;
41 
46 {
47 public:
50 
53 
58  DVPSImageBoxContent *clone() { return new DVPSImageBoxContent(*this); }
59 
61  virtual ~DVPSImageBoxContent();
62 
67  void clear();
68 
79  OFCondition read(DcmItem &dset, DVPSPresentationLUT_PList& presentationLUTList);
80 
91  OFCondition write(DcmItem &dset, OFBool writeRequestedImageSize, OFBool writeReferencedPLUTSQ = OFTrue);
92 
100  OFCondition createDefaultValues(OFBool renumber, unsigned long number, OFBool ignoreEmptyImages);
101 
105  const char *getSOPClassUID();
106 
120  const char *instanceuid,
121  const char *retrieveaetitle,
122  const char *refstudyuid,
123  const char *refseriesuid,
124  const char *refsopclassuid,
125  const char *refsopinstanceuid,
126  const char *requestedimagesize,
127  const char *patientid,
128  const char *presentationlutreference);
129 
136  OFCondition setRequestedDecimateCropBehaviour(DVPSDecimateCropBehaviour value);
137 
142  DVPSDecimateCropBehaviour getRequestedDecimateCropBehaviour();
143 
148  OFBool hasAdditionalSettings();
149 
154 
158  const char *getPolarity();
159 
163  const char *getRequestedImageSize();
164 
168  const char *getMagnificationType();
169 
173  const char *getSmoothingType();
174 
178  const char *getConfigurationInformation();
179 
183  const char *getSOPInstanceUID();
184 
188  Uint16 getImageBoxPosition();
189 
194  OFCondition setPolarity(const char *value);
195 
200  OFCondition setRequestedImageSize(const char *value);
201 
208  OFCondition setMagnificationType(const char *value);
209 
216  OFCondition setSmoothingType(const char *value);
217 
224  OFCondition setConfigurationInformation(const char *value);
225 
230  OFCondition setSOPInstanceUID(const char *value);
231 
236 
243  OFCondition getImageReference(const char *&studyUID, const char *&seriesUID, const char *&instanceUID);
244 
253 
260  OFBool matchesPresentationLUT(DVPSPrintPresentationLUTAlignment align) const;
261 
282  OFBool printSCPSet(
283  DVConfiguration& cfg,
284  const char *cfgname,
285  DcmDataset *rqDataset,
286  T_DIMSE_Message& rsp,
287  DcmDataset *& rspDataset,
288  DcmDataset &imageDataset,
289  DVPSPrintPresentationLUTAlignment align,
290  OFBool presentationLUTnegotiated);
291 
300  DcmUniqueIdentifier& studyUID,
301  DcmUniqueIdentifier& seriesUID,
302  const char *aetitle);
303 
304 private:
307 
314 
335  DVConfiguration& cfg,
336  const char *cfgname,
337  DcmItem *rqDataset,
338  T_DIMSE_Message& rsp,
339  DcmDataset &imageDataset,
340  DVPSPrintPresentationLUTAlignment align,
341  OFBool presentationLUTnegotiated);
342 
359 
360  /* the following attributes belong to the ReferencedImageSequence
361  * which must have exactly one item here.
362  */
377 
378  // we do not support the ReferencedImageOverlayBoxSequence which is retired in Supplement 35 anyway.
379 
380  // the ReferencedPresentationLUTSequence is only created/read on the fly
381  DcmUniqueIdentifier referencedPresentationLUTInstanceUID;
382 
384  DVPSImageDepth imageDepth;
385 
386 };
387 
388 #endif
389 
390 /*
391  * $Log: dvpsib.h,v $
392  * Revision 1.24 2010-10-14 13:16:36 joergr
393  * Updated copyright header. Added reference to COPYRIGHT file.
394  *
395  * Revision 1.23 2010-10-07 14:31:35 joergr
396  * Removed leading underscore characters from preprocessor symbols (reserved).
397  *
398  * Revision 1.22 2009-11-24 14:12:57 uli
399  * Switched to logging mechanism provided by the "new" oflog module.
400  *
401  * Revision 1.21 2005-12-08 16:03:50 meichel
402  * Changed include path schema for all DCMTK header files
403  *
404  * Revision 1.20 2001/09/26 15:36:12 meichel
405  * Adapted dcmpstat to class OFCondition
406  *
407  * Revision 1.19 2001/06/01 15:50:17 meichel
408  * Updated copyright header
409  *
410  * Revision 1.18 2000/07/04 15:58:01 joergr
411  * Added support for overriding the presentation LUT settings made for the
412  * image boxes.
413  *
414  * Revision 1.17 2000/06/14 11:28:13 joergr
415  * Added methods to access the attributes Polarity and Requested Image Size.
416  *
417  * Revision 1.16 2000/06/08 10:44:29 meichel
418  * Implemented Referenced Presentation LUT Sequence on Basic Film Session level.
419  * Empty film boxes (pages) are not written to file anymore.
420  *
421  * Revision 1.15 2000/06/07 14:17:41 joergr
422  * Added methods to access the image polarity attribute.
423  *
424  * Revision 1.14 2000/06/02 16:00:47 meichel
425  * Adapted all dcmpstat classes to use OFConsole for log and error output
426  *
427  * Revision 1.13 2000/05/31 12:56:38 meichel
428  * Added initial Print SCP support
429  *
430  * Revision 1.12 2000/03/08 16:28:53 meichel
431  * Updated copyright header.
432  *
433  * Revision 1.11 1999/10/07 17:21:47 meichel
434  * Reworked management of Presentation LUTs in order to create tighter
435  * coupling between Softcopy and Print.
436  *
437  * Revision 1.10 1999/09/24 15:23:44 meichel
438  * Print spooler (dcmprtsv) now logs diagnostic messages in log files
439  * when operating in spool mode.
440  *
441  * Revision 1.9 1999/09/17 14:33:56 meichel
442  * Completed print spool functionality including Supplement 22 support
443  *
444  * Revision 1.8 1999/09/15 17:43:27 meichel
445  * Implemented print job dispatcher code for dcmpstat, adapted dcmprtsv
446  * and dcmpsprt applications.
447  *
448  * Revision 1.7 1999/09/10 12:46:46 meichel
449  * Added implementations for a number of print API methods.
450  *
451  * Revision 1.6 1999/09/09 14:57:32 thiel
452  * Added methods for print spooler
453  *
454  * Revision 1.5 1999/09/01 16:14:40 meichel
455  * Added support for requested image size to print routines
456  *
457  * Revision 1.4 1999/08/31 14:09:10 meichel
458  * Added get/set methods for stored print attributes
459  *
460  * Revision 1.3 1999/08/27 15:57:55 meichel
461  * Added methods for saving hardcopy images and stored print objects
462  * either in file or in the local database.
463  *
464  * Revision 1.2 1999/08/26 09:30:59 thiel
465  * Add extensions for the usage of the StoredPrint
466  *
467  * Revision 1.1 1999/07/30 13:34:47 meichel
468  * Added new classes managing Stored Print objects
469  *
470  *
471  */


Generated on Thu Dec 20 2012 for OFFIS DCMTK Version 3.6.0 by Doxygen 1.8.2