ome-files 0.2.2

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,
78 TYPE_RATIONAL = 5,
79 TYPE_SBYTE = 6,
80 TYPE_UNDEFINED = 7,
81 TYPE_SSHORT = 8,
82 TYPE_SLONG = 9,
83 TYPE_SRATIONAL = 10,
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
93 enum Compression
94 {
95 COMPRESSION_NONE = 1,
96 COMPRESSION_CCITTRLE = 2,
97 COMPRESSION_CCITTFAX3 = 3,
98 COMPRESSION_CCITT_T4 = 3,
99 COMPRESSION_CCITTFAX4 = 4,
100 COMPRESSION_CCITT_T6 = 4,
101 COMPRESSION_LZW = 5,
102 COMPRESSION_OJPEG = 6,
103 COMPRESSION_JPEG = 7,
104 COMPRESSION_ADOBE_DEFLATE = 8,
105 COMPRESSION_T85 = 9,
106 COMPRESSION_T43 = 10,
107 COMPRESSION_NEXT = 32766,
108 COMPRESSION_CCITTRLEW = 32771,
109 COMPRESSION_PACKBITS = 32773,
110 COMPRESSION_THUNDERSCAN = 32809,
111 COMPRESSION_IT8CTPAD = 32895,
113 COMPRESSION_IT8LW = 32896,
114 COMPRESSION_IT8MP = 32897,
115 COMPRESSION_IT8BL = 32898,
116 COMPRESSION_PIXARFILM = 32908,
118 COMPRESSION_PIXARLOG = 32909,
119 COMPRESSION_DEFLATE = 32946,
120 COMPRESSION_DCS = 32947,
122 COMPRESSION_JBIG = 34661,
123 COMPRESSION_SGILOG = 34676,
124 COMPRESSION_SGILOG24 = 34677,
125 COMPRESSION_JP2000 = 34712,
126 COMPRESSION_LZMA = 34925
127 };
128
130 enum ExtraSamples
131 {
132 UNSPECIFIED = 0,
133 ASSOCIATED_ALPHA = 1,
134 UNASSOCIATED_ALPHA = 2
135 };
136
138 enum FillOrder
139 {
140 MSB_TO_LSB = 1,
141 LSB_TO_MSB = 2
142 };
143
145 enum Orientation
146 {
147 TOP_LEFT = 1,
148 TOP_RIGHT = 2,
149 BOTTOM_RIGHT = 3,
150 BOTTOM_LEFT = 4,
151 LEFT_TOP = 5,
152 RIGHT_TOP = 6,
153 RIGHT_BOTTOM = 7,
154 LEFT_BOTTOM = 8
155 };
156
158 enum PhotometricInterpretation
159 {
160 MIN_IS_WHITE = 0,
161 MIN_IS_BLACK = 1,
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
176 enum PlanarConfiguration
177 {
178 CONTIG = 1,
179 SEPARATE = 2
180 };
181
183 enum Predictor
184 {
185 NONE = 1,
186 HORIZONTAL = 2,
187 FLOATING_POINT = 3
188 };
189
191 enum SampleFormat
192 {
193 UNSIGNED_INT = 1,
194 SIGNED_INT = 2,
195 FLOAT = 3,
196 VOID = 4,
197 COMPLEX_INT = 5,
198 COMPLEX_FLOAT = 6
199 };
200
202 enum Threshholding
203 {
204 BILEVEL = 1,
205 HALFTONE = 2,
206 ERRORDIFFUSE = 3
207 };
208
210 enum YCbCrPosition
211 {
212 CENTERED = 1,
213 COSITED = 2
214 };
215
217 enum TileType
218 {
219 STRIP,
220 TILE
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 */
ome::files::tiff::TileType
TileType
Type of tile.
Definition: Types.h:217
ome::files::tiff::COMPRESSION_CCITTRLE
CCITT modified Huffman RLE.
Definition: Types.h:96
ome::files::tiff::COMPRESSION_IT8MP
IT8 Monochrome picture.
Definition: Types.h:114
ome::files::tiff::TYPE_SBYTE
8-bit signed integer.
Definition: Types.h:79
ome::files::tiff::ITULAB
ITU L*a*b*.
Definition: Types.h:169
ome::files::tiff::TYPE_NONE
Placeholder.
Definition: Types.h:73
ome::files::tiff::FillOrder
FillOrder
Fill order.
Definition: Types.h:138
ome::files::tiff::COMPRESSION_IT8LW
IT8 Linework RLE.
Definition: Types.h:113
ome::files::tiff::TYPE_ASCII
8-bit bytes with NUL terminator.
Definition: Types.h:75
ome::files::tiff::BOTTOM_RIGHT
Row 0 bottom, column 0 rhs.
Definition: Types.h:149
ome::files::tiff::TILE
Tiles.
Definition: Types.h:220
ome::files::tiff::LSB_TO_MSB
Least significant bit to most significant bit.
Definition: Types.h:141
ome::files::tiff::COMPRESSION_CCITTFAX3
CCITT Group 3 fax encoding (deprecated).
Definition: Types.h:97
ome::files::tiff::TYPE_DOUBLE
64-bit IEEE floating point.
Definition: Types.h:85
ome::files::tiff::COMPRESSION_JBIG
ISO JBIG.
Definition: Types.h:122
ome::files::tiff::COMPRESSION_DCS
compression code 32947 is reserved for Oceana Matrix dev@oceana.com.
Definition: Types.h:121
ome::files::tiff::SampleFormat
SampleFormat
Sample format.
Definition: Types.h:191
ome::files::tiff::CONTIG
Samples are contiguous (chunky).
Definition: Types.h:178
ome::files::tiff::TYPE_SLONG8
BigTIFF 64-bit signed integer.
Definition: Types.h:88
ome::files::tiff::PlanarConfiguration
PlanarConfiguration
Planar configuration of samples.
Definition: Types.h:176
ome::files::tiff::COMPRESSION_ADOBE_DEFLATE
Deflate compression (Adobe).
Definition: Types.h:104
ome::files::tiff::COMPRESSION_PACKBITS
Macintosh RLE.
Definition: Types.h:109
ome::files::tiff::PALETTE
Indexed colour with colormap.
Definition: Types.h:163
ome::files::tiff::tag_type
unsigned int tag_type
Tag number.
Definition: Types.h:68
ome::files::tiff::COMPRESSION_NONE
No compression.
Definition: Types.h:95
ome::files::tiff::STRIP
Strips.
Definition: Types.h:219
ome::files::tiff::Threshholding
Threshholding
Thresholding scheme.
Definition: Types.h:202
ome::files::tiff::MSB_TO_LSB
Most significant bit to least significant bit.
Definition: Types.h:140
ome::files::tiff::COMPRESSION_LZMA
LZMA2.
Definition: Types.h:126
ome::files::tiff::SEPARATED
Color separations.
Definition: Types.h:165
ome::files::tiff::TYPE_BYTE
8-bit unsigned integer.
Definition: Types.h:74
ome::files::tiff::COMPRESSION_CCITT_T4
CCITT T.4 (TIFF 6 name).
Definition: Types.h:98
ome::files::tiff::MASK
Mask.
Definition: Types.h:164
ome::files::tiff::ICCLAB
ICC L*a*b*.
Definition: Types.h:168
ome::files::tiff::COMPRESSION_CCITTRLEW
1 w/ word alignment.
Definition: Types.h:108
ome::files::tiff::COMPRESSION_SGILOG24
SGI Log 24-bit packed.
Definition: Types.h:124
ome::files::tiff::COMPLEX_INT
Complex integer.
Definition: Types.h:197
ome::files::tiff::RGB
RGB subchannels.
Definition: Types.h:162
ome::files::tiff::UNSIGNED_INT
Unsigned integer.
Definition: Types.h:193
ome::files::tiff::COMPRESSION_CCITT_T6
CCITT T.6 (TIFF 6 name).
Definition: Types.h:100
ome::files::tiff::FLOAT
IEEE floating point.
Definition: Types.h:195
ome::files::tiff::TOP_LEFT
Row 0 top, column 0 lhs.
Definition: Types.h:147
ome::files::tiff::COMPRESSION_JP2000
Leadtools JPEG2000.
Definition: Types.h:125
ome::files::tiff::LOGLUV
CIE log2(L) (u&#39;,v&#39;).
Definition: Types.h:172
ome::files::tiff::Compression
Compression
Compression technique.
Definition: Types.h:93
ome::files::tiff::LEFT_BOTTOM
Row 0 lhs, column 0 bottom.
Definition: Types.h:154
ome::files::tiff::Orientation
Orientation
Image orientation.
Definition: Types.h:145
ome::files::tiff::COMPRESSION_JPEG
JPEG DCT compression.
Definition: Types.h:103
ome::files::tiff::offset_type
uint64_t offset_type
IFD offset.
Definition: Types.h:65
ome::files::tiff::COMPRESSION_CCITTFAX4
CCITT Group 4 fax encoding (deprecated).
Definition: Types.h:99
ome::files::tiff::BOTTOM_LEFT
Row 0 bottom, column 0 lhs.
Definition: Types.h:150
ome::files::tiff::COMPRESSION_PIXARFILM
compression codes 32908-32911 are reserved for Pixar.
Definition: Types.h:117
ome::files::tiff::COMPRESSION_IT8CTPAD
codes 32895-32898 are reserved for ANSI IT8 TIFF/IT <dkelly@apago.com).
Definition: Types.h:112
ome::files::tiff::RIGHT_BOTTOM
Row 0 rhs, column 0 bottom.
Definition: Types.h:153
ome
Open Microscopy Environment C++.
ome::files::tiff::HORIZONTAL
Horizontal differencing.
Definition: Types.h:186
ome::files::tiff::SIGNED_INT
Signed integer.
Definition: Types.h:194
ome::files::tiff::COMPLEX_FLOAT
Complex IEEE floating point.
Definition: Types.h:198
ome::files::tiff::TOP_RIGHT
Row 0 top, column 0 rhs.
Definition: Types.h:148
ome::files::tiff::COSITED
Co-sited.
Definition: Types.h:213
ome::files::tiff::LOGL
CIE log2(L).
Definition: Types.h:171
ome::files::tiff::TYPE_SRATIONAL
64-bit signed fraction.
Definition: Types.h:83
ome::files::tiff::TYPE_SSHORT
16-bit signed integer.
Definition: Types.h:81
ome::files::tiff::COMPRESSION_PIXARLOG
Pixar companded 11bit ZIP.
Definition: Types.h:118
ome::files::tiff::TYPE_IFD
32-bit unsigned integer (offset).
Definition: Types.h:86
ome::files::tiff::MIN_IS_BLACK
Minimum value is black.
Definition: Types.h:161
ome::files::tiff::COMPRESSION_SGILOG
SGI Log Luminance RLE.
Definition: Types.h:123
ome::files::tiff::CIELAB
1976 CIE L*a*b*.
Definition: Types.h:167
ome::files::tiff::YCBCR
CCIR 601.
Definition: Types.h:166
ome::files::tiff::NONE
No prediction scheme used.
Definition: Types.h:185
ome::files::tiff::ExtraSamples
ExtraSamples
Extra components description.
Definition: Types.h:130
ome::files::tiff::COMPRESSION_LZW
Lempel-Ziv & Welch.
Definition: Types.h:101
ome::files::tiff::COMPRESSION_DEFLATE
Deflate compression.
Definition: Types.h:119
cstdint.h
ome::files::tiff::LEFT_TOP
Row 0 lhs, column 0 top.
Definition: Types.h:151
ome::files::tiff::UNASSOCIATED_ALPHA
Unassociated alpha data.
Definition: Types.h:134
ome::files::tiff::YCbCrPosition
YCbCrPosition
YCbCr positioning.
Definition: Types.h:210
ome::files::tiff::COMPRESSION_NEXT
NeXT 2-bit RLE.
Definition: Types.h:107
ome::files::tiff::TYPE_UNDEFINED
8-bit untyped data.
Definition: Types.h:80
ome::files::tiff::COMPRESSION_T43
TIFF/FX T.43 colour by layered JBIG compression.
Definition: Types.h:106
ome::files::tiff::COMPRESSION_THUNDERSCAN
ThunderScan RLE.
Definition: Types.h:110
ome::files::tiff::ASSOCIATED_ALPHA
Associated alpha data with pre-multiplied color.
Definition: Types.h:133
ome::files::tiff::TYPE_RATIONAL
64-bit unsigned fraction.
Definition: Types.h:78
ome::files::tiff::CFA_ARRAY
Color Filter Array.
Definition: Types.h:170
ome::files::tiff::COMPRESSION_T85
TIFF/FX T.85 JBIG compression.
Definition: Types.h:105
ome::files::tiff::PhotometricInterpretation
PhotometricInterpretation
Photometric interpretation of pixel data.
Definition: Types.h:158
ome::files::tiff::MIN_IS_WHITE
Minimum value is white.
Definition: Types.h:160
ome::files::tiff::TYPE_FLOAT
32-bit IEEE floating point.
Definition: Types.h:84
ome::files::tiff::CENTERED
Centered.
Definition: Types.h:212
ome::files::tiff::directory_index_type
uint16_t directory_index_type
IFD index.
Definition: Types.h:62
ome::files::tiff::Predictor
Predictor
Prediction scheme.
Definition: Types.h:183
ome::files::tiff::UNSPECIFIED
Unspecified data.
Definition: Types.h:132
ome::files::tiff::BILEVEL
Black and white.
Definition: Types.h:204
ome::files::tiff::TYPE_SLONG
32-bit signed integer.
Definition: Types.h:82
ome::files::tiff::TYPE_IFD8
BigTIFF 64-bit unsigned integer (offset).
Definition: Types.h:89
ome::files::tiff::RIGHT_TOP
Row 0 rhs, column 0 top.
Definition: Types.h:152
ome::files::tiff::TYPE_LONG8
BigTIFF 64-bit unsigned integer.
Definition: Types.h:87
ome::files::tiff::COMPRESSION_IT8BL
IT8 Binary line art.
Definition: Types.h:115
ome::files::tiff::FLOATING_POINT
Floating point.
Definition: Types.h:187
ome::files::tiff::SEPARATE
Samples are separate (planar).
Definition: Types.h:179
ome::files::tiff::TYPE_LONG
32-bit unsigned integer.
Definition: Types.h:77
ome::files::tiff::VOID
Void.
Definition: Types.h:196
ome::files::tiff::ERRORDIFFUSE
Error diffusion (Floyd-Steinberg).
Definition: Types.h:206
ome::files::tiff::COMPRESSION_OJPEG
JPEG (deprecated).
Definition: Types.h:102
ome::files::tiff::Type
Type
Tag types.
Definition: Types.h:71
ome::files::tiff::TYPE_SHORT
16-bit unsigned integer.
Definition: Types.h:76
ome::files::tiff::HALFTONE
Dithered.
Definition: Types.h:205