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 read. 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