Sophie

Sophie

distrib > Mandriva > 2010.2 > x86_64 > by-pkgid > 410009987daec5dbf9a570001d37022a > files > 91

lib64vips-devel-7.20.7-1mdv2010.1.x86_64.rpm

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"  
  "http://www.w3.org/TR/html4/loose.dtd">  
<html > 
<head><title>The VIPS file format</title> 
<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1"> 
<meta name="generator" content="TeX4ht (http://www.cse.ohio-state.edu/~gurari/TeX4ht/)"> 
<meta name="originator" content="TeX4ht (http://www.cse.ohio-state.edu/~gurari/TeX4ht/)"> 
<!-- 3,html --> 
<meta name="src" content="vipsmanual.tex"> 
<meta name="date" content="2009-11-30 16:39:00"> 
<link rel="stylesheet" type="text/css" href="vipsmanual.css"> 
</head><body 
>
  <!--l. 1--><div class="crosslinks"><p class="noindent">[<a 
href="vipsmanualse3.html" >next</a>] [<a 
href="vipsmanualse1.html" >prev</a>] [<a 
href="vipsmanualse1.html#tailvipsmanualse1.html" >prev-tail</a>] [<a 
href="#tailvipsmanualse2.html">tail</a>] [<a 
href="vipsmanualch1.html#vipsmanualse2.html" >up</a>] </p></div>
  <h3 class="sectionHead"><span class="titlemark">1.2    </span> <a 
 id="x7-70001.2"></a>The VIPS file format</h3>
<!--l. 3--><p class="noindent" >VIPS has its own very simple file format. It is used inside
VIPS to hold images during computation. You can save
images in VIPS format if you want, but the VIPS format is
not widely used and you may have problems reading your
images into other packages.
<!--l. 8--><p class="indent" >  If you intend to keep an image, it&#8217;s much better to save it
as TIFF, JPEG, PNG, PBM/PGM/PPM or HDR. VIPS can
transparently read and write all these formats.
<!--l. 12--><p class="noindent" >
  <h4 class="subsectionHead"><span class="titlemark">1.2.1    </span> <a 
 id="x7-80001.2.1"></a>VIPS file header</h4>
<!--l. 15--><p class="noindent" >All VIPS image files start with a 64-byte header giving
basic information about the image dimensions, see
Table&#x00A0;<a 
href="#x7-80011">1.1<!--tex4ht:ref: fg:header --></a>. This is followed by the image data. This is
usually just the pixel values in native format (ie. the byte
order used by the machine that wrote the file) laid out
left-to-right and top-to-bottom. After the image data comes
a block of optional XML which holds extra image metadata,
such as ICC profiles and image history. You can use the
command-line program <span class="obeylines-h"><span class="verb"><span 
class="pcrr7t-">header</span></span></span> to extract the XML
from an image and <span class="obeylines-h"><span class="verb"><span 
class="pcrr7t-">edvips</span></span></span> to replace it, see the man
pages.
<!--l. 24--><p class="indent" >  The <span 
class="pcrr7t-">Type </span>field, the <span 
class="pcrr7t-">Xres</span>/<span 
class="pcrr7t-">Yres </span>fields, and the
<span 
class="pcrr7t-">Xoffset</span>/<span 
class="pcrr7t-">Yoffset </span>fields are advisory. VIPS maintains
their value (if you convert an image to <span 
class="ptmri7t-">CIE</span><span 
class="ptmri7t-">&#x00A0;</span><span 
class="cmmi-10">L</span><span 
class="cmsy-7">*</span><span 
class="cmmi-10">a</span><span 
class="cmsy-7">*</span><span 
class="cmmi-10">b</span><span 
class="cmsy-7">*</span>
colour space with <span 
class="pcrr7t-">im</span><span 
class="pcrr7t-">_XYZ2Lab()</span>, for example, VIPS
will set <span 
class="pcrr7t-">Type </span>to be <span 
class="pcrr7t-">IM</span><span 
class="pcrr7t-">_TYPE</span><span 
class="pcrr7t-">_LAB</span>), but never uses
these values itself in determining the action of an image
processing function. These fields are to help the user and to
help application programs built on VIPS which are
trying to present image data to the user in a meaningful
way.
<!--l. 33--><p class="indent" >  The <span 
class="pcrr7t-">BandFmt</span>, <span 
class="pcrr7t-">Coding </span>and <span 
class="pcrr7t-">Type </span>fields can take the
values shown in tables&#x00A0;<a 
href="#x7-80022">1.2<!--tex4ht:ref: fg:bandfmt --></a>, <a 
href="#x7-80033">1.3<!--tex4ht:ref: fg:coding --></a> and <a 
href="#x7-80044">1.4<!--tex4ht:ref: fg:type --></a>. The C++ and
Python names for these values are slightly different, for
historical reasons.
                                           
                                                                                       

                                                                                       
<!--l. 39--><p class="indent" >  <a 
 id="x7-80011"></a><hr class="float"><div class="float" 
>
                                           
                                                                                       

                                                                                       
<div class="center" 
>
<!--l. 39--><p class="noindent" >
<div class="tabular"> <table id="TBL-1" class="tabular" 
cellspacing="0" cellpadding="0" rules="groups" 
><colgroup id="TBL-1-1g"><col 
id="TBL-1-1"></colgroup><colgroup id="TBL-1-2g"><col 
id="TBL-1-2"></colgroup><colgroup id="TBL-1-3g"><col 
id="TBL-1-3"></colgroup><tr 
class="hline"><td><hr></td><td><hr></td><td><hr></td></tr><tr  
 style="vertical-align:baseline;" id="TBL-1-1-"><td  style="white-space:nowrap; text-align:left;" id="TBL-1-1-1"  
class="td11">Bytes</td><td  style="white-space:nowrap; text-align:left;" id="TBL-1-1-2"  
class="td11">Represent                                                      </td><td  style="white-space:nowrap; text-align:left;" id="TBL-1-1-3"  
class="td11">VIPS name        </td>
</tr><tr 
class="hline"><td><hr></td><td><hr></td><td><hr></td></tr><tr  
 style="vertical-align:baseline;" id="TBL-1-2-"><td  style="white-space:nowrap; text-align:left;" id="TBL-1-2-1"  
class="td11">0&#8211;3    </td><td  style="white-space:nowrap; text-align:left;" id="TBL-1-2-2"  
class="td11">VIPS magic number (in hex, 08 f2 f6 b6)    </td><td  style="white-space:nowrap; text-align:left;" id="TBL-1-2-3"  
class="td11">           </td>
</tr><tr  
 style="vertical-align:baseline;" id="TBL-1-3-"><td  style="white-space:nowrap; text-align:left;" id="TBL-1-3-1"  
class="td11">4&#8211;7    </td><td  style="white-space:nowrap; text-align:left;" id="TBL-1-3-2"  
class="td11">Number of pels per horizontal line (integer)</td><td  style="white-space:nowrap; text-align:left;" id="TBL-1-3-3"  
class="td11"><span 
class="pcrr7t-">Xsize      </span></td>
</tr><tr  
 style="vertical-align:baseline;" id="TBL-1-4-"><td  style="white-space:nowrap; text-align:left;" id="TBL-1-4-1"  
class="td11">8&#8211;11  </td><td  style="white-space:nowrap; text-align:left;" id="TBL-1-4-2"  
class="td11">Number of horizontal lines (integer)            </td><td  style="white-space:nowrap; text-align:left;" id="TBL-1-4-3"  
class="td11"><span 
class="pcrr7t-">Ysize      </span></td>
</tr><tr  
 style="vertical-align:baseline;" id="TBL-1-5-"><td  style="white-space:nowrap; text-align:left;" id="TBL-1-5-1"  
class="td11">12&#8211;15</td><td  style="white-space:nowrap; text-align:left;" id="TBL-1-5-2"  
class="td11">Number of bands (integer)                            </td><td  style="white-space:nowrap; text-align:left;" id="TBL-1-5-3"  
class="td11"><span 
class="pcrr7t-">Bands      </span></td>
</tr><tr  
 style="vertical-align:baseline;" id="TBL-1-6-"><td  style="white-space:nowrap; text-align:left;" id="TBL-1-6-1"  
class="td11">16&#8211;19</td><td  style="white-space:nowrap; text-align:left;" id="TBL-1-6-2"  
class="td11">Unused (legacy)                                            </td><td  style="white-space:nowrap; text-align:left;" id="TBL-1-6-3"  
class="td11"><span 
class="pcrr7t-">Bbits      </span></td>
</tr><tr  
 style="vertical-align:baseline;" id="TBL-1-7-"><td  style="white-space:nowrap; text-align:left;" id="TBL-1-7-1"  
class="td11">20&#8211;23</td><td  style="white-space:nowrap; text-align:left;" id="TBL-1-7-2"  
class="td11">Band format (eg. <span 
class="pcrr7t-">IM</span><span 
class="pcrr7t-">_BANDFMT</span><span 
class="pcrr7t-">_USHORT</span>)</td><td  style="white-space:nowrap; text-align:left;" id="TBL-1-7-3"  
class="td11"><span 
class="pcrr7t-">BandFmt    </span></td>
</tr><tr  
 style="vertical-align:baseline;" id="TBL-1-8-"><td  style="white-space:nowrap; text-align:left;" id="TBL-1-8-1"  
class="td11">24&#8211;27</td><td  style="white-space:nowrap; text-align:left;" id="TBL-1-8-2"  
class="td11">Coding type (eg. <span 
class="pcrr7t-">IM</span><span 
class="pcrr7t-">_CODING</span><span 
class="pcrr7t-">_NONE</span>)        </td><td  style="white-space:nowrap; text-align:left;" id="TBL-1-8-3"  
class="td11"><span 
class="pcrr7t-">Coding     </span></td>
</tr><tr  
 style="vertical-align:baseline;" id="TBL-1-9-"><td  style="white-space:nowrap; text-align:left;" id="TBL-1-9-1"  
class="td11">28&#8211;31</td><td  style="white-space:nowrap; text-align:left;" id="TBL-1-9-2"  
class="td11">Type (eg. <span 
class="pcrr7t-">IM</span><span 
class="pcrr7t-">_TYPE</span><span 
class="pcrr7t-">_LAB</span>)                           </td><td  style="white-space:nowrap; text-align:left;" id="TBL-1-9-3"  
class="td11"><span 
class="pcrr7t-">Type       </span></td>
</tr><tr  
 style="vertical-align:baseline;" id="TBL-1-10-"><td  style="white-space:nowrap; text-align:left;" id="TBL-1-10-1"  
class="td11">32&#8211;35</td><td  style="white-space:nowrap; text-align:left;" id="TBL-1-10-2"  
class="td11">Horizontal resolution (float, pixels mm<sup><span 
class="cmsy-7">-</span><span 
class="cmr-7">1</span></sup>)  </td><td  style="white-space:nowrap; text-align:left;" id="TBL-1-10-3"  
class="td11"><span 
class="pcrr7t-">Xres       </span></td>
</tr><tr  
 style="vertical-align:baseline;" id="TBL-1-11-"><td  style="white-space:nowrap; text-align:left;" id="TBL-1-11-1"  
class="td11">36&#8211;39</td><td  style="white-space:nowrap; text-align:left;" id="TBL-1-11-2"  
class="td11">Vertical resolution (float, pixels mm<sup><span 
class="cmsy-7">-</span><span 
class="cmr-7">1</span></sup>)       </td><td  style="white-space:nowrap; text-align:left;" id="TBL-1-11-3"  
class="td11"><span 
class="pcrr7t-">Yres       </span></td>
</tr><tr  
 style="vertical-align:baseline;" id="TBL-1-12-"><td  style="white-space:nowrap; text-align:left;" id="TBL-1-12-1"  
class="td11">40&#8211;43</td><td  style="white-space:nowrap; text-align:left;" id="TBL-1-12-2"  
class="td11">Unused (legacy)                                            </td><td  style="white-space:nowrap; text-align:left;" id="TBL-1-12-3"  
class="td11"><span 
class="pcrr7t-">Length     </span></td>
</tr><tr  
 style="vertical-align:baseline;" id="TBL-1-13-"><td  style="white-space:nowrap; text-align:left;" id="TBL-1-13-1"  
class="td11">44&#8211;45</td><td  style="white-space:nowrap; text-align:left;" id="TBL-1-13-2"  
class="td11">Unused (legacy)                                            </td><td  style="white-space:nowrap; text-align:left;" id="TBL-1-13-3"  
class="td11"><span 
class="pcrr7t-">Compression</span></td>
</tr><tr  
 style="vertical-align:baseline;" id="TBL-1-14-"><td  style="white-space:nowrap; text-align:left;" id="TBL-1-14-1"  
class="td11">46&#8211;47</td><td  style="white-space:nowrap; text-align:left;" id="TBL-1-14-2"  
class="td11">Unused (legacy)                                            </td><td  style="white-space:nowrap; text-align:left;" id="TBL-1-14-3"  
class="td11"><span 
class="pcrr7t-">Level      </span></td>
</tr><tr  
 style="vertical-align:baseline;" id="TBL-1-15-"><td  style="white-space:nowrap; text-align:left;" id="TBL-1-15-1"  
class="td11">48&#8211;51</td><td  style="white-space:nowrap; text-align:left;" id="TBL-1-15-2"  
class="td11">Horizontal offset of origin                            </td><td  style="white-space:nowrap; text-align:left;" id="TBL-1-15-3"  
class="td11"><span 
class="pcrr7t-">Xoffset    </span></td>
</tr><tr  
 style="vertical-align:baseline;" id="TBL-1-16-"><td  style="white-space:nowrap; text-align:left;" id="TBL-1-16-1"  
class="td11">52&#8211;55</td><td  style="white-space:nowrap; text-align:left;" id="TBL-1-16-2"  
class="td11">Vertical offset of origin                                 </td><td  style="white-space:nowrap; text-align:left;" id="TBL-1-16-3"  
class="td11"><span 
class="pcrr7t-">Yoffset    </span></td>
</tr><tr  
 style="vertical-align:baseline;" id="TBL-1-17-"><td  style="white-space:nowrap; text-align:left;" id="TBL-1-17-1"  
class="td11">56&#8211;63</td><td  style="white-space:nowrap; text-align:left;" id="TBL-1-17-2"  
class="td11">For future expansion (all zeros for now)       </td><td  style="white-space:nowrap; text-align:left;" id="TBL-1-17-3"  
class="td11">           </td>
</tr><tr 
class="hline"><td><hr></td><td><hr></td><td><hr></td></tr><tr  
 style="vertical-align:baseline;" id="TBL-1-18-"><td  style="white-space:nowrap; text-align:left;" id="TBL-1-18-1"  
class="td11">    </td></tr></table></div></div>
<br /><div class="caption" 
><span class="id">Table&#x00A0;1.1: </span><span  
class="content">VIPS header</span></div><!--tex4ht:label?: x7-80011 -->
                                           
                                                                                       

                                                                                       
  </div><hr class="endfloat" />
                                           
                                                                                       

                                                                                       
<!--l. 67--><p class="indent" >  <a 
 id="x7-80022"></a><hr class="float"><div class="float" 
>
                                           
                                                                                       

                                                                                       
<div class="center" 
>
<!--l. 67--><p class="noindent" >
<div class="tabular"> <table id="TBL-2" class="tabular" 
cellspacing="0" cellpadding="0" rules="groups" 
><colgroup id="TBL-2-1g"><col 
id="TBL-2-1"></colgroup><colgroup id="TBL-2-2g"><col 
id="TBL-2-2"></colgroup><colgroup id="TBL-2-3g"><col 
id="TBL-2-3"></colgroup><colgroup id="TBL-2-4g"><col 
id="TBL-2-4"></colgroup><tr 
class="hline"><td><hr></td><td><hr></td><td><hr></td><td><hr></td></tr><tr  
 style="vertical-align:baseline;" id="TBL-2-1-"><td  style="white-space:nowrap; text-align:left;" id="TBL-2-1-1"  
class="td11"><span 
class="pcrr7t-">BandFmt             </span></td><td  style="white-space:nowrap; text-align:left;" id="TBL-2-1-2"  
class="td11">C++ and Python name</td><td  style="white-space:nowrap; text-align:left;" id="TBL-2-1-3"  
class="td11">Value</td><td  style="white-space:nowrap; text-align:left;" id="TBL-2-1-4"  
class="td11">Meaning                   </td>
</tr><tr 
class="hline"><td><hr></td><td><hr></td><td><hr></td><td><hr></td></tr><tr  
 style="vertical-align:baseline;" id="TBL-2-2-"><td  style="white-space:nowrap; text-align:left;" id="TBL-2-2-1"  
class="td11"><span 
class="pcrr7t-">IM</span><span 
class="pcrr7t-">_BANDFMT</span><span 
class="pcrr7t-">_NOTSET   </span></td><td  style="white-space:nowrap; text-align:left;" id="TBL-2-2-2"  
class="td11"><span 
class="pcrr7t-">FMTNOTSET      </span></td><td  style="white-space:nowrap; text-align:left;" id="TBL-2-2-3"  
class="td11">-1      </td><td  style="white-space:nowrap; text-align:left;" id="TBL-2-2-4"  
class="td11">              </td></tr><tr  
 style="vertical-align:baseline;" id="TBL-2-3-"><td  style="white-space:nowrap; text-align:left;" id="TBL-2-3-1"  
class="td11"><span 
class="pcrr7t-">IM</span><span 
class="pcrr7t-">_BANDFMT</span><span 
class="pcrr7t-">_UCHAR </span></td><td  style="white-space:nowrap; text-align:left;" id="TBL-2-3-2"  
class="td11"><span 
class="pcrr7t-">FMTUCHAR </span></td><td  style="white-space:nowrap; text-align:left;" id="TBL-2-3-3"  
class="td11">0 </td><td  style="white-space:nowrap; text-align:left;" id="TBL-2-3-4"  
class="td11">Unsigned 8-bit int</td>
</tr><tr  
 style="vertical-align:baseline;" id="TBL-2-4-"><td  style="white-space:nowrap; text-align:left;" id="TBL-2-4-1"  
class="td11"><span 
class="pcrr7t-">IM</span><span 
class="pcrr7t-">_BANDFMT</span><span 
class="pcrr7t-">_CHAR     </span></td><td  style="white-space:nowrap; text-align:left;" id="TBL-2-4-2"  
class="td11"><span 
class="pcrr7t-">FMTCHAR        </span></td><td  style="white-space:nowrap; text-align:left;" id="TBL-2-4-3"  
class="td11">1       </td><td  style="white-space:nowrap; text-align:left;" id="TBL-2-4-4"  
class="td11">Signed 8-bit int         </td>
</tr><tr  
 style="vertical-align:baseline;" id="TBL-2-5-"><td  style="white-space:nowrap; text-align:left;" id="TBL-2-5-1"  
class="td11"><span 
class="pcrr7t-">IM</span><span 
class="pcrr7t-">_BANDFMT</span><span 
class="pcrr7t-">_USHORT   </span></td><td  style="white-space:nowrap; text-align:left;" id="TBL-2-5-2"  
class="td11"><span 
class="pcrr7t-">FMTUSHORT      </span></td><td  style="white-space:nowrap; text-align:left;" id="TBL-2-5-3"  
class="td11">2       </td><td  style="white-space:nowrap; text-align:left;" id="TBL-2-5-4"  
class="td11">Unsigned 16-bit int   </td>
</tr><tr  
 style="vertical-align:baseline;" id="TBL-2-6-"><td  style="white-space:nowrap; text-align:left;" id="TBL-2-6-1"  
class="td11"><span 
class="pcrr7t-">IM</span><span 
class="pcrr7t-">_BANDFMT</span><span 
class="pcrr7t-">_SHORT    </span></td><td  style="white-space:nowrap; text-align:left;" id="TBL-2-6-2"  
class="td11"><span 
class="pcrr7t-">FMTSHORT       </span></td><td  style="white-space:nowrap; text-align:left;" id="TBL-2-6-3"  
class="td11">3       </td><td  style="white-space:nowrap; text-align:left;" id="TBL-2-6-4"  
class="td11">Signed 16-bit int       </td>
</tr><tr  
 style="vertical-align:baseline;" id="TBL-2-7-"><td  style="white-space:nowrap; text-align:left;" id="TBL-2-7-1"  
class="td11"><span 
class="pcrr7t-">IM</span><span 
class="pcrr7t-">_BANDFMT</span><span 
class="pcrr7t-">_UINT     </span></td><td  style="white-space:nowrap; text-align:left;" id="TBL-2-7-2"  
class="td11"><span 
class="pcrr7t-">FMTUINT        </span></td><td  style="white-space:nowrap; text-align:left;" id="TBL-2-7-3"  
class="td11">4       </td><td  style="white-space:nowrap; text-align:left;" id="TBL-2-7-4"  
class="td11">Unsigned 32-bit int   </td>
</tr><tr  
 style="vertical-align:baseline;" id="TBL-2-8-"><td  style="white-space:nowrap; text-align:left;" id="TBL-2-8-1"  
class="td11"><span 
class="pcrr7t-">IM</span><span 
class="pcrr7t-">_BANDFMT</span><span 
class="pcrr7t-">_INT      </span></td><td  style="white-space:nowrap; text-align:left;" id="TBL-2-8-2"  
class="td11"><span 
class="pcrr7t-">FMTINT         </span></td><td  style="white-space:nowrap; text-align:left;" id="TBL-2-8-3"  
class="td11">5       </td><td  style="white-space:nowrap; text-align:left;" id="TBL-2-8-4"  
class="td11">Signed 32-bit int       </td>
</tr><tr  
 style="vertical-align:baseline;" id="TBL-2-9-"><td  style="white-space:nowrap; text-align:left;" id="TBL-2-9-1"  
class="td11"><span 
class="pcrr7t-">IM</span><span 
class="pcrr7t-">_BANDFMT</span><span 
class="pcrr7t-">_FLOAT    </span></td><td  style="white-space:nowrap; text-align:left;" id="TBL-2-9-2"  
class="td11"><span 
class="pcrr7t-">FMTFLOAT       </span></td><td  style="white-space:nowrap; text-align:left;" id="TBL-2-9-3"  
class="td11">6       </td><td  style="white-space:nowrap; text-align:left;" id="TBL-2-9-4"  
class="td11">32-bit IEEE float      </td>
</tr><tr  
 style="vertical-align:baseline;" id="TBL-2-10-"><td  style="white-space:nowrap; text-align:left;" id="TBL-2-10-1"  
class="td11"><span 
class="pcrr7t-">IM</span><span 
class="pcrr7t-">_BANDFMT</span><span 
class="pcrr7t-">_COMPLEX  </span></td><td  style="white-space:nowrap; text-align:left;" id="TBL-2-10-2"  
class="td11"><span 
class="pcrr7t-">FMTCOMPLEX     </span></td><td  style="white-space:nowrap; text-align:left;" id="TBL-2-10-3"  
class="td11">7       </td><td  style="white-space:nowrap; text-align:left;" id="TBL-2-10-4"  
class="td11">Complex (2 floats)    </td>
</tr><tr  
 style="vertical-align:baseline;" id="TBL-2-11-"><td  style="white-space:nowrap; text-align:left;" id="TBL-2-11-1"  
class="td11"><span 
class="pcrr7t-">IM</span><span 
class="pcrr7t-">_BANDFMT</span><span 
class="pcrr7t-">_DOUBLE   </span></td><td  style="white-space:nowrap; text-align:left;" id="TBL-2-11-2"  
class="td11"><span 
class="pcrr7t-">FMTDOUBLE      </span></td><td  style="white-space:nowrap; text-align:left;" id="TBL-2-11-3"  
class="td11">8       </td><td  style="white-space:nowrap; text-align:left;" id="TBL-2-11-4"  
class="td11">64-bit IEEE double   </td>
</tr><tr  
 style="vertical-align:baseline;" id="TBL-2-12-"><td  style="white-space:nowrap; text-align:left;" id="TBL-2-12-1"  
class="td11"><span 
class="pcrr7t-">IM</span><span 
class="pcrr7t-">_BANDFMT</span><span 
class="pcrr7t-">_DPCOMPLEX</span></td><td  style="white-space:nowrap; text-align:left;" id="TBL-2-12-2"  
class="td11"><span 
class="pcrr7t-">FMTDPCOMPLEX   </span></td><td  style="white-space:nowrap; text-align:left;" id="TBL-2-12-3"  
class="td11">9       </td><td  style="white-space:nowrap; text-align:left;" id="TBL-2-12-4"  
class="td11">Complex (2 doubles)</td>
</tr><tr 
class="hline"><td><hr></td><td><hr></td><td><hr></td><td><hr></td></tr><tr  
 style="vertical-align:baseline;" id="TBL-2-13-"><td  style="white-space:nowrap; text-align:left;" id="TBL-2-13-1"  
class="td11">                    </td></tr></table></div></div>
<br /><div class="caption" 
><span class="id">Table&#x00A0;1.2: </span><span  
class="content">Possible values for <span 
class="pcrr7t-">BandFmt</span></span></div><!--tex4ht:label?: x7-80022 -->
                                           
                                                                                       

                                                                                       
  </div><hr class="endfloat" />
                                           
                                                                                       

                                                                                       
<!--l. 90--><p class="indent" >  <a 
 id="x7-80033"></a><hr class="float"><div class="float" 
>
                                           
                                                                                       

                                                                                       
<div class="center" 
>
<!--l. 90--><p class="noindent" >
<div class="tabular"><table id="TBL-3" class="tabular" 
cellspacing="0" cellpadding="0" rules="groups" 
><colgroup id="TBL-3-1g"><col 
id="TBL-3-1"></colgroup><colgroup id="TBL-3-2g"><col 
id="TBL-3-2"></colgroup><colgroup id="TBL-3-3g"><col 
id="TBL-3-3"></colgroup><colgroup id="TBL-3-4g"><col 
id="TBL-3-4"></colgroup><tr 
class="hline"><td><hr></td><td><hr></td><td><hr></td><td><hr></td></tr><tr  
 style="vertical-align:baseline;" id="TBL-3-1-"><td  style="white-space:nowrap; text-align:left;" id="TBL-3-1-1"  
class="td11"><span 
class="pcrr7t-">Coding        </span></td><td  style="white-space:nowrap; text-align:left;" id="TBL-3-1-2"  
class="td11">C++ and Python name</td><td  style="white-space:nowrap; text-align:left;" id="TBL-3-1-3"  
class="td11">Value</td><td  style="white-space:nowrap; text-align:left;" id="TBL-3-1-4"  
class="td11">Meaning                           </td>
</tr><tr 
class="hline"><td><hr></td><td><hr></td><td><hr></td><td><hr></td></tr><tr  
 style="vertical-align:baseline;" id="TBL-3-2-"><td  style="white-space:nowrap; text-align:left;" id="TBL-3-2-1"  
class="td11"><span 
class="pcrr7t-">IM</span><span 
class="pcrr7t-">_CODING</span><span 
class="pcrr7t-">_NONE</span></td><td  style="white-space:nowrap; text-align:left;" id="TBL-3-2-2"  
class="td11"><span 
class="pcrr7t-">NOCODING       </span></td><td  style="white-space:nowrap; text-align:left;" id="TBL-3-2-3"  
class="td11">0       </td><td  style="white-space:nowrap; text-align:left;" id="TBL-3-2-4"  
class="td11">VIPS computation format</td>
</tr><tr  
 style="vertical-align:baseline;" id="TBL-3-3-"><td  style="white-space:nowrap; text-align:left;" id="TBL-3-3-1"  
class="td11"><span 
class="pcrr7t-">IM</span><span 
class="pcrr7t-">_CODING</span><span 
class="pcrr7t-">_LABQ</span></td><td  style="white-space:nowrap; text-align:left;" id="TBL-3-3-2"  
class="td11"><span 
class="pcrr7t-">LABQ           </span></td><td  style="white-space:nowrap; text-align:left;" id="TBL-3-3-3"  
class="td11">2       </td><td  style="white-space:nowrap; text-align:left;" id="TBL-3-3-4"  
class="td11">LABQ storage format      </td>
</tr><tr  
 style="vertical-align:baseline;" id="TBL-3-4-"><td  style="white-space:nowrap; text-align:left;" id="TBL-3-4-1"  
class="td11"><span 
class="pcrr7t-">IM</span><span 
class="pcrr7t-">_CODING</span><span 
class="pcrr7t-">_RAD </span></td><td  style="white-space:nowrap; text-align:left;" id="TBL-3-4-2"  
class="td11"><span 
class="pcrr7t-">RAD            </span></td><td  style="white-space:nowrap; text-align:left;" id="TBL-3-4-3"  
class="td11">6       </td><td  style="white-space:nowrap; text-align:left;" id="TBL-3-4-4"  
class="td11">Radiance storage format  </td>
</tr><tr 
class="hline"><td><hr></td><td><hr></td><td><hr></td><td><hr></td></tr><tr  
 style="vertical-align:baseline;" id="TBL-3-5-"><td  style="white-space:nowrap; text-align:left;" id="TBL-3-5-1"  
class="td11">              </td></tr></table></div></div>
<br /><div class="caption" 
><span class="id">Table&#x00A0;1.3: </span><span  
class="content">Possible values for <span 
class="pcrr7t-">Coding</span></span></div><!--tex4ht:label?: x7-80033 -->
                                           
                                                                                       

                                                                                       
  </div><hr class="endfloat" />
                                           
                                                                                       

                                                                                       
<!--l. 105--><p class="indent" >  <a 
 id="x7-80044"></a><hr class="float"><div class="float" 
>
                                           
                                                                                       

                                                                                       
<div class="center" 
>
<!--l. 105--><p class="noindent" >
<div class="tabular"><table id="TBL-4" class="tabular" 
cellspacing="0" cellpadding="0" rules="groups" 
><colgroup id="TBL-4-1g"><col 
id="TBL-4-1"></colgroup><colgroup id="TBL-4-2g"><col 
id="TBL-4-2"></colgroup><colgroup id="TBL-4-3g"><col 
id="TBL-4-3"></colgroup><colgroup id="TBL-4-4g"><col 
id="TBL-4-4"></colgroup><tr 
class="hline"><td><hr></td><td><hr></td><td><hr></td><td><hr></td></tr><tr  
 style="vertical-align:baseline;" id="TBL-4-1-"><td  style="white-space:nowrap; text-align:left;" id="TBL-4-1-1"  
class="td11"><span 
class="pcrr7t-">Type             </span></td><td  style="white-space:nowrap; text-align:left;" id="TBL-4-1-2"  
class="td11">C++ and Python name</td><td  style="white-space:nowrap; text-align:left;" id="TBL-4-1-3"  
class="td11">Value</td><td  style="white-space:nowrap; text-align:left;" id="TBL-4-1-4"  
class="td11">Meaning                           </td>
</tr><tr 
class="hline"><td><hr></td><td><hr></td><td><hr></td><td><hr></td></tr><tr  
 style="vertical-align:baseline;" id="TBL-4-2-"><td  style="white-space:nowrap; text-align:left;" id="TBL-4-2-1"  
class="td11"><span 
class="pcrr7t-">IM</span><span 
class="pcrr7t-">_TYPE</span><span 
class="pcrr7t-">_MULTIBAND</span></td><td  style="white-space:nowrap; text-align:left;" id="TBL-4-2-2"  
class="td11"><span 
class="pcrr7t-">MULTIBAND      </span></td><td  style="white-space:nowrap; text-align:left;" id="TBL-4-2-3"  
class="td11">0       </td><td  style="white-space:nowrap; text-align:left;" id="TBL-4-2-4"  
class="td11">Some multiband image    </td>
</tr><tr  
 style="vertical-align:baseline;" id="TBL-4-3-"><td  style="white-space:nowrap; text-align:left;" id="TBL-4-3-1"  
class="td11"><span 
class="pcrr7t-">IM</span><span 
class="pcrr7t-">_TYPE</span><span 
class="pcrr7t-">_B</span><span 
class="pcrr7t-">_W      </span></td><td  style="white-space:nowrap; text-align:left;" id="TBL-4-3-2"  
class="td11"><span 
class="pcrr7t-">B</span><span 
class="pcrr7t-">_W            </span></td><td  style="white-space:nowrap; text-align:left;" id="TBL-4-3-3"  
class="td11">1       </td><td  style="white-space:nowrap; text-align:left;" id="TBL-4-3-4"  
class="td11">Some single band image  </td>
</tr><tr  
 style="vertical-align:baseline;" id="TBL-4-4-"><td  style="white-space:nowrap; text-align:left;" id="TBL-4-4-1"  
class="td11"><span 
class="pcrr7t-">IM</span><span 
class="pcrr7t-">_TYPE</span><span 
class="pcrr7t-">_HISTOGRAM</span></td><td  style="white-space:nowrap; text-align:left;" id="TBL-4-4-2"  
class="td11"><span 
class="pcrr7t-">HISTOGRAM      </span></td><td  style="white-space:nowrap; text-align:left;" id="TBL-4-4-3"  
class="td11">10     </td><td  style="white-space:nowrap; text-align:left;" id="TBL-4-4-4"  
class="td11">Histogram or LUT           </td>
</tr><tr  
 style="vertical-align:baseline;" id="TBL-4-5-"><td  style="white-space:nowrap; text-align:left;" id="TBL-4-5-1"  
class="td11"><span 
class="pcrr7t-">IM</span><span 
class="pcrr7t-">_TYPE</span><span 
class="pcrr7t-">_FOURIER  </span></td><td  style="white-space:nowrap; text-align:left;" id="TBL-4-5-2"  
class="td11"><span 
class="pcrr7t-">FOURIER        </span></td><td  style="white-space:nowrap; text-align:left;" id="TBL-4-5-3"  
class="td11">24     </td><td  style="white-space:nowrap; text-align:left;" id="TBL-4-5-4"  
class="td11">Image in Fourier space     </td>
</tr><tr  
 style="vertical-align:baseline;" id="TBL-4-6-"><td  style="white-space:nowrap; text-align:left;" id="TBL-4-6-1"  
class="td11"><span 
class="pcrr7t-">IM</span><span 
class="pcrr7t-">_TYPE</span><span 
class="pcrr7t-">_XYZ      </span></td><td  style="white-space:nowrap; text-align:left;" id="TBL-4-6-2"  
class="td11"><span 
class="pcrr7t-">XYZ            </span></td><td  style="white-space:nowrap; text-align:left;" id="TBL-4-6-3"  
class="td11">12     </td><td  style="white-space:nowrap; text-align:left;" id="TBL-4-6-4"  
class="td11"><span 
class="ptmri7t-">CIE XYZ </span>colour space      </td>
</tr><tr  
 style="vertical-align:baseline;" id="TBL-4-7-"><td  style="white-space:nowrap; text-align:left;" id="TBL-4-7-1"  
class="td11"><span 
class="pcrr7t-">IM</span><span 
class="pcrr7t-">_TYPE</span><span 
class="pcrr7t-">_LAB      </span></td><td  style="white-space:nowrap; text-align:left;" id="TBL-4-7-2"  
class="td11"><span 
class="pcrr7t-">LAB            </span></td><td  style="white-space:nowrap; text-align:left;" id="TBL-4-7-3"  
class="td11">13     </td><td  style="white-space:nowrap; text-align:left;" id="TBL-4-7-4"  
class="td11"><span 
class="ptmri7t-">CIE</span><span 
class="ptmri7t-">&#x00A0;</span><span 
class="cmmi-10">L</span><span 
class="cmsy-7">*</span><span 
class="cmmi-10">a</span><span 
class="cmsy-7">*</span><span 
class="cmmi-10">b</span><span 
class="cmsy-7">*</span> colour space</td>
</tr><tr  
 style="vertical-align:baseline;" id="TBL-4-8-"><td  style="white-space:nowrap; text-align:left;" id="TBL-4-8-1"  
class="td11"><span 
class="pcrr7t-">IM</span><span 
class="pcrr7t-">_TYPE</span><span 
class="pcrr7t-">_CMYK     </span></td><td  style="white-space:nowrap; text-align:left;" id="TBL-4-8-2"  
class="td11"><span 
class="pcrr7t-">CMYK           </span></td><td  style="white-space:nowrap; text-align:left;" id="TBL-4-8-3"  
class="td11">15     </td><td  style="white-space:nowrap; text-align:left;" id="TBL-4-8-4"  
class="td11"><span 
class="pcrr7t-">im</span><span 
class="pcrr7t-">_icc</span><span 
class="pcrr7t-">_export()  </span></td>
</tr><tr  
 style="vertical-align:baseline;" id="TBL-4-9-"><td  style="white-space:nowrap; text-align:left;" id="TBL-4-9-1"  
class="td11"><span 
class="pcrr7t-">IM</span><span 
class="pcrr7t-">_TYPE</span><span 
class="pcrr7t-">_LABQ     </span></td><td  style="white-space:nowrap; text-align:left;" id="TBL-4-9-2"  
class="td11"><span 
class="pcrr7t-">LABQ           </span></td><td  style="white-space:nowrap; text-align:left;" id="TBL-4-9-3"  
class="td11">16     </td><td  style="white-space:nowrap; text-align:left;" id="TBL-4-9-4"  
class="td11">32-bit <span 
class="ptmri7t-">CIE</span><span 
class="ptmri7t-">&#x00A0;</span><span 
class="cmmi-10">L</span><span 
class="cmsy-7">*</span><span 
class="cmmi-10">a</span><span 
class="cmsy-7">*</span><span 
class="cmmi-10">b</span><span 
class="cmsy-7">*</span>    </td>
</tr><tr  
 style="vertical-align:baseline;" id="TBL-4-10-"><td  style="white-space:nowrap; text-align:left;" id="TBL-4-10-1"  
class="td11"><span 
class="pcrr7t-">IM</span><span 
class="pcrr7t-">_TYPE</span><span 
class="pcrr7t-">_RGB      </span></td><td  style="white-space:nowrap; text-align:left;" id="TBL-4-10-2"  
class="td11"><span 
class="pcrr7t-">RGB            </span></td><td  style="white-space:nowrap; text-align:left;" id="TBL-4-10-3"  
class="td11">17     </td><td  style="white-space:nowrap; text-align:left;" id="TBL-4-10-4"  
class="td11">Some RGB                       </td>
</tr><tr  
 style="vertical-align:baseline;" id="TBL-4-11-"><td  style="white-space:nowrap; text-align:left;" id="TBL-4-11-1"  
class="td11"><span 
class="pcrr7t-">IM</span><span 
class="pcrr7t-">_TYPE</span><span 
class="pcrr7t-">_UCS      </span></td><td  style="white-space:nowrap; text-align:left;" id="TBL-4-11-2"  
class="td11"><span 
class="pcrr7t-">UCS            </span></td><td  style="white-space:nowrap; text-align:left;" id="TBL-4-11-3"  
class="td11">18     </td><td  style="white-space:nowrap; text-align:left;" id="TBL-4-11-4"  
class="td11"><span 
class="ptmri7t-">UCS(1:1) </span>colour space     </td>
</tr><tr  
 style="vertical-align:baseline;" id="TBL-4-12-"><td  style="white-space:nowrap; text-align:left;" id="TBL-4-12-1"  
class="td11"><span 
class="pcrr7t-">IM</span><span 
class="pcrr7t-">_TYPE</span><span 
class="pcrr7t-">_LCH      </span></td><td  style="white-space:nowrap; text-align:left;" id="TBL-4-12-2"  
class="td11"><span 
class="pcrr7t-">LCH            </span></td><td  style="white-space:nowrap; text-align:left;" id="TBL-4-12-3"  
class="td11">19     </td><td  style="white-space:nowrap; text-align:left;" id="TBL-4-12-4"  
class="td11"><span 
class="ptmri7t-">CIE LCh </span>colour space      </td>
</tr><tr  
 style="vertical-align:baseline;" id="TBL-4-13-"><td  style="white-space:nowrap; text-align:left;" id="TBL-4-13-1"  
class="td11"><span 
class="pcrr7t-">IM</span><span 
class="pcrr7t-">_TYPE</span><span 
class="pcrr7t-">_LABS     </span></td><td  style="white-space:nowrap; text-align:left;" id="TBL-4-13-2"  
class="td11"><span 
class="pcrr7t-">LABS           </span></td><td  style="white-space:nowrap; text-align:left;" id="TBL-4-13-3"  
class="td11">21     </td><td  style="white-space:nowrap; text-align:left;" id="TBL-4-13-4"  
class="td11">48-bit <span 
class="ptmri7t-">CIE</span><span 
class="ptmri7t-">&#x00A0;</span><span 
class="cmmi-10">L</span><span 
class="cmsy-7">*</span><span 
class="cmmi-10">a</span><span 
class="cmsy-7">*</span><span 
class="cmmi-10">b</span><span 
class="cmsy-7">*</span>    </td>
</tr><tr  
 style="vertical-align:baseline;" id="TBL-4-14-"><td  style="white-space:nowrap; text-align:left;" id="TBL-4-14-1"  
class="td11"><span 
class="pcrr7t-">IM</span><span 
class="pcrr7t-">_TYPE</span><span 
class="pcrr7t-">_sRGB     </span></td><td  style="white-space:nowrap; text-align:left;" id="TBL-4-14-2"  
class="td11"><span 
class="pcrr7t-">sRGB           </span></td><td  style="white-space:nowrap; text-align:left;" id="TBL-4-14-3"  
class="td11">22     </td><td  style="white-space:nowrap; text-align:left;" id="TBL-4-14-4"  
class="td11">sRGB colour space           </td>
</tr><tr  
 style="vertical-align:baseline;" id="TBL-4-15-"><td  style="white-space:nowrap; text-align:left;" id="TBL-4-15-1"  
class="td11"><span 
class="pcrr7t-">IM</span><span 
class="pcrr7t-">_TYPE</span><span 
class="pcrr7t-">_YXY      </span></td><td  style="white-space:nowrap; text-align:left;" id="TBL-4-15-2"  
class="td11"><span 
class="pcrr7t-">YXY            </span></td><td  style="white-space:nowrap; text-align:left;" id="TBL-4-15-3"  
class="td11">23     </td><td  style="white-space:nowrap; text-align:left;" id="TBL-4-15-4"  
class="td11"><span 
class="ptmri7t-">CIE Yxy </span>colour space       </td>
</tr><tr  
 style="vertical-align:baseline;" id="TBL-4-16-"><td  style="white-space:nowrap; text-align:left;" id="TBL-4-16-1"  
class="td11"><span 
class="pcrr7t-">IM</span><span 
class="pcrr7t-">_TYPE</span><span 
class="pcrr7t-">_RGB16    </span></td><td  style="white-space:nowrap; text-align:left;" id="TBL-4-16-2"  
class="td11"><span 
class="pcrr7t-">RGB16          </span></td><td  style="white-space:nowrap; text-align:left;" id="TBL-4-16-3"  
class="td11">25     </td><td  style="white-space:nowrap; text-align:left;" id="TBL-4-16-4"  
class="td11">16-bit RGB                       </td>
</tr><tr  
 style="vertical-align:baseline;" id="TBL-4-17-"><td  style="white-space:nowrap; text-align:left;" id="TBL-4-17-1"  
class="td11"><span 
class="pcrr7t-">IM</span><span 
class="pcrr7t-">_TYPE</span><span 
class="pcrr7t-">_GREY16   </span></td><td  style="white-space:nowrap; text-align:left;" id="TBL-4-17-2"  
class="td11"><span 
class="pcrr7t-">GREY16         </span></td><td  style="white-space:nowrap; text-align:left;" id="TBL-4-17-3"  
class="td11">26     </td><td  style="white-space:nowrap; text-align:left;" id="TBL-4-17-4"  
class="td11">16-bit monochrome          </td>
</tr><tr 
class="hline"><td><hr></td><td><hr></td><td><hr></td><td><hr></td></tr><tr  
 style="vertical-align:baseline;" id="TBL-4-18-"><td  style="white-space:nowrap; text-align:left;" id="TBL-4-18-1"  
class="td11">                 </td></tr></table></div></div>
<br /><div class="caption" 
><span class="id">Table&#x00A0;1.4: </span><span  
class="content">Possible values for <span 
class="pcrr7t-">Type</span></span></div><!--tex4ht:label?: x7-80044 -->
                                           
                                                                                       

                                                                                       
  </div><hr class="endfloat" />
  <h4 class="subsectionHead"><span class="titlemark">1.2.2    </span> <a 
 id="x7-90001.2.2"></a>Computation formats</h4>
<!--l. 134--><p class="noindent" >This type of image has <span 
class="pcrr7t-">Coding </span>set to <span 
class="pcrr7t-">IM</span><span 
class="pcrr7t-">_CODING</span><span 
class="pcrr7t-">_NONE</span>.
The header is then followed by a large array of pixels, laid
out left-to-right, top-to-bottom. Each pixel contains the
specified number of bands. Each band has the specified
band format, which may be an 8-, 16- or 32-bit integer
(either signed or unsigned), a single or double precision
IEEE floating point number, or a pair of single or double
precision floats forming a complex number.
<!--l. 142--><p class="indent" >  All values are stored in the host-machine&#8217;s native number
representation (that is, either most-significant first, as in
SPARC and 680x0 machines, or least-significant first,
for Intel and DEC machines). If necessary, the VIPS
library will automatically byte-swap for you during
read.
<!--l. 147--><p class="noindent" >
  <h4 class="subsectionHead"><span class="titlemark">1.2.3    </span> <a 
 id="x7-100001.2.3"></a>Storage formats</h4>
<!--l. 149--><p class="noindent" >All storage formats have other values for the <span 
class="pcrr7t-">Coding</span>
field. This release supports <span 
class="pcrr7t-">IM</span><span 
class="pcrr7t-">_CODING</span><span 
class="pcrr7t-">_LABQ </span>and
<span 
class="pcrr7t-">IM</span><span 
class="pcrr7t-">_CODING</span><span 
class="pcrr7t-">_RAD</span>.
<!--l. 152--><p class="indent" >  <span 
class="pcrr7t-">IM</span><span 
class="pcrr7t-">_CODING</span><span 
class="pcrr7t-">_LABQ </span>stores <span 
class="cmmi-10">L</span><sup><span 
class="cmsy-7">*</span></sup>, <span 
class="cmmi-10">a</span><sup><span 
class="cmsy-7">*</span></sup> and <span 
class="cmmi-10">b</span><sup><span 
class="cmsy-7">*</span></sup> for each
pixel, with 10 bits for <span 
class="cmmi-10">L</span><sup><span 
class="cmsy-7">*</span></sup> and 11 bits for each of <span 
class="cmmi-10">a</span><sup><span 
class="cmsy-7">*</span></sup>
and <span 
class="cmmi-10">b</span><sup><span 
class="cmsy-7">*</span></sup>. These 32 bits are packed into 4 bytes, with
the most significant 8 bits of each value in the first 3
bytes, and the left-over bits packed into the final byte as
2:3:3.
<!--l. 158--><p class="indent" >  This format is a little awkward to process. Some VIPS
functions can work directly on <span 
class="pcrr7t-">IM</span><span 
class="pcrr7t-">_CODING</span><span 
class="pcrr7t-">_LABQ</span>
images (<span 
class="pcrr7t-">im</span><span 
class="pcrr7t-">_extract</span><span 
class="pcrr7t-">_area()</span>, for example), but
most will require you to unpack the image to one of the
computation formats (for example with <span 
class="pcrr7t-">im</span><span 
class="pcrr7t-">_LabQ2Lab()</span>)
first.
<!--l. 163--><p class="indent" >  <span 
class="pcrr7t-">IM</span><span 
class="pcrr7t-">_CODING</span><span 
class="pcrr7t-">_RAD </span>stores <span 
class="cmmi-10">RGB </span>or <span 
class="cmmi-10">XY Z </span>float images
as 8 bytes of mantissa and then 8 bytes of exponent,
shared between the three channels. This coding style
is used by the Radiance family of programs (and the
HDR format) commonly used for HDR imaging. This
style of image is generated when you load an HDR
image.
<!--l. 169--><p class="indent" >  This format is a little awkward to process. Some VIPS
functions can work directly on <span 
class="pcrr7t-">IM</span><span 
class="pcrr7t-">_CODING</span><span 
class="pcrr7t-">_RAD</span>
images (<span 
class="pcrr7t-">im</span><span 
class="pcrr7t-">_extract</span><span 
class="pcrr7t-">_area()</span>, for example), but
most will require you to unpack the image to one of     the computation formats with <span 
class="pcrr7t-">im</span><span 
class="pcrr7t-">_rad2float()</span>
 first.
                                                                                       

                                                                                       
  <!--l. 1--><div class="crosslinks"><p class="noindent">[<a 
href="vipsmanualse3.html" >next</a>] [<a 
href="vipsmanualse1.html" >prev</a>] [<a 
href="vipsmanualse1.html#tailvipsmanualse1.html" >prev-tail</a>] [<a 
href="vipsmanualse2.html" >front</a>] [<a 
href="vipsmanualch1.html#vipsmanualse2.html" >up</a>] </p></div>
<!--l. 1--><p class="indent" >  <a 
 id="tailvipsmanualse2.html"></a>   
</body></html>