From 5a422aba704c375a307a902bafe658342e209906 Mon Sep 17 00:00:00 2001 From: scuri Date: Fri, 17 Oct 2008 06:10:15 +0000 Subject: First commit - moving from LuaForge to SourceForge --- include/im_format_ecw.h | 93 +++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 93 insertions(+) create mode 100644 include/im_format_ecw.h (limited to 'include/im_format_ecw.h') diff --git a/include/im_format_ecw.h b/include/im_format_ecw.h new file mode 100644 index 0000000..701bac3 --- /dev/null +++ b/include/im_format_ecw.h @@ -0,0 +1,93 @@ +/** \file + * \brief Register the ECW Format + * + * See Copyright Notice in im_lib.h + */ + +#ifndef __IM_FORMAT_ECW_H +#define __IM_FORMAT_ECW_H + +#if defined(__cplusplus) +extern "C" { +#endif + +/** \defgroup ecw ECW - ECW JPEG 2000 + * \section Description + * + * \par + * ECW JPEG 2000 Copyright 1998 Earth Resource Mapping Ltd. + * Two formats are supported with this module. The ECW (Enhanced Compression Wavelet) format and the ISO JPEG 2000 format. + * \par + * Access to the ECW format uses the ECW JPEG 2000 SDK version 3.3. + * Available in Windows, Linux and Solaris Only. But source code is also available. \n + * You must link the application with "im_ecw.lib" + * and you must call the function \ref imFormatRegisterECW once + * to register the format into the IM core library. \n + * Depends also on the ECW JPEG 2000 SDK libraries (NCSEcw.lib). + * \par + * When using other JPEG 2000 libraries the first registered library will be used to guess the file format. + * Use the extension *.ecw to shortcut to this implementation of the JPEG 2000 format. + * \par + * See \ref im_format_ecw.h + * \par + * \par + * http://www.ermapper.com/ecw/ \n + * The three types of licenses available for the ECW JPEG 2000 SDK are as follows: +\verbatim + - ECW JPEG 2000 SDK Free Use License Agreement - This license governs the free use of + the ECW JPEG 2000 SDK with Unlimited Decompression and Limited Compression (Less + than 500MB). + - ECW JPEG 2000 SDK Public Use License Agreement - This license governs the use of the + ECW SDK with Unlimited Decompression and Unlimited Compression for applications + licensed under a GNU General Public style license. + - ECW JPEG 2000 SDK Commercial Use License Agreement - This license governs the use + of the ECW JPEG 2000 SDK with Unlimited Decompression and Unlimited Compression + for commercial applications. +\endverbatim + * + * \section Features + * +\verbatim + Data Types: Byte, UShort, Float + Color Spaces: BINARY, GRAY, RGB, YCBCR + Compressions: + ECW - Enhanced Compression Wavelet + JPEG-2000 - ISO JPEG 2000 + Only one image. + Can have an alpha channel + Internally the components are always packed. + Lines arranged from top down to bottom. + Handle() returns NCSFileView* when reading, NCSEcwCompressClient* when writing. + + Attributes: + CompressionRatio IM_FLOAT (1) [example: Ratio=7 just like 7:1] + OriginX, OriginY IM_FLOAT (1) + Rotation IM_FLOAT (1) + CellIncrementX, CellIncrementY IM_FLOAT (1) + CellUnits (string) + Datum (string) + Projection (string) + ViewWidth, ViewHeight IM_INT (1) [view zoom] + ViewXmin, ViewYmin, ViewXmax, ViewYmax IM_INT (1) [view limits] + MultiBandCount IM_USHORT (1) [Number of bands in a multiband gray image.] + MultiBandSelect IM_USHORT (1) [Band number to read one band of a multiband gray image. Must be set before reading image info.] + + Comments: + Only read support is implemented. + To read a region of the image you must set the View* attributes before reading the image data. + After reading a partial image the width and height returned in ReadImageInfo is the view size. + The view limits define the region to be readed. + The view size is the actual size of the image, so the result can be zoomed. +\endverbatim + * \ingroup format */ + +/** Register the ECW Format + * \ingroup ecw */ +void imFormatRegisterECW(void); + + +#if defined(__cplusplus) +} +#endif + +#endif -- cgit v1.2.3