ome-files  0.2.0
Types.h
1 /*
2  * #%L
3  * OME-FILES C++ library for image IO.
4  * Copyright © 2006 - 2015 Open Microscopy Environment:
5  * - Massachusetts Institute of Technology
6  * - National Institutes of Health
7  * - University of Dundee
8  * - Board of Regents of the University of Wisconsin-Madison
9  * - Glencoe Software, Inc.
10  * %%
11  * Redistribution and use in source and binary forms, with or without
12  * modification, are permitted provided that the following conditions are met:
13  *
14  * 1. Redistributions of source code must retain the above copyright notice,
15  * this list of conditions and the following disclaimer.
16  * 2. Redistributions in binary form must reproduce the above copyright notice,
17  * this list of conditions and the following disclaimer in the documentation
18  * and/or other materials provided with the distribution.
19  *
20  * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS"
21  * AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE
22  * IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE
23  * ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT HOLDERS OR CONTRIBUTORS BE
24  * LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR
25  * CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF
26  * SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS
27  * INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN
28  * CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE)
29  * ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
30  * POSSIBILITY OF SUCH DAMAGE.
31  *
32  * The views and conclusions contained in the software and documentation are
33  * those of the authors and should not be interpreted as representing official
34  * policies, either expressed or implied, of any organization.
35  * #L%
36  */
37 
38 #ifndef OME_FILES_TIFF_TYPES_H
39 #define OME_FILES_TIFF_TYPES_H
40 
41 #include <ome/files/Types.h>
42 
43 #include <ome/compat/cstdint.h>
44 
45 #ifdef _MSC_VER
46 #pragma push_macro("VOID")
47 #undef VOID
48 #pragma push_macro("BILEVEL")
49 #undef BILEVEL
50 #pragma push_macro("HALFTONE")
51 #undef HALFTONE
52 #endif
53 
54 namespace ome
55 {
56  namespace files
57  {
58  namespace tiff
59  {
60 
62  typedef uint16_t directory_index_type;
63 
65  typedef uint64_t offset_type;
66 
68  typedef unsigned int tag_type;
69 
71  enum Type
72  {
73  TYPE_NONE = 0,
74  TYPE_BYTE = 1,
75  TYPE_ASCII = 2,
76  TYPE_SHORT = 3,
77  TYPE_LONG = 4,
79  TYPE_SBYTE = 6,
82  TYPE_SLONG = 9,
84  TYPE_FLOAT = 11,
85  TYPE_DOUBLE = 12,
86  TYPE_IFD = 13,
87  TYPE_LONG8 = 16,
88  TYPE_SLONG8 = 17,
89  TYPE_IFD8 = 18
90  };
91 
94  {
111  COMPRESSION_IT8CTPAD = 32895,
116  COMPRESSION_PIXARFILM = 32908,
120  COMPRESSION_DCS = 32947,
127  };
128 
131  {
135  };
136 
139  {
142  };
143 
146  {
147  TOP_LEFT = 1,
148  TOP_RIGHT = 2,
151  LEFT_TOP = 5,
152  RIGHT_TOP = 6,
155  };
156 
159  {
162  RGB = 2,
163  PALETTE = 3,
164  MASK = 4,
165  SEPARATED = 5,
166  YCBCR = 6,
167  CIELAB = 8,
168  ICCLAB = 9,
169  ITULAB = 10,
170  CFA_ARRAY = 32803,
171  LOGL = 32844,
172  LOGLUV = 32845
173  };
174 
177  {
178  CONTIG = 1,
179  SEPARATE = 2
180  };
181 
184  {
185  NONE = 1,
188  };
189 
192  {
195  FLOAT = 3,
196  VOID = 4,
199  };
200 
203  {
204  BILEVEL = 1,
205  HALFTONE = 2,
207  };
208 
211  {
212  CENTERED = 1,
213  COSITED = 2
214  };
215 
217  enum TileType
218  {
221  };
222 
223  }
224  }
225 }
226 
227 #ifdef _MSC_VER
228 #pragma pop_macro("VOID")
229 #pragma pop_macro("BILEVEL")
230 #pragma pop_macro("HALFTONE")
231 #endif
232 
233 #endif // OME_FILES_TIFF_TYPES_H
234 
235 /*
236  * Local Variables:
237  * mode:C++
238  * End:
239  */
TileType
Type of tile.
Definition: Types.h:217
CCITT modified Huffman RLE.
Definition: Types.h:96
IT8 Monochrome picture.
Definition: Types.h:114
8-bit signed integer.
Definition: Types.h:79
ITU L*a*b*.
Definition: Types.h:169
Placeholder.
Definition: Types.h:73
FillOrder
Fill order.
Definition: Types.h:138
IT8 Linework RLE.
Definition: Types.h:113
8-bit bytes with NUL terminator.
Definition: Types.h:75
Row 0 bottom, column 0 rhs.
Definition: Types.h:149
Tiles.
Definition: Types.h:220
Least significant bit to most significant bit.
Definition: Types.h:141
CCITT Group 3 fax encoding (deprecated).
Definition: Types.h:97
64-bit IEEE floating point.
Definition: Types.h:85
ISO JBIG.
Definition: Types.h:122
compression code 32947 is reserved for Oceana Matrix dev@oceana.com.
Definition: Types.h:121
SampleFormat
Sample format.
Definition: Types.h:191
Samples are contiguous (chunky).
Definition: Types.h:178
BigTIFF 64-bit signed integer.
Definition: Types.h:88
PlanarConfiguration
Planar configuration of samples.
Definition: Types.h:176
Deflate compression (Adobe).
Definition: Types.h:104
Macintosh RLE.
Definition: Types.h:109
Indexed colour with colormap.
Definition: Types.h:163
unsigned int tag_type
Tag number.
Definition: Types.h:68
No compression.
Definition: Types.h:95
Strips.
Definition: Types.h:219
Threshholding
Thresholding scheme.
Definition: Types.h:202
Most significant bit to least significant bit.
Definition: Types.h:140
LZMA2.
Definition: Types.h:126
Color separations.
Definition: Types.h:165
8-bit unsigned integer.
Definition: Types.h:74
CCITT T.4 (TIFF 6 name).
Definition: Types.h:98
Mask.
Definition: Types.h:164
ICC L*a*b*.
Definition: Types.h:168
1 w/ word alignment.
Definition: Types.h:108
SGI Log 24-bit packed.
Definition: Types.h:124
Complex integer.
Definition: Types.h:197
RGB subchannels.
Definition: Types.h:162
Unsigned integer.
Definition: Types.h:193
CCITT T.6 (TIFF 6 name).
Definition: Types.h:100
IEEE floating point.
Definition: Types.h:195
Row 0 top, column 0 lhs.
Definition: Types.h:147
Leadtools JPEG2000.
Definition: Types.h:125
CIE log2(L) (u&#39;,v&#39;).
Definition: Types.h:172
Compression
Compression technique.
Definition: Types.h:93
Row 0 lhs, column 0 bottom.
Definition: Types.h:154
Orientation
Image orientation.
Definition: Types.h:145
JPEG DCT compression.
Definition: Types.h:103
uint64_t offset_type
IFD offset.
Definition: Types.h:65
CCITT Group 4 fax encoding (deprecated).
Definition: Types.h:99
Row 0 bottom, column 0 lhs.
Definition: Types.h:150
compression codes 32908-32911 are reserved for Pixar.
Definition: Types.h:117
codes 32895-32898 are reserved for ANSI IT8 TIFF/IT <dkelly@apago.com).
Definition: Types.h:112
Row 0 rhs, column 0 bottom.
Definition: Types.h:153
Horizontal differencing.
Definition: Types.h:186
Signed integer.
Definition: Types.h:194
Complex IEEE floating point.
Definition: Types.h:198
Row 0 top, column 0 rhs.
Definition: Types.h:148
Co-sited.
Definition: Types.h:213
CIE log2(L).
Definition: Types.h:171
64-bit signed fraction.
Definition: Types.h:83
16-bit signed integer.
Definition: Types.h:81
Pixar companded 11bit ZIP.
Definition: Types.h:118
32-bit unsigned integer (offset).
Definition: Types.h:86
Minimum value is black.
Definition: Types.h:161
SGI Log Luminance RLE.
Definition: Types.h:123
1976 CIE L*a*b*.
Definition: Types.h:167
CCIR 601.
Definition: Types.h:166
No prediction scheme used.
Definition: Types.h:185
ExtraSamples
Extra components description.
Definition: Types.h:130
Lempel-Ziv & Welch.
Definition: Types.h:101
Deflate compression.
Definition: Types.h:119
Row 0 lhs, column 0 top.
Definition: Types.h:151
Unassociated alpha data.
Definition: Types.h:134
YCbCrPosition
YCbCr positioning.
Definition: Types.h:210
NeXT 2-bit RLE.
Definition: Types.h:107
8-bit untyped data.
Definition: Types.h:80
TIFF/FX T.43 colour by layered JBIG compression.
Definition: Types.h:106
ThunderScan RLE.
Definition: Types.h:110
Associated alpha data with pre-multiplied color.
Definition: Types.h:133
64-bit unsigned fraction.
Definition: Types.h:78
Color Filter Array.
Definition: Types.h:170
TIFF/FX T.85 JBIG compression.
Definition: Types.h:105
PhotometricInterpretation
Photometric interpretation of pixel data.
Definition: Types.h:158
Minimum value is white.
Definition: Types.h:160
32-bit IEEE floating point.
Definition: Types.h:84
Centered.
Definition: Types.h:212
uint16_t directory_index_type
IFD index.
Definition: Types.h:62
Predictor
Prediction scheme.
Definition: Types.h:183
Unspecified data.
Definition: Types.h:132
Black and white.
Definition: Types.h:204
32-bit signed integer.
Definition: Types.h:82
BigTIFF 64-bit unsigned integer (offset).
Definition: Types.h:89
Row 0 rhs, column 0 top.
Definition: Types.h:152
BigTIFF 64-bit unsigned integer.
Definition: Types.h:87
IT8 Binary line art.
Definition: Types.h:115
Floating point.
Definition: Types.h:187
Samples are separate (planar).
Definition: Types.h:179
32-bit unsigned integer.
Definition: Types.h:77
Void.
Definition: Types.h:196
Error diffusion (Floyd-Steinberg).
Definition: Types.h:206
JPEG (deprecated).
Definition: Types.h:102
Type
Tag types.
Definition: Types.h:71
16-bit unsigned integer.
Definition: Types.h:76
Dithered.
Definition: Types.h:205