OFFIS DCMTK  Version 3.6.0
dvpssv.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: DVPSSoftcopyVOI
20  *
21  * Last Update: $Author: joergr $
22  * Update Date: $Date: 2010-10-14 13:16:36 $
23  * CVS/RCS Revision: $Revision: 1.10 $
24  * Status: $State: Exp $
25  *
26  * CVS/RCS Log at end of file
27  *
28  */
29 
30 #ifndef DVPSSV_H
31 #define DVPSSV_H
32 
33 #include "dcmtk/config/osconfig.h" /* make sure OS specific configuration is included first */
34 #include "dcmtk/dcmdata/dcvrus.h"
35 #include "dcmtk/dcmdata/dcvrds.h"
36 #include "dcmtk/dcmdata/dcvrlo.h"
37 #include "dcmtk/dcmpstat/dvpsril.h" /* for DVPSReferencedImage_PList */
38 #include "dcmtk/dcmpstat/dvpstyp.h" /* for enum types */
39 
41 
46 {
47 public:
50 
52  DVPSSoftcopyVOI(const DVPSSoftcopyVOI& copy);
53 
58  DVPSSoftcopyVOI *clone() { return new DVPSSoftcopyVOI(*this); }
59 
61  virtual ~DVPSSoftcopyVOI();
62 
72  OFCondition read(DcmItem &dset);
73 
80  OFCondition write(DcmItem &dset);
81 
87  OFBool isApplicable(const char *instanceUID, unsigned long frame);
88 
95  OFBool matchesApplicability(const char *instanceUID, unsigned long frame, DVPSObjectApplicability applicability);
96 
108  const char *sopclassUID,
109  const char *instanceUID,
110  unsigned long frame,
111  DVPSObjectApplicability applicability);
112 
128  DVPSReferencedSeries_PList& allReferences,
129  const char *instanceUID,
130  unsigned long frame,
131  unsigned long numberOfFrames,
132  DVPSObjectApplicability applicability);
133 
137 
141  OFBool imageReferencesEmpty() { if (referencedImageList.size()==0) return OFTrue; else return OFFalse; }
142 
146  OFBool haveLUT() { return useLUT; }
147 
152  const char *getCurrentVOIDescription();
153 
160 
167 
173 
179 
186  OFCondition setVOIWindow(double wCenter, double wWidth, const char *description=NULL);
187 
196  DcmUnsignedShort& lutDescriptor,
197  DcmUnsignedShort& lutData,
198  DcmLongString& lutExplanation);
199 
200 private:
203 
204  /* since the VOI LUT sequence in the Softcopy VOI LUT module must
205  * not contain more than one item, we do not need to manage a list of
206  * VOI LUT SQ items.
207  */
208 
212  OFBool useLUT;
225 
226 };
227 
228 #endif
229 
230 /*
231  * $Log: dvpssv.h,v $
232  * Revision 1.10 2010-10-14 13:16:36 joergr
233  * Updated copyright header. Added reference to COPYRIGHT file.
234  *
235  * Revision 1.9 2010-10-07 14:31:36 joergr
236  * Removed leading underscore characters from preprocessor symbols (reserved).
237  *
238  * Revision 1.8 2009-11-24 14:12:57 uli
239  * Switched to logging mechanism provided by the "new" oflog module.
240  *
241  * Revision 1.7 2009-09-30 10:42:38 uli
242  * Make dcmpstat's include headers self-sufficient by including all
243  * needed headers directly and stop using dctk.h
244  *
245  * Revision 1.6 2005-12-08 16:04:05 meichel
246  * Changed include path schema for all DCMTK header files
247  *
248  * Revision 1.5 2001/09/26 15:36:16 meichel
249  * Adapted dcmpstat to class OFCondition
250  *
251  * Revision 1.4 2001/06/01 15:50:22 meichel
252  * Updated copyright header
253  *
254  * Revision 1.3 2000/06/02 16:00:52 meichel
255  * Adapted all dcmpstat classes to use OFConsole for log and error output
256  *
257  * Revision 1.2 2000/03/08 16:28:57 meichel
258  * Updated copyright header.
259  *
260  * Revision 1.1 1999/07/22 16:39:12 meichel
261  * Adapted dcmpstat data structures and API to supplement 33 letter ballot text.
262  *
263  *
264  */


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