OFFIS DCMTK  Version 3.6.0
diinpx.h
1 /*
2  *
3  * Copyright (C) 1996-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: dcmimgle
15  *
16  * Author: Joerg Riesmeier
17  *
18  * Purpose: DicomInputPixel (Header)
19  *
20  * Last Update: $Author: joergr $
21  * Update Date: $Date: 2010-10-14 13:16:26 $
22  * CVS/RCS Revision: $Revision: 1.20 $
23  * Status: $State: Exp $
24  *
25  * CVS/RCS Log at end of file
26  *
27  */
28 
29 
30 #ifndef DIINPX_H
31 #define DIINPX_H
32 
33 #include "dcmtk/config/osconfig.h"
34 
35 #include "dcmtk/dcmimgle/diutils.h"
36 
37 
38 /*---------------------*
39  * class declaration *
40  *---------------------*/
41 
45 {
46 
47  public:
48 
56  DiInputPixel(const unsigned int bits,
57  const unsigned long first,
58  const unsigned long number,
59  const unsigned long fsize);
60 
63  virtual ~DiInputPixel();
64 
69  virtual int determineMinMax() = 0;
70 
77  virtual EP_Representation getRepresentation() const = 0;
78 
83  virtual const void *getData() const = 0;
84 
89  virtual void *getDataPtr() = 0;
90 
93  virtual void removeDataReference() = 0;
94 
102  virtual double getMinValue(const int idx) const = 0;
103 
111  virtual double getMaxValue(const int idx) const = 0;
112 
117  inline unsigned int getBits() const
118  {
119  return Bits;
120  }
121 
126  inline double getAbsMinimum() const
127  {
128  return AbsMinimum;
129  }
130 
135  inline double getAbsMaximum() const
136  {
137  return AbsMaximum;
138  }
139 
144  inline double getAbsMaxRange() const
145  {
146  return AbsMaximum - AbsMinimum + 1;
147  }
148 
153  inline unsigned long getCount() const
154  {
155  return Count;
156  }
157 
162  inline unsigned long getPixelStart() const
163  {
164  return PixelStart;
165  }
166 
171  inline unsigned long getPixelCount() const
172  {
173  return PixelCount;
174  }
175 
180  inline unsigned long getComputedCount() const
181  {
182  return ComputedCount;
183  }
184 
185 
186  protected:
187 
189  unsigned long Count;
191  unsigned int Bits;
192 
194  unsigned long FirstFrame;
196  unsigned long NumberOfFrames;
198  unsigned long FrameSize;
199 
201  unsigned long PixelStart;
203  unsigned long PixelCount;
204 
206  unsigned long ComputedCount;
207 
209  double AbsMinimum;
211  double AbsMaximum;
212 };
213 
214 
215 #endif
216 
217 
218 /*
219  *
220  * CVS/RCS Log:
221  * $Log: diinpx.h,v $
222  * Revision 1.20 2010-10-14 13:16:26 joergr
223  * Updated copyright header. Added reference to COPYRIGHT file.
224  *
225  * Revision 1.19 2010-03-01 09:08:46 uli
226  * Removed some unnecessary include directives in the headers.
227  *
228  * Revision 1.18 2009-11-25 15:59:51 joergr
229  * Adapted code for new approach to access individual frames of a DICOM image.
230  *
231  * Revision 1.17 2005/12/08 16:47:43 meichel
232  * Changed include path schema for all DCMTK header files
233  *
234  * Revision 1.16 2004/02/06 11:07:50 joergr
235  * Distinguish more clearly between const and non-const access to pixel data.
236  *
237  * Revision 1.15 2003/12/08 18:23:09 joergr
238  * Removed leading underscore characters from preprocessor symbols (reserved
239  * symbols). Updated copyright header.
240  *
241  * Revision 1.14 2002/06/26 16:02:31 joergr
242  * Enhanced handling of corrupted pixel data and/or length.
243  *
244  * Revision 1.13 2001/09/28 13:04:58 joergr
245  * Enhanced algorithm to determine the min and max value.
246  *
247  * Revision 1.12 2001/06/01 15:49:42 meichel
248  * Updated copyright header
249  *
250  * Revision 1.11 2000/04/27 13:08:38 joergr
251  * Dcmimgle library code now consistently uses ofConsole for error output.
252  *
253  * Revision 1.10 2000/03/08 16:24:16 meichel
254  * Updated copyright header.
255  *
256  * Revision 1.9 2000/03/03 14:09:11 meichel
257  * Implemented library support for redirecting error messages into memory
258  * instead of printing them to stdout/stderr for GUI applications.
259  *
260  * Revision 1.8 1999/09/17 12:13:18 joergr
261  * Added/changed/completed DOC++ style comments in the header files.
262  *
263  * Revision 1.7 1999/07/23 13:54:37 joergr
264  * Optimized memory usage for converting input pixel data (reference instead
265  * of copying where possible).
266  *
267  * Revision 1.6 1999/03/24 17:20:02 joergr
268  * Added/Modified comments and formatting.
269  *
270  * Revision 1.5 1999/02/03 17:03:47 joergr
271  * Added member variable and related methods to store number of bits used for
272  * pixel data.
273  *
274  * Revision 1.4 1999/01/20 15:00:54 joergr
275  * Added routine to calculate absolute range of pixel data.
276  *
277  * Revision 1.3 1998/12/22 14:18:40 joergr
278  * Added implementation of methods to return member variables AbsMinimum/
279  * Maximum.
280  *
281  * Revision 1.2 1998/12/16 16:30:34 joergr
282  * Added methods to determine absolute minimum and maximum value for given
283  * value representation.
284  *
285  * Revision 1.1 1998/11/27 15:06:38 joergr
286  * Added copyright message.
287  *
288  * Revision 1.3 1998/05/11 14:53:17 joergr
289  * Added CVS/RCS header to each file.
290  *
291  *
292  */


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