im_format_ecw.h
Go to the documentation of this file.00001 /** \file
00002 * \brief Register the ECW Format
00003 *
00004 * See Copyright Notice in im_lib.h
00005 */
00006
00007 #ifndef __IM_FORMAT_ECW_H
00008 #define __IM_FORMAT_ECW_H
00009
00010 #if defined(__cplusplus)
00011 extern "C" {
00012 #endif
00013
00014 /** \defgroup ecw ECW - ECW JPEG 2000
00015 * \section Description
00016 *
00017 * \par
00018 * ECW JPEG 2000 Copyright 1998 Earth Resource Mapping Ltd.
00019 * Two formats are supported with this module. The ECW (Enhanced Compression Wavelet) format and the ISO JPEG 2000 format.
00020 * \par
00021 * Access to the ECW format uses the ECW JPEG 2000 SDK version 3.3.
00022 * Available in Windows, Linux and Solaris Only. But source code is also available. \n
00023 * You must link the application with "im_ecw.lib"
00024 * and you must call the function \ref imFormatRegisterECW once
00025 * to register the format into the IM core library. \n
00026 * Depends also on the ECW JPEG 2000 SDK libraries (NCSEcw.lib).
00027 * \par
00028 * When using other JPEG 2000 libraries the first registered library will be used to guess the file format.
00029 * Use the extension *.ecw to shortcut to this implementation of the JPEG 2000 format.
00030 * \par
00031 * See \ref im_format_ecw.h
00032 * \par
00033 * \par
00034 * http://www.ermapper.com/ecw/ \n
00035 * The three types of licenses available for the ECW JPEG 2000 SDK are as follows:
00036 \verbatim
00037 - ECW JPEG 2000 SDK Free Use License Agreement - This license governs the free use of
00038 the ECW JPEG 2000 SDK with Unlimited Decompression and Limited Compression (Less
00039 than 500MB).
00040 - ECW JPEG 2000 SDK Public Use License Agreement - This license governs the use of the
00041 ECW SDK with Unlimited Decompression and Unlimited Compression for applications
00042 licensed under a GNU General Public style license.
00043 - ECW JPEG 2000 SDK Commercial Use License Agreement - This license governs the use
00044 of the ECW JPEG 2000 SDK with Unlimited Decompression and Unlimited Compression
00045 for commercial applications.
00046 \endverbatim
00047 *
00048 * \section Features
00049 *
00050 \verbatim
00051 Data Types: Byte, UShort, Float
00052 Color Spaces: BINARY, GRAY, RGB, YCBCR
00053 Compressions:
00054 ECW - Enhanced Compression Wavelet
00055 JPEG-2000 - ISO JPEG 2000
00056 Only one image.
00057 Can have an alpha channel
00058 Internally the components are always packed.
00059 Lines arranged from top down to bottom.
00060 Handle() returns NCSFileView* when reading, NCSEcwCompressClient* when writing.
00061
00062 Attributes:
00063 CompressionRatio IM_FLOAT (1) [example: Ratio=7 just like 7:1]
00064 OriginX, OriginY IM_FLOAT (1)
00065 Rotation IM_FLOAT (1)
00066 CellIncrementX, CellIncrementY IM_FLOAT (1)
00067 CellUnits (string)
00068 Datum (string)
00069 Projection (string)
00070 ViewWidth, ViewHeight IM_INT (1) [view zoom]
00071 ViewXmin, ViewYmin, ViewXmax, ViewYmax IM_INT (1) [view limits]
00072 MultiBandCount IM_USHORT (1) [Number of bands in a multiband gray image.]
00073 MultiBandSelect IM_USHORT (1) [Band number to read one band of a multiband gray image. Must be set before reading image info.]
00074
00075 Comments:
00076 Only read support is implemented.
00077 To read a region of the image you must set the View* attributes before reading the image data.
00078 After reading a partial image the width and height returned in ReadImageInfo is the view size.
00079 The view limits define the region to be readed.
00080 The view size is the actual size of the image, so the result can be zoomed.
00081 \endverbatim
00082 * \ingroup format */
00083
00084 /** Register the ECW Format
00085 * \ingroup ecw */
00086 void imFormatRegisterECW(void);
00087
00088
00089 #if defined(__cplusplus)
00090 }
00091 #endif
00092
00093 #endif