00001 /** \file 00002 * \brief Library Management and Main Documentation 00003 * 00004 * See Copyright Notice in this file. 00005 */ 00006 00007 #ifndef __IM_LIB_H 00008 #define __IM_LIB_H 00009 00010 #if defined(__cplusplus) 00011 extern "C" { 00012 #endif 00013 00014 00015 /** \defgroup lib Library Management 00016 * \ingroup util 00017 * \par 00018 * Usefull definitions for about dialogs and 00019 * for comparing the compiled version with the linked version of the library. 00020 * \par 00021 * \verbatim im._AUTHOR [in Lua 5] \endverbatim 00022 * \verbatim im._COPYRIGHT [in Lua 5] \endverbatim 00023 * \verbatim im._VERSION [in Lua 5] \endverbatim 00024 * \verbatim im._VERSION_DATE [in Lua 5] \endverbatim 00025 * \verbatim im._VERSION_NUMBER [in Lua 5] \endverbatim 00026 * \verbatim im._DESCRIPTION [in Lua 5] \endverbatim 00027 * \verbatim im._NAME [in Lua 5] \endverbatim 00028 * \par 00029 * See \ref im_lib.h 00030 * @{ 00031 */ 00032 #define IM_AUTHOR "Antonio Scuri" 00033 #define IM_COPYRIGHT "Copyright (C) 1994-2009 Tecgraf, PUC-Rio." 00034 #define IM_VERSION "3.5" /* bug fixes are reported only by imVersion functions */ 00035 #define IM_VERSION_NUMBER 305000 00036 #define IM_VERSION_DATE "2009/10/02" 00037 #define IM_DESCRIPTION "Image Representation, Storage, Capture and Processing" 00038 #define IM_NAME "IM - An Imaging Toolkit" 00039 /** @} */ 00040 00041 00042 /** Returns the library current version. Returns the definition IM_VERSION plus the bug fix number. 00043 * 00044 * \verbatim im.Version() -> version: string [in Lua 5] \endverbatim 00045 * \ingroup lib */ 00046 const char* imVersion(void); 00047 00048 /** Returns the library current version release date. Returns the definition IM_VERSION_DATE. 00049 * 00050 * \verbatim im.VersionDate() -> date: string [in Lua 5] \endverbatim 00051 * \ingroup lib */ 00052 const char* imVersionDate(void); 00053 00054 /** Returns the library current version number. Returns the definition IM_VERSION_NUMBER plus the bug fix number. \n 00055 * Can be compared in run time with IM_VERSION_NUMBER to compare compiled and linked versions of the library. 00056 * 00057 * \verbatim im.VersionNumber() -> version: number [in Lua 5] \endverbatim 00058 * \ingroup lib */ 00059 int imVersionNumber(void); 00060 00061 00062 #if defined(__cplusplus) 00063 } 00064 #endif 00065 00066 00067 /*! \mainpage IM 00068 * <CENTER> 00069 * <H3> Image Representation, Storage, Capture and Processing </H3> 00070 * Tecgraf: Computer Graphics Technology Group, PUC-Rio, Brazil \n 00071 * http://www.tecgraf.puc-rio.br/im \n 00072 * mailto:im@tecgraf.puc-rio.br 00073 * </CENTER> 00074 * 00075 * \section over Overview 00076 * \par 00077 * IM is a toolkit for Digital Imaging. 00078 * \par 00079 * It provides support for image capture, several image file formats and many image processing operations. 00080 * \par 00081 * Image representation includes scientific data types (like IEEE floating point data) 00082 * and attributes (or metadata like GeoTIFF and Exif tags). 00083 * Animation, video and volumes are supported as image sequences, 00084 * but there is no digital audio support. 00085 * \par 00086 * The main goal of the library is to provide a simple API and abstraction 00087 * of images for scientific applications. 00088 * \par 00089 * The toolkit API is written in C. 00090 * The core library source code is implemented in C++ and it is very portable, 00091 * it can be compiled in Windows and UNIX with no modifications. 00092 * New image processing operations can be implemented in C or in C++. 00093 * \par 00094 * IM is free software, can be used for public and commercial applications. 00095 * \par 00096 * This work was developed at Tecgraf/PUC-Rio 00097 * by means of the partnership with PETROBRAS/CENPES. 00098 * 00099 * \section author Author 00100 * \par 00101 * Basic Software Group @ Tecgraf/PUC-Rio 00102 * - Antonio Scuri scuri@tecgraf.puc-rio.br 00103 * 00104 * \section copyright Copyright Notice 00105 \verbatim 00106 00107 **************************************************************************** 00108 Copyright (C) 1994-2009 Tecgraf, PUC-Rio. 00109 00110 Permission is hereby granted, free of charge, to any person obtaining 00111 a copy of this software and associated documentation files (the 00112 "Software"), to deal in the Software without restriction, including 00113 without limitation the rights to use, copy, modify, merge, publish, 00114 distribute, sublicense, and/or sell copies of the Software, and to 00115 permit persons to whom the Software is furnished to do so, subject to 00116 the following conditions: 00117 00118 The above copyright notice and this permission notice shall be 00119 included in all copies or substantial portions of the Software. 00120 00121 THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 00122 EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 00123 MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 00124 IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY 00125 CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, 00126 TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE 00127 SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 00128 **************************************************************************** 00129 \endverbatim 00130 */ 00131 00132 00133 /** \defgroup imagerep Image Representation 00134 * \par 00135 * See \ref im.h 00136 */ 00137 00138 00139 /** \defgroup file Image Storage 00140 * \par 00141 * See \ref im.h 00142 */ 00143 00144 00145 /** \defgroup format File Formats 00146 * \par 00147 * See \ref im.h 00148 * 00149 * Internal Predefined File Formats: 00150 * \li "BMP" - Windows Device Independent Bitmap 00151 * \li "PCX" - ZSoft Picture 00152 * \li "GIF" - Graphics Interchange Format 00153 * \li "TIFF" - Tagged Image File Format 00154 * \li "RAS" - Sun Raster File 00155 * \li "SGI" - Silicon Graphics Image File Format 00156 * \li "JPEG" - JPEG File Interchange Format 00157 * \li "LED" - IUP image in LED 00158 * \li "TGA" - Truevision Targa 00159 * \li "RAW" - RAW File 00160 * \li "PNM" - Netpbm Portable Image Map 00161 * \li "ICO" - Windows Icon 00162 * \li "PNG" - Portable Network Graphic Format 00163 * 00164 * Other Supported File Formats: 00165 * \li "JP2" - JPEG-2000 JP2 File Format 00166 * \li "AVI" - Windows Audio-Video Interleaved RIFF 00167 * \li "WMV" - Windows Media Video Format 00168 * 00169 * Some Known Compressions: 00170 * \li "NONE" - No Compression. 00171 * \li "RLE" - Run Lenght Encoding. 00172 * \li "LZW" - Lempel, Ziff and Welsh. 00173 * \li "JPEG" - Join Photographics Experts Group. 00174 * \li "DEFLATE" - LZ77 variation (ZIP) 00175 * 00176 * \ingroup file */ 00177 00178 00179 /* Library Names Convention 00180 * 00181 * Global Functions and Types - "im[Object][Action]" using first capitals (imFileOpen) 00182 * Local Functions and Types - "i[Object][Action]" using first capitals (iTIFFGetCompIndex) 00183 * Local Static Variables - same as local functions and types (iFormatCount) 00184 * Local Static Tables - same as local functions and types with "Table" suffix (iTIFFCompTable) 00185 * Variables and Members - no prefix, all lower case (width) 00186 * Defines and Enumerations - all capitals (IM_ERR_NONE) 00187 * 00188 */ 00189 00190 00191 #endif