00001 /** \file 00002 * \brief Initialize the RAW Format Driver 00003 * Header for internal use only. 00004 * 00005 * See Copyright Notice in im_lib.h 00006 */ 00007 00008 #ifndef __IM_FORMAT_RAW_H 00009 #define __IM_FORMAT_RAW_H 00010 00011 #if defined(__cplusplus) 00012 extern "C" { 00013 #endif 00014 00015 /** \defgroup raw RAW - RAW File 00016 * 00017 * \par 00018 * The file must be open/created with the functions \ref imFileOpenRaw and \ref imFileNewRaw. 00019 * 00020 * \section Description 00021 * 00022 * \par 00023 * Internal Implementation. 00024 * \par 00025 * Supports RAW binary images. This is an unstructured and uncompressed binary data. 00026 * It is NOT a Camera RAW file generated in many professional digital cameras. \n 00027 * You must know image parameters a priori and must set the IM_INT attributes "Width", "Height", "ColorMode", "DataType" 00028 * before the imFileReadImageInfo/imFileWriteImageInfo functions. 00029 * \par 00030 * The data must be in binary form, but can start in an arbitrary offset from the begining of the file, use attribute "StartOffset". 00031 * The default is at 0 offset. 00032 * \par 00033 * Integer sign and double precision can be converted using attribute "SwitchType". \n 00034 * The conversions will be BYTE<->CHAR, USHORT<->SHORT, INT<->UINT, FLOAT<->DOUBLE. 00035 * \par 00036 * Byte Order can be Little Endian (Intel=1) or Big Endian (Motorola=0), use the attribute "ByteOrder", the default is the current CPU. 00037 * \par 00038 * The lines can be aligned to a BYTE (1), WORD (2) or DWORD (4) boundaries, ue attribute "Padding" with the respective value. 00039 * \par 00040 * If the compression is ASCII the data is stored in textual format, instead of binary. 00041 * In this case SwitchType and ByteOrder are ignored, and Padding should be 0. 00042 * \par 00043 * See \ref im_raw.h 00044 * 00045 * \section Features 00046 * 00047 \verbatim 00048 Data Types: <all> 00049 Color Spaces: all, except MAP. 00050 Compressions: 00051 NONE - no compression [default] 00052 ASCII (textual data) 00053 Can have more than one image, depends on "StartOffset" attribute. 00054 Can have an alpha channel. 00055 Components can be packed or not. 00056 Lines arranged from top down to bottom or bottom up to top. 00057 00058 Attributes: 00059 Width, Height, ColorMode, DataType IM_INT (1) 00060 ImageCount[1], StartOffset[0], SwitchType[FALSE], ByteOrder[IM_LITTLEENDIAN], Padding[0] IM_INT (1) 00061 00062 Comments: 00063 In fact ASCII is an expansion, not a compression, because the file will be larger than binary data. 00064 \endverbatim 00065 * \ingroup format */ 00066 imFormat* imFormatInitRAW(void); 00067 00068 void imFormatFinishRAW(void); 00069 00070 #if defined(__cplusplus) 00071 } 00072 #endif 00073 00074 #endif