MrSID Decode SDK for Raster Reference Manual
9.0.0.3864
Main Page
Namespaces
Classes
Files
Examples
File List
File Members
lti_utils.h
Go to the documentation of this file.
1
/* $Id$ */
2
/* //////////////////////////////////////////////////////////////////////////
3
// //
4
// This code is Copyright (c) 2004 LizardTech, Inc, 1008 Western Avenue, //
5
// Suite 200, Seattle, WA 98104. Unauthorized use or distribution //
6
// prohibited. Access to and use of this code is permitted only under //
7
// license from LizardTech, Inc. Portions of the code are protected by //
8
// US and foreign patents and other filings. All Rights Reserved. //
9
// //
11
/* PUBLIC */
12
13
#ifndef LTI_UTILS_H
14
#define LTI_UTILS_H
15
16
17
// lt_lib_mrsid_core
18
#include "
lti_types.h
"
19
20
LT_BEGIN_NAMESPACE
(LizardTech)
21
#define LTI_DEFAULT_MAG_SNAP_THRESHOLD 0.41503749927884381
22
31
class
LTIUtils
32
{
33
public
:
44
static
lt_uint8
getMinNumSamplesPerPixel
(
LTIColorSpace
colorspace);
45
46
#if 1 //JAH deprecate
47
53
static
LTIColorSpace
getColorSpaceWithoutAlpha
(
LTIColorSpace
colorspace);
54
61
static
bool
hasAlphaBand
(
LTIColorSpace
colorspace);
62
#endif
63
72
static
lt_uint8
getNumBytes
(
LTIDataType
datatype);
73
83
static
bool
isSigned
(
LTIDataType
datatype);
84
94
static
bool
isIntegral
(
LTIDataType
datatype);
95
96
static
double
getMinValue
(
LTIDataType
datatype);
97
static
double
getMaxValue
(
LTIDataType
datatype);
98
99
static
bool
needsSwapping
(
LTIDataType
datatype,
LTIEndian
byteOrder);
100
105
117
static
void
convertWindowLevelToMinMax
(
double
window,
double
level,
118
double
& drmin,
double
& drmax);
119
134
static
void
convertMinMaxToWindowLevel
(
double
drmin,
double
drmax,
135
double
& window,
double
& level);
142
156
static
lt_int32
magToLevel
(
double
mag);
157
168
static
double
levelToMag
(
lt_int32
level);
169
178
static
double
snapToOctave
(
double
mag,
double
threshold =
LTI_DEFAULT_MAG_SNAP_THRESHOLD
);
179
190
static
double
snapToOctave
(
double
mag,
const
LTIImageStage
&imageStage,
double
threshold =
LTI_DEFAULT_MAG_SNAP_THRESHOLD
);
191
192
static
bool
isOctave
(
double
mag);
193
194
203
static
lt_uint8
getNumLevelsForIcon
(
lt_uint32
width,
204
lt_uint32
height,
205
lt_uint32
iconsize);
206
207
#if 0
208
216
static
double
getMagForIcon(
lt_uint32
width,
217
lt_uint32
height,
218
lt_uint32
iconsize);
219
220
static
double
getMaxMag(
lt_uint32
width,
lt_uint32
height);
221
#endif
222
236
static
LT_STATUS
getDimsAtMag
(
lt_uint32
width,
lt_uint32
height,
237
double
mag,
238
lt_uint32
&scaledWidth,
lt_uint32
&scaledHeight);
239
258
static
void
getVersionInfo
(
lt_uint32
& major,
259
lt_uint32
& minor,
260
lt_uint32
& revision,
261
lt_uint32
& build,
262
const
char
*& branch);
263
273
static
const
char
*
getVersionString
();
274
275
private
:
276
// nope
277
LTIUtils
();
278
LTIUtils
(
const
LTIUtils
&);
279
};
280
281
282
LT_END_NAMESPACE
(LizardTech)
283
284
#endif // LTI_UTILS_H
LizardTech