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  */
DiMono1Image(const DiDocument *docu, const EI_Status status)
constructor
Interface class to DICOM data management (dcmdata).
Definition: didocu.h:66
virtual const void * getOutputData(const unsigned long frame, const int bits, const int planar=0)
get pixel data with specified format.
Class for MONOCHROME1 images.
Definition: dimo1img.h:44
DiImage * createRotate(const int degree) const
create a rotated copy of the current image.
Base class for monochrome images.
Definition: dimoimg.h:56
DiImage * createFlip(const int horz, const int vert) const
create a flipped copy of the current image
Base class for images.
Definition: diimage.h:75
DiImage * createMono(const double dummy1, const double dummy2, const double dummy3) const
create monochrome copy of the current image.
virtual EP_Interpretation getInternalColorModel() const
get color model of internal pixel representation.
Definition: dimo1img.h:65
DiImage * createImage(const unsigned long fstart, const unsigned long fcount) const
create copy of current image object
virtual ~DiMono1Image()
destructor
DiImage * createScale(const signed long left_pos, const signed long top_pos, const unsigned long clip_width, const unsigned long clip_height, const unsigned long scale_width, const unsigned long scale_height, const int interpolate, const int aspect, const Uint16 pvalue) const
create scaled copy of specified (clipping) area of the current image object.


Generated on Wed Dec 14 2016 for OFFIS DCMTK Version 3.6.0 by Doxygen 1.8.11