OFFIS DCMTK  Version 3.6.0
dvpspl.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: DVPSPresentationLUT
20  *
21  * Last Update: $Author: joergr $
22  * Update Date: $Date: 2010-10-14 13:16:36 $
23  * CVS/RCS Revision: $Revision: 1.16 $
24  * Status: $State: Exp $
25  *
26  * CVS/RCS Log at end of file
27  *
28  */
29 
30 #ifndef DVPSPL_H
31 #define DVPSPL_H
32 
33 #include "dcmtk/config/osconfig.h" /* make sure OS specific configuration is included first */
34 #include "dcmtk/dcmpstat/dvpstyp.h" /* for enum types */
35 #include "dcmtk/dcmdata/dcvrus.h"
36 #include "dcmtk/dcmdata/dcvrui.h"
37 #include "dcmtk/dcmdata/dcvrlo.h"
38 
39 struct T_DIMSE_Message;
40 
41 class DicomImage;
42 class DiLookupTable;
43 class DcmDataset;
44 
49 {
50 public:
53 
56 
61  DVPSPresentationLUT *clone() { return new DVPSPresentationLUT(*this); }
62 
64  virtual ~DVPSPresentationLUT();
65 
70  void clear();
71 
82  OFCondition read(DcmItem &dset, OFBool withSOPInstance);
83 
91  OFCondition write(DcmItem &dset, OFBool withSOPInstance);
92 
96  OFBool isInverse();
97 
101  DVPSPresentationLUTType getType() { return presentationLUT; }
102 
109  DVPSPrintPresentationLUTAlignment getAlignment();
110 
116  OFBool haveTable();
117 
125  const char *getCurrentExplanation();
126 
131  const char *getLUTExplanation();
132 
137  const char *getSOPInstanceUID();
138 
149  DcmUnsignedShort& lutDescriptor,
150  DcmUnsignedShort& lutData,
151  DcmLongString& lutExplanation);
152 
159  OFCondition setType(DVPSPresentationLUTType newType);
160 
165 
174  OFBool activate(DicomImage *image, OFBool printLUT = OFFalse);
175 
181  OFBool activateInverseLUT(DicomImage *image);
182 
188 
194  OFBool compareDiLookupTable(DiLookupTable *lut);
195 
200  OFCondition setSOPInstanceUID(const char *value);
201 
207 
213  OFBool matchesImageDepth(OFBool is12bit);
214 
229  OFBool printSCPCreate(
230  DcmDataset *rqDataset,
231  T_DIMSE_Message& rsp,
232  DcmDataset *& rspDataset,
233  OFBool matchRequired,
234  OFBool supports12Bit);
235 
236 private:
239 
241  DVPSPresentationLUTType presentationLUT;
248 
251 
252 };
253 
254 #endif
255 
256 /*
257  * $Log: dvpspl.h,v $
258  * Revision 1.16 2010-10-14 13:16:36 joergr
259  * Updated copyright header. Added reference to COPYRIGHT file.
260  *
261  * Revision 1.15 2010-10-07 14:31:36 joergr
262  * Removed leading underscore characters from preprocessor symbols (reserved).
263  *
264  * Revision 1.14 2009-11-24 14:12:57 uli
265  * Switched to logging mechanism provided by the "new" oflog module.
266  *
267  * Revision 1.13 2009-09-30 10:42:38 uli
268  * Make dcmpstat's include headers self-sufficient by including all
269  * needed headers directly and stop using dctk.h
270  *
271  * Revision 1.12 2005-12-08 16:03:55 meichel
272  * Changed include path schema for all DCMTK header files
273  *
274  * Revision 1.11 2003/08/27 14:59:09 meichel
275  * Moved all methods of class DVPSPresentationLUT that depend on module dcmimgle
276  * into a separate implementation file
277  *
278  * Revision 1.10 2001/09/26 15:36:14 meichel
279  * Adapted dcmpstat to class OFCondition
280  *
281  * Revision 1.9 2001/06/01 15:50:19 meichel
282  * Updated copyright header
283  *
284  * Revision 1.8 2000/06/09 10:14:11 joergr
285  * Added support for rendering inverse presentation LUT into print bitmaps.
286  *
287  * Revision 1.7 2000/06/07 14:20:18 joergr
288  * Added support for rendering "hardcopy" and "softcopy" presentation LUTs.
289  *
290  * Revision 1.6 2000/06/02 16:00:49 meichel
291  * Adapted all dcmpstat classes to use OFConsole for log and error output
292  *
293  * Revision 1.5 2000/05/31 12:56:39 meichel
294  * Added initial Print SCP support
295  *
296  * Revision 1.4 2000/03/08 16:28:54 meichel
297  * Updated copyright header.
298  *
299  * Revision 1.3 1999/10/07 17:21:49 meichel
300  * Reworked management of Presentation LUTs in order to create tighter
301  * coupling between Softcopy and Print.
302  *
303  * Revision 1.2 1999/09/24 15:23:46 meichel
304  * Print spooler (dcmprtsv) now logs diagnostic messages in log files
305  * when operating in spool mode.
306  *
307  * Revision 1.1 1999/07/30 13:34:49 meichel
308  * Added new classes managing Stored Print objects
309  *
310  *
311  */


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