OFFIS DCMTK  Version 3.6.0
dimo1img.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: DicomMonochrome1Image (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 DIMO1IMG_H
31 #define DIMO1IMG_H
32 
33 #include "dcmtk/config/osconfig.h"
34 
35 #include "dcmtk/dcmimgle/dimoimg.h"
36 
37 
38 /*---------------------*
39  * class declaration *
40  *---------------------*/
41 
45  : public DiMonoImage
46 {
47 
48  public:
49 
55  DiMono1Image(const DiDocument *docu,
56  const EI_Status status);
57 
60  virtual ~DiMono1Image();
61 
65  virtual EP_Interpretation getInternalColorModel() const
66  {
67  return EPI_Monochrome1;
68  }
69 
79  virtual const void *getOutputData(const unsigned long frame,
80  const int bits,
81  const int planar = 0);
82 
94  virtual int getOutputData(void *buffer,
95  const unsigned long size,
96  const unsigned long frame,
97  const int bits,
98  const int planar = 0);
99 
107  DiImage *createImage(const unsigned long fstart,
108  const unsigned long fcount) const;
109 
130  DiImage *createScale(const signed long left_pos,
131  const signed long top_pos,
132  const unsigned long clip_width,
133  const unsigned long clip_height,
134  const unsigned long scale_width,
135  const unsigned long scale_height,
136  const int interpolate,
137  const int aspect,
138  const Uint16 pvalue) const;
139 
147  DiImage *createFlip(const int horz,
148  const int vert) const;
149 
156  DiImage *createRotate(const int degree) const;
157 
167  DiImage *createMono(const double dummy1,
168  const double dummy2,
169  const double dummy3) const;
170 
171 
172  protected:
173 
180  DiMono1Image(const DiMonoImage *image,
181  const unsigned long fstart,
182  const unsigned long fcount);
183 
203  DiMono1Image(const DiMonoImage *image,
204  const signed long left_pos,
205  const signed long top_pos,
206  const Uint16 src_cols,
207  const Uint16 src_rows,
208  const Uint16 dest_cols,
209  const Uint16 dest_rows,
210  const int interpolate = 0,
211  const int aspect = 0,
212  const Uint16 pvalue = 0);
213 
220  DiMono1Image(const DiMonoImage *image,
221  const int horz,
222  const int vert);
223 
229  DiMono1Image(const DiMonoImage *image,
230  const int degree);
231 };
232 
233 
234 #endif
235 
236 
237 /*
238  *
239  * CVS/RCS Log:
240  * $Log: dimo1img.h,v $
241  * Revision 1.17 2010-10-14 13:16:26 joergr
242  * Updated copyright header. Added reference to COPYRIGHT file.
243  *
244  * Revision 1.16 2010-03-01 09:08:46 uli
245  * Removed some unnecessary include directives in the headers.
246  *
247  * Revision 1.15 2008-05-20 10:03:53 joergr
248  * Added new bilinear and bicubic scaling algorithms for image magnification.
249  *
250  * Revision 1.14 2005/12/08 16:47:46 meichel
251  * Changed include path schema for all DCMTK header files
252  *
253  * Revision 1.13 2004/02/06 11:07:50 joergr
254  * Distinguish more clearly between const and non-const access to pixel data.
255  *
256  * Revision 1.12 2003/12/08 18:25:12 joergr
257  * Removed leading underscore characters from preprocessor symbols (reserved
258  * symbols). Updated CVS header.
259  *
260  * Revision 1.11 2003/06/12 15:08:34 joergr
261  * Fixed inconsistent API documentation reported by Doxygen.
262  *
263  * Revision 1.10 2002/12/09 13:32:51 joergr
264  * Renamed parameter/local variable to avoid name clashes with global
265  * declaration left and/or right (used for as iostream manipulators).
266  *
267  * Revision 1.9 2001/11/27 18:18:23 joergr
268  * Added support for plugable output formats in class DicomImage. First
269  * implementation is JPEG.
270  *
271  * Revision 1.8 2001/11/09 16:28:03 joergr
272  * Updated comments.
273  *
274  * Revision 1.7 2001/06/01 15:49:43 meichel
275  * Updated copyright header
276  *
277  * Revision 1.6 2000/03/08 16:24:17 meichel
278  * Updated copyright header.
279  *
280  * Revision 1.5 1999/09/17 12:22:54 joergr
281  * Added/changed/completed DOC++ style comments in the header files.
282  *
283  * Revision 1.4 1999/08/25 16:41:51 joergr
284  * Added new feature: Allow clipping region to be outside the image
285  * (overlapping).
286  *
287  * Revision 1.3 1999/03/24 17:20:05 joergr
288  * Added/Modified comments and formatting.
289  *
290  * Revision 1.2 1999/01/20 15:03:19 joergr
291  * Added new output method to fill external memory buffer with rendered pixel
292  * data.
293  *
294  * Revision 1.1 1998/11/27 15:12:17 joergr
295  * Added copyright message.
296  * Added methods and constructors for flipping and rotating, changed for
297  * scaling and clipping.
298  *
299  * Revision 1.2 1998/05/11 14:53:18 joergr
300  * Added CVS/RCS header to each file.
301  *
302  *
303  */


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