OFFIS DCMTK  Version 3.6.0
dvpsri.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: DVPSReferencedImage
20  *
21  * Last Update: $Author: joergr $
22  * Update Date: $Date: 2010-10-14 13:16:36 $
23  * CVS/RCS Revision: $Revision: 1.13 $
24  * Status: $State: Exp $
25  *
26  * CVS/RCS Log at end of file
27  *
28  */
29 
30 #ifndef DVPSRI_H
31 #define DVPSRI_H
32 
33 #include "dcmtk/config/osconfig.h" /* make sure OS specific configuration is included first */
34 #include "dcmtk/dcmdata/dcvrui.h"
35 #include "dcmtk/dcmdata/dcvris.h"
36 
44 {
45 public:
48 
51 
56  DVPSReferencedImage *clone() { return new DVPSReferencedImage(*this); }
57 
59  virtual ~DVPSReferencedImage();
60 
70  OFCondition read(DcmItem &dset);
71 
78  OFCondition write(DcmItem &dset);
79 
89  OFBool validateSOPClassUID(OFString& sopclassuid);
90 
94  void setSOPClassUID(const char *uid);
95 
99  void setSOPInstanceUID(const char *uid);
100 
105  void setFrameNumbers(const char *frames);
106 
112  OFBool isSOPInstanceUID(const char *uid);
113 
121  OFString& sopclassUID,
122  OFString& instanceUID,
123  OFString& frames);
124 
132  OFBool appliesToFrame(unsigned long frame);
133 
139  OFBool appliesOnlyToFrame(unsigned long frame);
140 
145  OFBool appliesToAllFrames();
146 
151  void removeFrameReference(unsigned long frame, unsigned long numberOfFrames);
152 
153 private:
154 
158 
161  void flushCache();
164  void updateCache();
165 
173  Sint32 *frameCache;
175  unsigned long frameCacheEntries;
176 
177 };
178 
179 #endif
180 
181 /*
182  * $Log: dvpsri.h,v $
183  * Revision 1.13 2010-10-14 13:16:36 joergr
184  * Updated copyright header. Added reference to COPYRIGHT file.
185  *
186  * Revision 1.12 2010-10-07 14:31:36 joergr
187  * Removed leading underscore characters from preprocessor symbols (reserved).
188  *
189  * Revision 1.11 2009-11-24 14:12:57 uli
190  * Switched to logging mechanism provided by the "new" oflog module.
191  *
192  * Revision 1.10 2009-09-30 10:42:38 uli
193  * Make dcmpstat's include headers self-sufficient by including all
194  * needed headers directly and stop using dctk.h
195  *
196  * Revision 1.9 2005-12-08 16:03:59 meichel
197  * Changed include path schema for all DCMTK header files
198  *
199  * Revision 1.8 2001/09/26 15:36:14 meichel
200  * Adapted dcmpstat to class OFCondition
201  *
202  * Revision 1.7 2001/06/01 15:50:20 meichel
203  * Updated copyright header
204  *
205  * Revision 1.6 2000/06/02 16:00:50 meichel
206  * Adapted all dcmpstat classes to use OFConsole for log and error output
207  *
208  * Revision 1.5 2000/03/08 16:28:55 meichel
209  * Updated copyright header.
210  *
211  * Revision 1.4 1999/07/22 16:39:09 meichel
212  * Adapted dcmpstat data structures and API to supplement 33 letter ballot text.
213  *
214  * Revision 1.3 1999/01/15 17:33:03 meichel
215  * added methods to DVPresentationState allowing to access the image
216  * references in the presentation state. Also added methods allowing to
217  * get the width and height of the attached image.
218  *
219  * Revision 1.2 1998/12/14 16:10:32 meichel
220  * Implemented Presentation State interface for graphic layers,
221  * text and graphic annotations, presentation LUTs.
222  *
223  * Revision 1.1 1998/11/27 14:50:31 meichel
224  * Initial Release.
225  *
226  *
227  */


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