1 /** \file 2 * \brief Library Management and Main Documentation 3 * 4 * See Copyright Notice in this file. 5 */ 6 7 module im.lib; 8 9 extern (C) @safe nothrow: 10 11 12 /** \defgroup lib Library Management 13 * \ingroup util 14 * \par 15 * Usefull definitions for about dialogs and 16 * for comparing the compiled version with the linked version of the library. 17 * \par 18 * \verbatim im._AUTHOR [in Lua 5] \endverbatim 19 * \verbatim im._COPYRIGHT [in Lua 5] \endverbatim 20 * \verbatim im._VERSION [in Lua 5] \endverbatim 21 * \verbatim im._VERSION_DATE [in Lua 5] \endverbatim 22 * \verbatim im._VERSION_NUMBER [in Lua 5] \endverbatim 23 * \verbatim im._DESCRIPTION [in Lua 5] \endverbatim 24 * \verbatim im._NAME [in Lua 5] \endverbatim 25 * \par 26 * See \ref im_lib.h 27 * @{ 28 */ 29 enum IM_NAME = "IM - An Imaging Toolkit"; 30 enum IM_DESCRIPTION = "Toolkit for Image Representation, Storage, Capture and Processing"; 31 enum IM_COPYRIGHT = "Copyright (C) 1994-2015 Tecgraf/PUC-Rio"; 32 enum IM_AUTHOR = "Antonio Scuri"; 33 enum IM_VERSION = "3.10"; /* bug fixes are reported only by imVersion functions */ 34 enum IM_VERSION_NUMBER = 310000; 35 enum IM_VERSION_DATE = "2015/09/15"; /* does not include bug fix releases */ 36 /** @} */ 37 38 39 /** Returns the library current version. Returns the definition IM_VERSION plus the bug fix number. 40 * 41 * \verbatim im.Version() -> version: string [in Lua 5] \endverbatim 42 * \ingroup lib */ 43 const(char) * imVersion(); 44 45 /** Returns the library current version release date. Returns the definition IM_VERSION_DATE. 46 * 47 * \verbatim im.VersionDate() -> date: string [in Lua 5] \endverbatim 48 * \ingroup lib */ 49 const(char) * imVersionDate(); 50 51 /** Returns the library current version number. Returns the definition IM_VERSION_NUMBER plus the bug fix number. \n 52 * Can be compared in run time with IM_VERSION_NUMBER to compare compiled and linked versions of the library. 53 * 54 * \verbatim im.VersionNumber() -> version: number [in Lua 5] \endverbatim 55 * \ingroup lib */ 56 int imVersionNumber(); 57 58 59 /*! \mainpage IM 60 * <CENTER> 61 * <H3> Image Representation, Storage, Capture and Processing </H3> 62 * Tecgraf: Computer Graphics Technology Group, PUC-Rio, Brazil \n 63 * http://www.tecgraf.puc-rio.br/im \n 64 * mailto:im@tecgraf.puc-rio.br 65 * </CENTER> 66 * 67 * \section over Overview 68 * \par 69 * IM is a toolkit for Digital Imaging. 70 * \par 71 * It provides support for image capture, several image file formats and many image processing operations. 72 * \par 73 * Image representation includes scientific data types (like IEEE floating point data) 74 * and attributes (or metadata like GeoTIFF and Exif tags). 75 * Animation, video and volumes are supported as image sequences, 76 * but there is no digital audio support. 77 * \par 78 * The main goal of the library is to provide a simple API and abstraction 79 * of images for scientific applications. 80 * \par 81 * The toolkit API is written in C. 82 * The core library source code is implemented in C++ and it is very portable, 83 * it can be compiled in Windows and UNIX with no modifications. 84 * New image processing operations can be implemented in C or in C++. 85 * \par 86 * IM is free software, can be used for public and commercial applications. 87 * \par 88 * This work was developed at Tecgraf/PUC-Rio 89 * by means of the partnership with PETROBRAS/CENPES. 90 * 91 * \section author Author 92 * \par 93 * Antonio Scuri scuri@tecgraf.puc-rio.br 94 * 95 * \section copyright Copyright Notice 96 \verbatim 97 98 **************************************************************************** 99 Copyright (C) 1994-2015 Tecgraf/PUC-Rio. 100 101 Permission is hereby granted, free of charge, to any person obtaining 102 a copy of this software and associated documentation files (the 103 "Software"), to deal in the Software without restriction, including 104 without limitation the rights to use, copy, modify, merge, publish, 105 distribute, sublicense, and/or sell copies of the Software, and to 106 permit persons to whom the Software is furnished to do so, subject to 107 the following conditions: 108 109 The above copyright notice and this permission notice shall be 110 included in all copies or substantial portions of the Software. 111 112 THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, 113 EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF 114 MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. 115 IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY 116 CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, 117 TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE 118 SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. 119 **************************************************************************** 120 \endverbatim 121 */ 122 123 124 /** \defgroup imagerep Image Representation 125 * \par 126 * See \ref im.h 127 */ 128 129 130 /** \defgroup file Image Storage 131 * \par 132 * See \ref im.h 133 */ 134 135 136 /** \defgroup format File Formats 137 * \par 138 * See \ref im.h 139 * 140 * Internal Predefined File Formats: 141 * \li "BMP" - Windows Device Independent Bitmap 142 * \li "GIF" - Graphics Interchange Format 143 * \li "ICO" - Windows Icon 144 * \li "JPEG" - JPEG File Interchange Format 145 * \li "LED" - IUP image in LED 146 * \li "PCX" - ZSoft Picture 147 * \li "PFM" - Portable FloatMap Image Format 148 * \li "PNG" - Portable Network Graphic Format 149 * \li "PNM" - Netpbm Portable Image Map 150 * \li "RAS" - Sun Raster File 151 * \li "RAW" - RAW File 152 * \li "SGI" - Silicon Graphics Image File Format 153 * \li "TGA" - Truevision Targa 154 * \li "TIFF" - Tagged Image File Format 155 * 156 * Other Supported File Formats: 157 * \li "JP2" - JPEG-2000 JP2 File Format 158 * \li "AVI" - Windows Audio-Video Interleaved RIFF 159 * \li "WMV" - Windows Media Video Format 160 * 161 * Some Known Compressions: 162 * \li "NONE" - No Compression. 163 * \li "RLE" - Run Lenght Encoding. 164 * \li "LZW" - Lempel, Ziff and Welsh. 165 * \li "JPEG" - Join Photographics Experts Group. 166 * \li "DEFLATE" - LZ77 variation (ZIP) 167 * 168 * \ingroup file */ 169 170 171 /* Library Names Convention 172 * 173 * Global Functions and Types - "im[Object][Action]" using first capitals (imFileOpen) 174 * Local Functions and Types - "i[Object][Action]" using first capitals (iTIFFGetCompIndex) 175 * Local Static Variables - same as local functions and types (iFormatCount) 176 * Local Static Tables - same as local functions and types with "Table" suffix (iTIFFCompTable) 177 * Variables and Members - no prefix, all lower case (width) 178 * Defines and Enumerations - all capitals (IM_ERR_NONE) 179 * 180 */