IM: im_lib.h Source File

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