OFFIS DCMTK  Version 3.6.0
dipitiff.h
1 /*
2  *
3  * Copyright (C) 2001-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: dcmjpeg
15  *
16  * Author: Marco Eichelberg
17  *
18  * Purpose: Implements TIFF interface for plugable image formats
19  *
20  * Last Update: $Author: joergr $
21  * Update Date: $Date: 2010-10-14 13:16:29 $
22  * CVS/RCS Revision: $Revision: 1.7 $
23  * Status: $State: Exp $
24  *
25  * CVS/RCS Log at end of file
26  *
27  */
28 
29 
30 #ifndef DIPITIFF_H
31 #define DIPITIFF_H
32 
33 #include "dcmtk/config/osconfig.h"
34 
35 #ifdef WITH_LIBTIFF
36 
37 #include "dcmtk/ofstd/ofstring.h"
38 
39 #include "dcmtk/dcmimgle/diplugin.h"
40 
41 
42 /*------------------------*
43  * forward declarations *
44  *------------------------*/
45 
46 class DiImage;
47 
48 
49 /*--------------------*
50  * type definitions *
51  *--------------------*/
52 
57 enum DiTIFFCompression
58 {
60  E_tiffPackBitsCompression,
61 
63  E_tiffLZWCompression,
64 
66  E_tiffNoCompression
67 };
68 
71 enum DiTIFFLZWPredictor
72 {
74  E_tiffLZWPredictorDefault,
75 
77  E_tiffLZWPredictorNoPrediction,
78 
80  E_tiffLZWPredictorHDifferencing
81 };
82 
83 
84 /*---------------------*
85  * class declaration *
86  *---------------------*/
87 
91  : public DiPluginFormat
92 {
93 
94  public:
95 
98  DiTIFFPlugin();
99 
102  virtual ~DiTIFFPlugin();
103 
110  virtual int write(DiImage *image,
111  FILE *stream,
112  const unsigned long frame = 0) const;
113 
117  void setCompressionType(DiTIFFCompression ctype);
118 
122  void setLZWPredictor(DiTIFFLZWPredictor pred);
123 
129  void setRowsPerStrip(unsigned long rows = 0);
130 
136 
137 
138  private:
139 
141  DiTIFFCompression compressionType;
142 
144  DiTIFFLZWPredictor predictor;
145 
147  unsigned long rowsPerStrip;
148 };
149 
150 #endif
151 #endif
152 
153 
154 /*
155  *
156  * CVS/RCS Log:
157  * $Log: dipitiff.h,v $
158  * Revision 1.7 2010-10-14 13:16:29 joergr
159  * Updated copyright header. Added reference to COPYRIGHT file.
160  *
161  * Revision 1.6 2010-03-01 09:08:46 uli
162  * Removed some unnecessary include directives in the headers.
163  *
164  * Revision 1.5 2005-12-08 16:01:43 meichel
165  * Changed include path schema for all DCMTK header files
166  *
167  * Revision 1.4 2003/12/17 18:18:08 joergr
168  * Removed leading underscore characters from preprocessor symbols (reserved
169  * symbols).
170  *
171  * Revision 1.3 2002/09/19 08:34:53 joergr
172  * Added static method getLibraryVersionString().
173  *
174  * Revision 1.2 2001/12/06 10:10:59 meichel
175  * Removed references to tiffconf.h which does not exist on all installations
176  *
177  * Revision 1.1 2001/11/30 16:47:56 meichel
178  * Added TIFF export option to dcm2pnm and dcmj2pnm
179  *
180  *
181  */


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