IM: im_lib.h Source File
From IM - An Imaging Tool
im_lib.h
Go to the documentation of this file.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-2007 Tecgraf/PUC-Rio and PETROBRAS S/A" 00034 #define IM_VERSION "3.3.0" 00035 #define IM_VERSION_NUMBER 303000 00036 #define IM_VERSION_DATE "2007/11/26" 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. 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. \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-2007 Tecgraf/PUC-Rio and PETROBRAS S/A. * 00109 * All rights reserved. * 00110 * * 00111 * Permission is hereby granted, free of charge, to any person obtaining * 00112 * a copy of this software and associated documentation files (the * 00113 * "Software"), to deal in the Software without restriction, including * 00114 * without limitation the rights to use, copy, modify, merge, publish, * 00115 * distribute, sublicense, and/or sell copies of the Software, and to * 00116 * permit persons to whom the Software is furnished to do so, subject to * 00117 * the following conditions: * 00118 * * 00119 * The above copyright notice and this permission notice shall be * 00120 * included in all copies or substantial portions of the Software. * 00121 * * 00122 * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, * 00123 * EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF * 00124 * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. * 00125 * IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY * 00126 * CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, * 00127 * TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE * 00128 * SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. * 00129 **************************************************************************** 00130 \endverbatim 00131 */ 00132 00133 00134 /** \defgroup imagerep Image Representation 00135 * \par 00136 * See \ref im.h 00137 */ 00138 00139 00140 /** \defgroup file Image Storage 00141 * \par 00142 * See \ref im.h 00143 */ 00144 00145 00146 /** \defgroup format File Formats 00147 * \par 00148 * See \ref im.h 00149 * 00150 * Internal Predefined File Formats: 00151 * \li "BMP" - Windows Device Independent Bitmap 00152 * \li "PCX" - ZSoft Picture 00153 * \li "GIF" - Graphics Interchange Format 00154 * \li "TIFF" - Tagged Image File Format 00155 * \li "RAS" - Sun Raster File 00156 * \li "SGI" - Silicon Graphics Image File Format 00157 * \li "JPEG" - JPEG File Interchange Format 00158 * \li "LED" - IUP image in LED 00159 * \li "TGA" - Truevision Targa 00160 * \li "RAW" - RAW File 00161 * \li "PNM" - Netpbm Portable Image Map 00162 * \li "ICO" - Windows Icon 00163 * \li "PNG" - Portable Network Graphic Format 00164 * 00165 * Other Supported File Formats: 00166 * \li "JP2" - JPEG-2000 JP2 File Format 00167 * \li "AVI" - Windows Audio-Video Interleaved RIFF 00168 * \li "WMV" - Windows Media Video Format 00169 * 00170 * Some Known Compressions: 00171 * \li "NONE" - No Compression. 00172 * \li "RLE" - Run Lenght Encoding. 00173 * \li "LZW" - Lempel, Ziff and Welsh. 00174 * \li "JPEG" - Join Photographics Experts Group. 00175 * \li "DEFLATE" - LZ77 variation (ZIP) 00176 * 00177 * \ingroup file */ 00178 00179 00180 /* Library Names Convention 00181 * 00182 * Global Functions and Types - "im[Object][Action]" using first capitals (imFileOpen) 00183 * Local Functions and Types - "i[Object][Action]" using first capitals (iTIFFGetCompIndex) 00184 * Local Static Variables - same as local functions and types (iFormatCount) 00185 * Local Static Tables - same as local functions and types with "Table" suffix (iTIFFCompTable) 00186 * Variables and Members - no prefix, all lower case (width) 00187 * Defines and Enumerations - all capitals (IM_ERR_NONE) 00188 * 00189 */ 00190 00191 00192 #endif