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:[email protected]
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 [email protected]
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