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

Generated on Thu Oct 1 11:40:01 2009 for IM by  doxygen 1.6.1