im_format_raw.h

Go to the documentation of this file.
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

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