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  */
DcmLongString presentationLUTExplanation
Module=Softcopy_Presentation_LUT, VR=LO, VM=1, Type 3.
Definition: dvpspl.h:245
a class representing a list of DICOM elements in which each element has a different tag and elements ...
Definition: dcitem.h:51
OFCondition read(DcmItem &dset, OFBool withSOPInstance)
reads an Presentation LUT from a DICOM dataset.
DVPSPresentationLUT & operator=(const DVPSPresentationLUT &)
private undefined assignment operator
OFBool activateInverseLUT(DicomImage *image)
activates the inverse LUT of the current presentation LUT (if any) in the given DicomImage.
const char * getSOPInstanceUID()
returns the SOP instance UID of the presentation LUT if present.
a class representing the DICOM value representation 'Unique Identifier' (UI)
Definition: dcvrui.h:39
OFBool isInverse()
checks whether current presentation LUT is inverse, i.e.
OFBool haveTable()
checks if a real Presentation LUT (not shape) is available.
OFBool compareDiLookupTable(DiLookupTable *lut)
compares a DiLookupTable instance with the LUT table managed by this object.
DcmUnsignedShort presentationLUTData
Module=Softcopy_Presentation_LUT, VR=xs, VM=1-n, Type 1c.
Definition: dvpspl.h:247
DcmUnsignedShort presentationLUTDescriptor
Module=Softcopy_Presentation_LUT, VR=xs, VM=3, Type 1c.
Definition: dvpspl.h:243
virtual ~DVPSPresentationLUT()
destructor
DVPSPresentationLUT * clone()
clone method.
Definition: dvpspl.h:61
OFCondition write(DcmItem &dset, OFBool withSOPInstance)
writes the Presentation LUT managed by this object to a DICOM dataset.
DVPSPresentationLUT()
default constructor
const char * getCurrentExplanation()
gets a description of the current presentation LUT.
a class representing the DICOM value representation 'Long String' (LO)
Definition: dcvrlo.h:40
DcmUniqueIdentifier sOPInstanceUID
Module=Presentation_LUT_List, VR=UI, VM=1, Type 1.
Definition: dvpspl.h:250
OFBool isLegalPrintPresentationLUT()
checks whether the current Presentation LUT (or shape) is legal when used with Supplement 22...
OFCondition setSOPInstanceUID(const char *value)
sets the SOP instance UID.
Class to handle color palette look-up tables.
Definition: diluptab.h:56
the representation of a Presentation LUT Content SQ item for Stored Print
Definition: dvpspl.h:48
DiLookupTable * createDiLookupTable()
creates a DiLookupTable instance from the LUT table managed by this object.
OFCondition setLUT(DcmUnsignedShort &lutDescriptor, DcmUnsignedShort &lutData, DcmLongString &lutExplanation)
stores a presentation lookup table and activates it.
a class representing the DICOM value representation 'Unsigned Short' (US)
Definition: dcvrus.h:40
OFBool activate(DicomImage *image, OFBool printLUT=OFFalse)
activates the current presentation transform in the given DicomImage.
a class handling the DICOM dataset format (files without meta header)
Definition: dcdatset.h:46
DVPSPresentationLUTType presentationLUT
describes active type of presentation LUT.
Definition: dvpspl.h:241
DVPSPrintPresentationLUTAlignment getAlignment()
gets a description of the Presentation LUT in terms of its restrictions for use with a Print SCP that...
OFCondition invert()
inverts presentation LUT or presentation state LUT shape.
OFBool matchesImageDepth(OFBool is12bit)
checks whether the current Presentation LUT (or shape) matches the current image bit depth in number ...
DVPSPresentationLUTType getType()
gets the current Presentation LUT type.
Definition: dvpspl.h:101
Interface class for dcmimgle/dcmimage module.
Definition: dcmimage.h:64
const char * getLUTExplanation()
returns the LUT explanation of the presentation LUT if it exists and is non-empty.
void clear()
resets the object to initial state.
General purpose class for condition codes.
Definition: ofcond.h:305
OFCondition setType(DVPSPresentationLUTType newType)
sets the current Presentation LUT type.
OFBool printSCPCreate(DcmDataset *rqDataset, T_DIMSE_Message &rsp, DcmDataset *&rspDataset, OFBool matchRequired, OFBool supports12Bit)
performs a Print SCP N-CREATE operation on a newly created instance of this class.


Generated on Wed Dec 14 2016 for OFFIS DCMTK Version 3.6.0 by Doxygen 1.8.11