OFFIS DCMTK
Version 3.6.0
Main Page
Related Pages
Classes
Files
File List
File Members
dcmimgle
include
dcmtk
dcmimgle
dimomod.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: DicomMonochromeModality (Header)
19
*
20
* Last Update: $Author: joergr $
21
* Update Date: $Date: 2010-10-14 13:16:26 $
22
* CVS/RCS Revision: $Revision: 1.17 $
23
* Status: $State: Exp $
24
*
25
* CVS/RCS Log at end of file
26
*
27
*/
28
29
30
#ifndef DIMOMOD_H
31
#define DIMOMOD_H
32
33
#include "dcmtk/config/osconfig.h"
34
#include "dcmtk/ofstd/ofcast.h"
35
36
#include "dcmtk/dcmimgle/diluptab.h"
37
#include "dcmtk/dcmimgle/diobjcou.h"
38
39
40
/*------------------------*
41
* forward declarations *
42
*------------------------*/
43
44
class
DiDocument
;
45
class
DiInputPixel
;
46
47
48
/*---------------------*
49
* class declaration *
50
*---------------------*/
51
54
class
DiMonoModality
55
:
public
DiObjectCounter
56
{
57
58
public
:
59
65
DiMonoModality
(
const
DiDocument
*docu,
66
DiInputPixel
*pixel);
67
75
DiMonoModality
(
const
DiDocument
*docu,
76
DiInputPixel
*pixel,
77
const
double
slope,
78
const
double
intercept);
79
88
DiMonoModality
(
const
DiDocument
*docu,
89
DiInputPixel
*pixel,
90
const
DcmUnsignedShort
&data,
91
const
DcmUnsignedShort
&descriptor,
92
const
DcmLongString
*explanation);
93
98
DiMonoModality
(
const
int
bits);
99
102
virtual
~DiMonoModality
();
103
108
inline
EP_Representation
getRepresentation
()
const
109
{
110
return
Representation
;
111
}
112
117
inline
double
getMinValue
()
const
118
{
119
return
MinValue
;
120
}
121
126
inline
double
getMaxValue
()
const
127
{
128
return
MaxValue
;
129
}
130
135
inline
unsigned
int
getBits
()
const
136
{
137
return
Bits
;
138
}
139
145
inline
unsigned
int
getUsedBits
()
const
146
{
147
return
UsedBits
;
148
}
149
154
inline
double
getAbsMinimum
()
const
155
{
156
return
AbsMinimum
;
157
}
158
163
inline
double
getAbsMaximum
()
const
164
{
165
return
AbsMaximum
;
166
}
167
172
inline
double
getRescaleIntercept
()
const
173
{
174
return
RescaleIntercept
;
175
}
176
181
inline
double
getRescaleSlope
()
const
182
{
183
return
RescaleSlope
;
184
}
185
190
inline
const
DiLookupTable
*
getTableData
()
const
191
{
192
return
TableData
;
193
}
194
199
inline
const
char
*
getExplanation
()
const
200
{
201
return
(
TableData
!= NULL) ?
TableData
->
getExplanation
() : OFstatic_cast(
const
char
*, NULL);
202
}
203
208
inline
int
hasLookupTable
()
const
209
{
210
return
LookupTable
;
211
}
212
217
inline
int
hasRescaling
()
const
218
{
219
return
Rescaling
;
220
}
221
222
223
protected
:
224
230
int
Init
(
const
DiDocument
*docu,
231
DiInputPixel
*pixel);
232
235
void
checkTable
();
236
241
void
checkRescaling
(
const
DiInputPixel
*pixel);
242
247
void
determineRepresentation
(
const
DiDocument
*docu);
248
249
250
private
:
251
253
EP_Representation
Representation
;
254
256
double
MinValue
;
258
double
MaxValue
;
259
261
unsigned
int
Bits
;
263
unsigned
int
UsedBits
;
264
266
double
AbsMinimum
;
268
double
AbsMaximum
;
269
271
double
RescaleIntercept
;
273
double
RescaleSlope
;
274
276
int
LookupTable
;
278
int
Rescaling
;
279
281
DiLookupTable
*
TableData
;
282
283
// --- declarations to avoid compiler warnings
284
285
DiMonoModality
(
const
DiMonoModality
&);
286
DiMonoModality
&operator=(
const
DiMonoModality
&);
287
};
288
289
290
#endif
291
292
293
/*
294
*
295
* CVS/RCS Log:
296
* $Log: dimomod.h,v $
297
* Revision 1.17 2010-10-14 13:16:26 joergr
298
* Updated copyright header. Added reference to COPYRIGHT file.
299
*
300
* Revision 1.16 2010-03-01 09:08:47 uli
301
* Removed some unnecessary include directives in the headers.
302
*
303
* Revision 1.15 2009-04-21 08:21:06 joergr
304
* Added method getUsedBits() which allows for retrieving the number of bits
305
* actually used to store the output data.
306
*
307
* Revision 1.14 2005/12/08 16:47:52 meichel
308
* Changed include path schema for all DCMTK header files
309
*
310
* Revision 1.13 2003/12/08 18:28:56 joergr
311
* Adapted type casts to new-style typecast operators defined in ofcast.h.
312
* Removed leading underscore characters from preprocessor symbols (reserved
313
* symbols). Updated copyright header.
314
*
315
* Revision 1.12 2001/06/01 15:49:45 meichel
316
* Updated copyright header
317
*
318
* Revision 1.11 2000/03/08 16:24:19 meichel
319
* Updated copyright header.
320
*
321
* Revision 1.10 1999/10/06 13:40:25 joergr
322
* Added Doc++ header comments.
323
*
324
* Revision 1.9 1999/09/17 12:26:25 joergr
325
* iAdded/changed/completed DOC++ style comments in the header files.
326
*
327
* Revision 1.8 1999/05/31 12:35:15 joergr
328
* Corrected bug concerning the conversion of color images to grayscale.
329
*
330
* Revision 1.7 1999/04/28 17:03:47 joergr
331
* Added type casts to NULL pointers returned as 'const char *' to avoid
332
* compiler warnings reported by gcc 2.7.2.1 (Linux).
333
*
334
* Revision 1.6 1999/03/24 17:20:12 joergr
335
* Added/Modified comments and formatting.
336
*
337
* Revision 1.5 1999/02/03 17:30:00 joergr
338
* Added member variable and related methods to store number of bits used for
339
* pixel data.
340
*
341
* Revision 1.4 1998/12/22 14:31:01 joergr
342
* Changed calculation of AbsMinimum/Maximum.
343
* Removed member variable and method for isPotentiallySigned.
344
*
345
* Revision 1.3 1998/12/16 16:34:37 joergr
346
* Added explanation string to LUT class (retrieved from dataset).
347
*
348
* Revision 1.2 1998/12/14 17:23:52 joergr
349
* Added support for correct scaling of input/output values for grayscale
350
* transformations.
351
*
352
* Revision 1.1 1998/11/27 15:25:15 joergr
353
* Added copyright message.
354
* Added constructors to use external modality transformations.
355
*
356
* Revision 1.5 1998/07/01 08:39:23 joergr
357
* Minor changes to avoid compiler warnings (gcc 2.8.1 with additional
358
* options), e.g. add copy constructors.
359
*
360
* Revision 1.4 1998/05/11 14:53:21 joergr
361
* Added CVS/RCS header to each file.
362
*
363
*
364
*/
Generated on Thu Dec 20 2012 for
OFFIS DCMTK
Version 3.6.0 by
Doxygen
1.8.2