Sophie

Sophie

distrib > Mageia > 7 > i586 > media > core-updates > by-pkgid > 9b2eec216777f0c505d4f747f9ee0e8f > files > 52

lensfun-0.3.2-8.1.mga7.i586.rpm

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "https://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/xhtml;charset=UTF-8"/>
<meta http-equiv="X-UA-Compatible" content="IE=9"/>
<meta name="generator" content="Doxygen 1.8.15"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>lensfun: Image correction</title>
<link href="tabs.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="jquery.js"></script>
<script type="text/javascript" src="dynsections.js"></script>
<script type="text/x-mathjax-config">
  MathJax.Hub.Config({
    extensions: ["tex2jax.js"],
    jax: ["input/TeX","output/HTML-CSS"],
});
MathJax.Hub.Config({
    messageStyle: "none"
});
</script><script type="text/javascript" async="async" src="http://lensfun.sourceforge.net/mathjax/MathJax.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
</head>
<body>
<div id="top"><!-- do not remove this div, it is closed by doxygen! -->
<div id="titlearea">
<table cellspacing="0" cellpadding="0">
 <tbody>
 <tr style="height: 56px;">
  <td id="projectalign" style="padding-left: 0.5em;">
   <div id="projectname">lensfun
   &#160;<span id="projectnumber">0.3.2.0</span>
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.15 -->
<script type="text/javascript" src="menudata.js"></script>
<script type="text/javascript" src="menu.js"></script>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(function() {
  initMenu('',false,false,'search.php','Search');
});
/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div class="header">
  <div class="summary">
<a href="#nested-classes">Classes</a> &#124;
<a href="#define-members">Macros</a> &#124;
<a href="#typedef-members">Typedefs</a> &#124;
<a href="#enum-members">Enumerations</a> &#124;
<a href="#func-members">Functions</a>  </div>
  <div class="headertitle">
<div class="title">Image correction</div>  </div>
</div><!--header-->
<div class="contents">

<p>This group of functions will allow you to apply a image transform that will correct some lens defects.  
<a href="#details">More...</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="nested-classes"></a>
Classes</h2></td></tr>
<tr class="memitem:"><td class="memItemLeft" align="right" valign="top">struct &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structlfModifier.html">lfModifier</a></td></tr>
<tr class="memdesc:"><td class="mdescLeft">&#160;</td><td class="mdescRight">A modifier object contains optimized data required to rectify a image.  <a href="structlfModifier.html#details">More...</a><br /></td></tr>
<tr class="separator:"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="define-members"></a>
Macros</h2></td></tr>
<tr class="memitem:ga1c672cc3a7634400f1e43c38ca2ac6a9"><td class="memItemLeft" align="right" valign="top"><a id="ga1c672cc3a7634400f1e43c38ca2ac6a9"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Correction.html#ga1c672cc3a7634400f1e43c38ca2ac6a9">LF_CR_1</a>(a)&#160;&#160;&#160;(LF_CR_ ## a)</td></tr>
<tr class="memdesc:ga1c672cc3a7634400f1e43c38ca2ac6a9"><td class="mdescLeft">&#160;</td><td class="mdescRight">This macro defines a pixel format consisting of one component. <br /></td></tr>
<tr class="separator:ga1c672cc3a7634400f1e43c38ca2ac6a9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gad76d337a7939fd743d6f7d3513ad9986"><td class="memItemLeft" align="right" valign="top"><a id="gad76d337a7939fd743d6f7d3513ad9986"></a>
#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Correction.html#gad76d337a7939fd743d6f7d3513ad9986">LF_CR_2</a>(a,  b)&#160;&#160;&#160;((LF_CR_ ## a) | ((LF_CR_ ## b) &lt;&lt; 4))</td></tr>
<tr class="memdesc:gad76d337a7939fd743d6f7d3513ad9986"><td class="mdescLeft">&#160;</td><td class="mdescRight">This macro defines a pixel format consisting of two components. <br /></td></tr>
<tr class="separator:gad76d337a7939fd743d6f7d3513ad9986"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga9b946e37f6e3d0c65ae58de3af174506"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Correction.html#ga9b946e37f6e3d0c65ae58de3af174506">LF_CR_3</a>(a,  b,  c)</td></tr>
<tr class="memdesc:ga9b946e37f6e3d0c65ae58de3af174506"><td class="mdescLeft">&#160;</td><td class="mdescRight">This macro defines a pixel format consisting of three components.  <a href="#ga9b946e37f6e3d0c65ae58de3af174506">More...</a><br /></td></tr>
<tr class="separator:ga9b946e37f6e3d0c65ae58de3af174506"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gae3340956c99189894a5efbf2991d8039"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Correction.html#gae3340956c99189894a5efbf2991d8039">LF_CR_4</a>(a,  b,  c,  d)</td></tr>
<tr class="memdesc:gae3340956c99189894a5efbf2991d8039"><td class="mdescLeft">&#160;</td><td class="mdescRight">This macro defines a pixel format consisting of four components.  <a href="#gae3340956c99189894a5efbf2991d8039">More...</a><br /></td></tr>
<tr class="separator:gae3340956c99189894a5efbf2991d8039"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga2edf2d1c206bed25ee7953965960b24c"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Correction.html#ga2edf2d1c206bed25ee7953965960b24c">LF_CR_5</a>(a,  b,  c,  d,  e)</td></tr>
<tr class="memdesc:ga2edf2d1c206bed25ee7953965960b24c"><td class="mdescLeft">&#160;</td><td class="mdescRight">This macro defines a pixel format consisting of five components.  <a href="#ga2edf2d1c206bed25ee7953965960b24c">More...</a><br /></td></tr>
<tr class="separator:ga2edf2d1c206bed25ee7953965960b24c"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga8b23d0fe62cc010a5db276d8867bdc4a"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Correction.html#ga8b23d0fe62cc010a5db276d8867bdc4a">LF_CR_6</a>(a,  b,  c,  d,  e,  f)</td></tr>
<tr class="memdesc:ga8b23d0fe62cc010a5db276d8867bdc4a"><td class="mdescLeft">&#160;</td><td class="mdescRight">This macro defines a pixel format consisting of six components.  <a href="#ga8b23d0fe62cc010a5db276d8867bdc4a">More...</a><br /></td></tr>
<tr class="separator:ga8b23d0fe62cc010a5db276d8867bdc4a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga126714f9affb37c42fb43484e972f790"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Correction.html#ga126714f9affb37c42fb43484e972f790">LF_CR_7</a>(a,  b,  c,  d,  e,  f,  g)</td></tr>
<tr class="memdesc:ga126714f9affb37c42fb43484e972f790"><td class="mdescLeft">&#160;</td><td class="mdescRight">This macro defines a pixel format consisting of seven components.  <a href="#ga126714f9affb37c42fb43484e972f790">More...</a><br /></td></tr>
<tr class="separator:ga126714f9affb37c42fb43484e972f790"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gae4f2c469650e1a64a40cf8cc937a774f"><td class="memItemLeft" align="right" valign="top">#define&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Correction.html#gae4f2c469650e1a64a40cf8cc937a774f">LF_CR_8</a>(a,  b,  c,  d,  e,  f,  g,  h)</td></tr>
<tr class="memdesc:gae4f2c469650e1a64a40cf8cc937a774f"><td class="mdescLeft">&#160;</td><td class="mdescRight">This macro defines a pixel format consisting of eight components.  <a href="#gae4f2c469650e1a64a40cf8cc937a774f">More...</a><br /></td></tr>
<tr class="separator:gae4f2c469650e1a64a40cf8cc937a774f"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="typedef-members"></a>
Typedefs</h2></td></tr>
<tr class="memitem:ga077f45d25c226258df815a2640a3c504"><td class="memItemLeft" align="right" valign="top">typedef void(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Correction.html#ga077f45d25c226258df815a2640a3c504">lfSubpixelCoordFunc</a>) (void *data, float *iocoord, int count)</td></tr>
<tr class="memdesc:ga077f45d25c226258df815a2640a3c504"><td class="mdescLeft">&#160;</td><td class="mdescRight">A callback function which modifies the separate coordinates for all color components for every pixel in a strip.  <a href="#ga077f45d25c226258df815a2640a3c504">More...</a><br /></td></tr>
<tr class="separator:ga077f45d25c226258df815a2640a3c504"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gad9fd49a4533259a2a148cac4208af681"><td class="memItemLeft" align="right" valign="top">typedef void(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Correction.html#gad9fd49a4533259a2a148cac4208af681">lfModifyColorFunc</a>) (void *data, float x, float y, void *pixels, int comp_role, int count)</td></tr>
<tr class="memdesc:gad9fd49a4533259a2a148cac4208af681"><td class="mdescLeft">&#160;</td><td class="mdescRight">A callback function which modifies the colors of a strip of pixels.  <a href="#gad9fd49a4533259a2a148cac4208af681">More...</a><br /></td></tr>
<tr class="separator:gad9fd49a4533259a2a148cac4208af681"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga818a017498e0becacdb3c0d445566b9e"><td class="memItemLeft" align="right" valign="top">typedef void(*&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Correction.html#ga818a017498e0becacdb3c0d445566b9e">lfModifyCoordFunc</a>) (void *data, float *iocoord, int count)</td></tr>
<tr class="memdesc:ga818a017498e0becacdb3c0d445566b9e"><td class="mdescLeft">&#160;</td><td class="mdescRight">A callback function which modifies the coordinates of a strip of pixels.  <a href="#ga818a017498e0becacdb3c0d445566b9e">More...</a><br /></td></tr>
<tr class="separator:ga818a017498e0becacdb3c0d445566b9e"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="enum-members"></a>
Enumerations</h2></td></tr>
<tr class="memitem:gadf764cbdea00d65edcd07bb9953ad2b7"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom">{ <br />
&#160;&#160;<a class="el" href="group__Correction.html#ggadf764cbdea00d65edcd07bb9953ad2b7a2d151b0e170f0caff31885677d787846">LF_MODIFY_TCA</a> = 0x00000001, 
<a class="el" href="group__Correction.html#ggadf764cbdea00d65edcd07bb9953ad2b7a6aded8676e2e6da6abe62709d63ee1da">LF_MODIFY_VIGNETTING</a> = 0x00000002, 
<a class="el" href="group__Correction.html#ggadf764cbdea00d65edcd07bb9953ad2b7a7be69c9a6c86737de2ed4e5bff238086">LF_MODIFY_DISTORTION</a> = 0x00000008, 
<a class="el" href="group__Correction.html#ggadf764cbdea00d65edcd07bb9953ad2b7a6fa0d1e43f6dbde8c395be838b89ad52">LF_MODIFY_GEOMETRY</a> = 0x00000010, 
<br />
&#160;&#160;<a class="el" href="group__Correction.html#ggadf764cbdea00d65edcd07bb9953ad2b7abf173cd4cb15a0c242bd32a5ff840982">LF_MODIFY_SCALE</a> = 0x00000020, 
<a class="el" href="group__Correction.html#ggadf764cbdea00d65edcd07bb9953ad2b7ae1ab1b372f8b577883344c4d5f7bb2de">LF_MODIFY_ALL</a> = ~0
<br />
 }</td></tr>
<tr class="memdesc:gadf764cbdea00d65edcd07bb9953ad2b7"><td class="mdescLeft">&#160;</td><td class="mdescRight">A list of bitmask flags used for ordering various image corrections.  <a href="group__Correction.html#gadf764cbdea00d65edcd07bb9953ad2b7">More...</a><br /></td></tr>
<tr class="separator:gadf764cbdea00d65edcd07bb9953ad2b7"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaff4770bc2656179dcfe2da40a25f8148"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Correction.html#gaff4770bc2656179dcfe2da40a25f8148">lfPixelFormat</a> { <br />
&#160;&#160;<a class="el" href="group__Correction.html#ggaff4770bc2656179dcfe2da40a25f8148a95ee1ddd11467921c63bedad9ab5f673">LF_PF_U8</a>, 
<a class="el" href="group__Correction.html#ggaff4770bc2656179dcfe2da40a25f8148a34308145fbd4e6ed26f853c07451024a">LF_PF_U16</a>, 
<a class="el" href="group__Correction.html#ggaff4770bc2656179dcfe2da40a25f8148ac5a68f2c2b7b009d716f5343562f52cc">LF_PF_U32</a>, 
<a class="el" href="group__Correction.html#ggaff4770bc2656179dcfe2da40a25f8148acae6b856776feafff62f27729f3cd91d">LF_PF_F32</a>, 
<br />
&#160;&#160;<a class="el" href="group__Correction.html#ggaff4770bc2656179dcfe2da40a25f8148a546d35bf49a5121abcc75c524f15723a">LF_PF_F64</a>
<br />
 }</td></tr>
<tr class="memdesc:gaff4770bc2656179dcfe2da40a25f8148"><td class="mdescLeft">&#160;</td><td class="mdescRight">A list of pixel formats supported by internal colour callbacks.  <a href="group__Correction.html#gaff4770bc2656179dcfe2da40a25f8148">More...</a><br /></td></tr>
<tr class="separator:gaff4770bc2656179dcfe2da40a25f8148"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaf7c5a3f809c2245211b9f50797b718b3"><td class="memItemLeft" align="right" valign="top">enum &#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Correction.html#gaf7c5a3f809c2245211b9f50797b718b3">lfComponentRole</a> { <br />
&#160;&#160;<a class="el" href="group__Correction.html#ggaf7c5a3f809c2245211b9f50797b718b3a50dc9df363bc7cdc8d26c2af03079fcd">LF_CR_END</a> = 0, 
<a class="el" href="group__Correction.html#ggaf7c5a3f809c2245211b9f50797b718b3a119239f030e5b172f9f4f33d8291737c">LF_CR_NEXT</a>, 
<a class="el" href="group__Correction.html#ggaf7c5a3f809c2245211b9f50797b718b3abbc2d0f2ccfe68525084f17b7c1e99d7">LF_CR_UNKNOWN</a>, 
<a class="el" href="group__Correction.html#ggaf7c5a3f809c2245211b9f50797b718b3a578b1a8faf7d4ee8e45da6a6db07520b">LF_CR_INTENSITY</a>, 
<br />
&#160;&#160;<a class="el" href="group__Correction.html#ggaf7c5a3f809c2245211b9f50797b718b3a90448cedee39903ed59ca4b033a5284b">LF_CR_RED</a>, 
<a class="el" href="group__Correction.html#ggaf7c5a3f809c2245211b9f50797b718b3adbab9967fefe3e0aa390717b48ba1bbe">LF_CR_GREEN</a>, 
<a class="el" href="group__Correction.html#ggaf7c5a3f809c2245211b9f50797b718b3ae6540b2a6338e572c64a03a946259ce8">LF_CR_BLUE</a>
<br />
 }</td></tr>
<tr class="memdesc:gaf7c5a3f809c2245211b9f50797b718b3"><td class="mdescLeft">&#160;</td><td class="mdescRight">These constants define the role of every pixel component, four bits each. "pixel" refers here to a set of values which share the same (x, y) coordinates.  <a href="group__Correction.html#gaf7c5a3f809c2245211b9f50797b718b3">More...</a><br /></td></tr>
<tr class="separator:gaf7c5a3f809c2245211b9f50797b718b3"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="func-members"></a>
Functions</h2></td></tr>
<tr class="memitem:ga8303838db121c2073fa3913ca79a4554"><td class="memItemLeft" align="right" valign="top"><a class="el" href="structlfModifier.html">lfModifier</a> *&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Correction.html#ga8303838db121c2073fa3913ca79a4554">lf_modifier_new</a> (const <a class="el" href="structlfLens.html">lfLens</a> *lens, float crop, int width, int height)</td></tr>
<tr class="separator:ga8303838db121c2073fa3913ca79a4554"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga21561a6741404b6607c4041883950afa"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Correction.html#ga21561a6741404b6607c4041883950afa">lf_modifier_destroy</a> (<a class="el" href="structlfModifier.html">lfModifier</a> *modifier)</td></tr>
<tr class="separator:ga21561a6741404b6607c4041883950afa"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gac181e638055efd67ea0953e2badb3e1b"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Correction.html#gac181e638055efd67ea0953e2badb3e1b">lf_modifier_initialize</a> (<a class="el" href="structlfModifier.html">lfModifier</a> *modifier, const <a class="el" href="structlfLens.html">lfLens</a> *lens, <a class="el" href="group__Correction.html#gaff4770bc2656179dcfe2da40a25f8148">lfPixelFormat</a> format, float focal, float aperture, float distance, float scale, <a class="el" href="group__Lens.html#gac853bb55ada6a58f12a68f6a1974f764">lfLensType</a> targeom, int flags, <a class="el" href="group__Auxiliary.html#gaf022c6523998cec18c6b369c68fe1dce">cbool</a> reverse)</td></tr>
<tr class="separator:gac181e638055efd67ea0953e2badb3e1b"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga1afcef84ebeb96d19ef4b1ae27e38812"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Correction.html#ga1afcef84ebeb96d19ef4b1ae27e38812">lf_modifier_add_coord_callback</a> (<a class="el" href="structlfModifier.html">lfModifier</a> *modifier, <a class="el" href="group__Correction.html#ga818a017498e0becacdb3c0d445566b9e">lfModifyCoordFunc</a> callback, int priority, void *data, size_t data_size)</td></tr>
<tr class="separator:ga1afcef84ebeb96d19ef4b1ae27e38812"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga67ee732ed1b45b7e522ed7e1412f65b9"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Correction.html#ga67ee732ed1b45b7e522ed7e1412f65b9">lf_modifier_add_subpixel_callback</a> (<a class="el" href="structlfModifier.html">lfModifier</a> *modifier, <a class="el" href="group__Correction.html#ga077f45d25c226258df815a2640a3c504">lfSubpixelCoordFunc</a> callback, int priority, void *data, size_t data_size)</td></tr>
<tr class="separator:ga67ee732ed1b45b7e522ed7e1412f65b9"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga9e01b424bdfc2ea42be7eead5aa8e29f"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Correction.html#ga9e01b424bdfc2ea42be7eead5aa8e29f">lf_modifier_add_color_callback</a> (<a class="el" href="structlfModifier.html">lfModifier</a> *modifier, <a class="el" href="group__Correction.html#gad9fd49a4533259a2a148cac4208af681">lfModifyColorFunc</a> callback, int priority, void *data, size_t data_size)</td></tr>
<tr class="separator:ga9e01b424bdfc2ea42be7eead5aa8e29f"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gace5f06c71b3f0dc45f28633a88951a02"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__Auxiliary.html#gaf022c6523998cec18c6b369c68fe1dce">cbool</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Correction.html#gace5f06c71b3f0dc45f28633a88951a02">lf_modifier_add_subpixel_callback_TCA</a> (<a class="el" href="structlfModifier.html">lfModifier</a> *modifier, <a class="el" href="structlfLensCalibTCA.html">lfLensCalibTCA</a> *model, <a class="el" href="group__Auxiliary.html#gaf022c6523998cec18c6b369c68fe1dce">cbool</a> reverse)</td></tr>
<tr class="separator:gace5f06c71b3f0dc45f28633a88951a02"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga6e3da166a2737507db8bd8e5c5867932"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__Auxiliary.html#gaf022c6523998cec18c6b369c68fe1dce">cbool</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Correction.html#ga6e3da166a2737507db8bd8e5c5867932">lf_modifier_add_color_callback_vignetting</a> (<a class="el" href="structlfModifier.html">lfModifier</a> *modifier, <a class="el" href="structlfLensCalibVignetting.html">lfLensCalibVignetting</a> *model, <a class="el" href="group__Correction.html#gaff4770bc2656179dcfe2da40a25f8148">lfPixelFormat</a> format, <a class="el" href="group__Auxiliary.html#gaf022c6523998cec18c6b369c68fe1dce">cbool</a> reverse)</td></tr>
<tr class="separator:ga6e3da166a2737507db8bd8e5c5867932"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gab5c5d8ac841d14eb5cb0c3c1493ef3ed"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__Auxiliary.html#gaf022c6523998cec18c6b369c68fe1dce">cbool</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Correction.html#gab5c5d8ac841d14eb5cb0c3c1493ef3ed">lf_modifier_add_coord_callback_distortion</a> (<a class="el" href="structlfModifier.html">lfModifier</a> *modifier, <a class="el" href="structlfLensCalibDistortion.html">lfLensCalibDistortion</a> *model, <a class="el" href="group__Auxiliary.html#gaf022c6523998cec18c6b369c68fe1dce">cbool</a> reverse)</td></tr>
<tr class="separator:gab5c5d8ac841d14eb5cb0c3c1493ef3ed"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gaef534f6ab0db7b0c40fd3ce65d8c4edd"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__Auxiliary.html#gaf022c6523998cec18c6b369c68fe1dce">cbool</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Correction.html#gaef534f6ab0db7b0c40fd3ce65d8c4edd">lf_modifier_add_coord_callback_geometry</a> (<a class="el" href="structlfModifier.html">lfModifier</a> *modifier, <a class="el" href="group__Lens.html#gac853bb55ada6a58f12a68f6a1974f764">lfLensType</a> from, <a class="el" href="group__Lens.html#gac853bb55ada6a58f12a68f6a1974f764">lfLensType</a> to, float focal)</td></tr>
<tr class="separator:gaef534f6ab0db7b0c40fd3ce65d8c4edd"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga2b7e96c8e8e4bc781f2c6d9605c1a987"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__Auxiliary.html#gaf022c6523998cec18c6b369c68fe1dce">cbool</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Correction.html#ga2b7e96c8e8e4bc781f2c6d9605c1a987">lf_modifier_add_coord_callback_scale</a> (<a class="el" href="structlfModifier.html">lfModifier</a> *modifier, float scale, <a class="el" href="group__Auxiliary.html#gaf022c6523998cec18c6b369c68fe1dce">cbool</a> reverse)</td></tr>
<tr class="separator:ga2b7e96c8e8e4bc781f2c6d9605c1a987"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga743f0f4230f6a24d115371580d4b1f4a"><td class="memItemLeft" align="right" valign="top">float&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Correction.html#ga743f0f4230f6a24d115371580d4b1f4a">lf_modifier_get_auto_scale</a> (<a class="el" href="structlfModifier.html">lfModifier</a> *modifier, <a class="el" href="group__Auxiliary.html#gaf022c6523998cec18c6b369c68fe1dce">cbool</a> reverse)</td></tr>
<tr class="separator:ga743f0f4230f6a24d115371580d4b1f4a"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga0c4518f06345bc131d3cbcf9bf9d67ac"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__Auxiliary.html#gaf022c6523998cec18c6b369c68fe1dce">cbool</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Correction.html#ga0c4518f06345bc131d3cbcf9bf9d67ac">lf_modifier_apply_subpixel_distortion</a> (<a class="el" href="structlfModifier.html">lfModifier</a> *modifier, float xu, float yu, int width, int height, float *res)</td></tr>
<tr class="separator:ga0c4518f06345bc131d3cbcf9bf9d67ac"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga3e9a6f97e1bc88a649d44ca615502ecf"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__Auxiliary.html#gaf022c6523998cec18c6b369c68fe1dce">cbool</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Correction.html#ga3e9a6f97e1bc88a649d44ca615502ecf">lf_modifier_apply_color_modification</a> (<a class="el" href="structlfModifier.html">lfModifier</a> *modifier, void *pixels, float x, float y, int width, int height, int comp_role, int row_stride)</td></tr>
<tr class="separator:ga3e9a6f97e1bc88a649d44ca615502ecf"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:ga91bbc276ea7911bd7ad30a8c6f1fcbbc"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__Auxiliary.html#gaf022c6523998cec18c6b369c68fe1dce">cbool</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Correction.html#ga91bbc276ea7911bd7ad30a8c6f1fcbbc">lf_modifier_apply_geometry_distortion</a> (<a class="el" href="structlfModifier.html">lfModifier</a> *modifier, float xu, float yu, int width, int height, float *res)</td></tr>
<tr class="separator:ga91bbc276ea7911bd7ad30a8c6f1fcbbc"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:gab48dc9e0ab9a4837187c69d3b92afef3"><td class="memItemLeft" align="right" valign="top"><a class="el" href="group__Auxiliary.html#gaf022c6523998cec18c6b369c68fe1dce">cbool</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="group__Correction.html#gab48dc9e0ab9a4837187c69d3b92afef3">lf_modifier_apply_subpixel_geometry_distortion</a> (<a class="el" href="structlfModifier.html">lfModifier</a> *modifier, float xu, float yu, int width, int height, float *res)</td></tr>
<tr class="separator:gab48dc9e0ab9a4837187c69d3b92afef3"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<p>This group of functions will allow you to apply a image transform that will correct some lens defects. </p>
<h2 class="groupheader">Macro Definition Documentation</h2>
<a id="ga9b946e37f6e3d0c65ae58de3af174506"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga9b946e37f6e3d0c65ae58de3af174506">&#9670;&nbsp;</a></span>LF_CR_3</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define LF_CR_3</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">a, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">b, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">c&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<b>Value:</b><div class="fragment"><div class="line">((LF_CR_ ## a) | ((LF_CR_ ## b) &lt;&lt; 4) | \</div><div class="line">                                 ((LF_CR_ ## c) &lt;&lt; 8))</div></div><!-- fragment -->
<p>This macro defines a pixel format consisting of three components. </p>

</div>
</div>
<a id="gae3340956c99189894a5efbf2991d8039"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gae3340956c99189894a5efbf2991d8039">&#9670;&nbsp;</a></span>LF_CR_4</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define LF_CR_4</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">a, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">b, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">c, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">d&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<b>Value:</b><div class="fragment"><div class="line">((LF_CR_ ## a) | ((LF_CR_ ## b) &lt;&lt; 4) | \</div><div class="line">                                 ((LF_CR_ ## c) &lt;&lt; 8) | ((LF_CR_ ## d) &lt;&lt; 12))</div></div><!-- fragment -->
<p>This macro defines a pixel format consisting of four components. </p>
<dl class="section examples"><dt>Examples</dt><dd><a class="el" href="lenstool_8cpp-example.html#a20">lenstool.cpp</a>.</dd>
</dl>

</div>
</div>
<a id="ga2edf2d1c206bed25ee7953965960b24c"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga2edf2d1c206bed25ee7953965960b24c">&#9670;&nbsp;</a></span>LF_CR_5</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define LF_CR_5</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">a, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">b, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">c, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">d, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">e&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<b>Value:</b><div class="fragment"><div class="line">((LF_CR_ ## a) | ((LF_CR_ ## b) &lt;&lt; 4) | \</div><div class="line">                                 ((LF_CR_ ## c) &lt;&lt; 8) | ((LF_CR_ ## d) &lt;&lt; 12) | \</div><div class="line">                                 ((LF_CR_ ## e) &lt;&lt; 16))</div></div><!-- fragment -->
<p>This macro defines a pixel format consisting of five components. </p>

</div>
</div>
<a id="ga8b23d0fe62cc010a5db276d8867bdc4a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga8b23d0fe62cc010a5db276d8867bdc4a">&#9670;&nbsp;</a></span>LF_CR_6</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define LF_CR_6</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">a, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">b, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">c, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">d, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">e, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">f&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<b>Value:</b><div class="fragment"><div class="line">((LF_CR_ ## a) | ((LF_CR_ ## b) &lt;&lt; 4) | \</div><div class="line">                                 ((LF_CR_ ## c) &lt;&lt; 8) | ((LF_CR_ ## d) &lt;&lt; 12) | \</div><div class="line">                                 ((LF_CR_ ## e) &lt;&lt; 16) | ((LF_CR_ ## f) &lt;&lt; 20))</div></div><!-- fragment -->
<p>This macro defines a pixel format consisting of six components. </p>

</div>
</div>
<a id="ga126714f9affb37c42fb43484e972f790"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga126714f9affb37c42fb43484e972f790">&#9670;&nbsp;</a></span>LF_CR_7</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define LF_CR_7</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">a, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">b, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">c, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">d, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">e, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">f, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">g&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<b>Value:</b><div class="fragment"><div class="line">((LF_CR_ ## a) | ((LF_CR_ ## b) &lt;&lt; 4) | \</div><div class="line">                                 ((LF_CR_ ## c) &lt;&lt; 8) | ((LF_CR_ ## d) &lt;&lt; 12) | \</div><div class="line">                                 ((LF_CR_ ## e) &lt;&lt; 16) | ((LF_CR_ ## f) &lt;&lt; 20) | \</div><div class="line">                                 ((LF_CR_ ## g) &lt;&lt; 24))</div></div><!-- fragment -->
<p>This macro defines a pixel format consisting of seven components. </p>

</div>
</div>
<a id="gae4f2c469650e1a64a40cf8cc937a774f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gae4f2c469650e1a64a40cf8cc937a774f">&#9670;&nbsp;</a></span>LF_CR_8</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">#define LF_CR_8</td>
          <td>(</td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">a, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">b, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">c, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">d, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">e, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">f, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">g, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">&#160;</td>
          <td class="paramname">h&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<b>Value:</b><div class="fragment"><div class="line">((LF_CR_ ## a) | ((LF_CR_ ## b) &lt;&lt; 4) | \</div><div class="line">                                 ((LF_CR_ ## c) &lt;&lt; 8) | ((LF_CR_ ## d) &lt;&lt; 12) | \</div><div class="line">                                 ((LF_CR_ ## e) &lt;&lt; 16) | ((LF_CR_ ## f) &lt;&lt; 20) | \</div><div class="line">                                 ((LF_CR_ ## g) &lt;&lt; 24) | ((LF_CR_ ## h) &lt;&lt; 28))</div></div><!-- fragment -->
<p>This macro defines a pixel format consisting of eight components. </p>

</div>
</div>
<h2 class="groupheader">Typedef Documentation</h2>
<a id="gad9fd49a4533259a2a148cac4208af681"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gad9fd49a4533259a2a148cac4208af681">&#9670;&nbsp;</a></span>lfModifyColorFunc</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef void(* lfModifyColorFunc) (void *data, float x, float y, void *pixels, int comp_role, int count)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>A callback function which modifies the colors of a strip of pixels. </p>
<p>This kind of callbacks are used in the first stage of image modification. </p><dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">data</td><td>A opaque pointer to some data. </td></tr>
    <tr><td class="paramname">x</td><td>The X coordinate of the beginning of the strip. For next pixels the X coordinate increments sequentialy. </td></tr>
    <tr><td class="paramname">y</td><td>The Y coordinate of the pixel strip. This is a constant across all pixels of the strip. </td></tr>
    <tr><td class="paramname">pixels</td><td>A pointer to pixel data. It is the responsability of the function inserting the callback into the chain to provide a callback operating with the correct pixel format. </td></tr>
    <tr><td class="paramname">comp_role</td><td>The role of every pixel component. This is a bitfield, made by one of the LF_CR_X macros which defines the roles of every pixel field. For example, <a class="el" href="group__Correction.html#gae3340956c99189894a5efbf2991d8039" title="This macro defines a pixel format consisting of four components.">LF_CR_4(RED,GREEN,BLUE,UNKNOWN)</a> will define a RGBA (or RGBX) pixel format, and the UNKNOWN field will not be modified. </td></tr>
    <tr><td class="paramname">count</td><td>Number of pixels to process. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="ga818a017498e0becacdb3c0d445566b9e"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga818a017498e0becacdb3c0d445566b9e">&#9670;&nbsp;</a></span>lfModifyCoordFunc</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef void(* lfModifyCoordFunc) (void *data, float *iocoord, int count)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>A callback function which modifies the coordinates of a strip of pixels. </p>
<p>This kind of callbacks are used in third stage of image modification. </p><dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">data</td><td>A opaque pointer to some data. </td></tr>
    <tr><td class="paramname">iocoord</td><td>A pointer to an array <em>count</em> pixel coordinates (X,Y). The function must replace the coordinates with their new values. </td></tr>
    <tr><td class="paramname">count</td><td>Number of coordinate groups to handle. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a id="ga077f45d25c226258df815a2640a3c504"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga077f45d25c226258df815a2640a3c504">&#9670;&nbsp;</a></span>lfSubpixelCoordFunc</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">typedef void(* lfSubpixelCoordFunc) (void *data, float *iocoord, int count)</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>A callback function which modifies the separate coordinates for all color components for every pixel in a strip. </p>
<p>This kind of callbacks are used in the second stage of image modification. </p><dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">data</td><td>A opaque pointer to some data. </td></tr>
    <tr><td class="paramname">iocoord</td><td>A pointer to an array of count*3 pixel coordinates (X,Y). The first coordinate pair is for the R component, second for G and third for B of same pixel. There are count*2*3 floats total in this array. </td></tr>
    <tr><td class="paramname">count</td><td>Number of coordinate groups to handle. </td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<h2 class="groupheader">Enumeration Type Documentation</h2>
<a id="gadf764cbdea00d65edcd07bb9953ad2b7"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gadf764cbdea00d65edcd07bb9953ad2b7">&#9670;&nbsp;</a></span>anonymous enum</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">anonymous enum</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>A list of bitmask flags used for ordering various image corrections. </p>
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="ggadf764cbdea00d65edcd07bb9953ad2b7a2d151b0e170f0caff31885677d787846"></a>LF_MODIFY_TCA&#160;</td><td class="fielddoc"><p>Correct (or apply) lens transversal chromatic aberrations </p>
</td></tr>
<tr><td class="fieldname"><a id="ggadf764cbdea00d65edcd07bb9953ad2b7a6aded8676e2e6da6abe62709d63ee1da"></a>LF_MODIFY_VIGNETTING&#160;</td><td class="fielddoc"><p>Correct (or apply) lens vignetting </p>
</td></tr>
<tr><td class="fieldname"><a id="ggadf764cbdea00d65edcd07bb9953ad2b7a7be69c9a6c86737de2ed4e5bff238086"></a>LF_MODIFY_DISTORTION&#160;</td><td class="fielddoc"><p>Correct (or apply) lens distortion </p>
</td></tr>
<tr><td class="fieldname"><a id="ggadf764cbdea00d65edcd07bb9953ad2b7a6fa0d1e43f6dbde8c395be838b89ad52"></a>LF_MODIFY_GEOMETRY&#160;</td><td class="fielddoc"><p>Convert image geometry </p>
</td></tr>
<tr><td class="fieldname"><a id="ggadf764cbdea00d65edcd07bb9953ad2b7abf173cd4cb15a0c242bd32a5ff840982"></a>LF_MODIFY_SCALE&#160;</td><td class="fielddoc"><p>Additional resize of image </p>
</td></tr>
<tr><td class="fieldname"><a id="ggadf764cbdea00d65edcd07bb9953ad2b7ae1ab1b372f8b577883344c4d5f7bb2de"></a>LF_MODIFY_ALL&#160;</td><td class="fielddoc"><p>Apply all possible corrections </p>
</td></tr>
</table>

</div>
</div>
<a id="gaf7c5a3f809c2245211b9f50797b718b3"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gaf7c5a3f809c2245211b9f50797b718b3">&#9670;&nbsp;</a></span>lfComponentRole</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="group__Correction.html#gaf7c5a3f809c2245211b9f50797b718b3">lfComponentRole</a></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>These constants define the role of every pixel component, four bits each. "pixel" refers here to a set of values which share the same (x, y) coordinates. </p>
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="ggaf7c5a3f809c2245211b9f50797b718b3a50dc9df363bc7cdc8d26c2af03079fcd"></a>LF_CR_END&#160;</td><td class="fielddoc"><p>This marks the end of the role list. It doesn't have to be specified explicitly, since LF_CR_X macros always pad the value with zeros </p>
</td></tr>
<tr><td class="fieldname"><a id="ggaf7c5a3f809c2245211b9f50797b718b3a119239f030e5b172f9f4f33d8291737c"></a>LF_CR_NEXT&#160;</td><td class="fielddoc"><p>This value tells that what follows applies to next pixel. This can be used to define Bayer images, e.g. use <a class="el" href="group__Correction.html#ga9b946e37f6e3d0c65ae58de3af174506" title="This macro defines a pixel format consisting of three components.">LF_CR_3(LF_CR_RED, LF_CR_NEXT, LF_CR_GREEN)</a> for even rows and <a class="el" href="group__Correction.html#ga9b946e37f6e3d0c65ae58de3af174506" title="This macro defines a pixel format consisting of three components.">LF_CR_3(LF_CR_GREEN, LF_CR_NEXT, LF_CR_BLUE)</a> for odd rows. </p>
</td></tr>
<tr><td class="fieldname"><a id="ggaf7c5a3f809c2245211b9f50797b718b3abbc2d0f2ccfe68525084f17b7c1e99d7"></a>LF_CR_UNKNOWN&#160;</td><td class="fielddoc"><p>This component has an unknown/doesn't matter role </p>
</td></tr>
<tr><td class="fieldname"><a id="ggaf7c5a3f809c2245211b9f50797b718b3a578b1a8faf7d4ee8e45da6a6db07520b"></a>LF_CR_INTENSITY&#160;</td><td class="fielddoc"><p>This is the pixel intensity (grayscale) </p>
</td></tr>
<tr><td class="fieldname"><a id="ggaf7c5a3f809c2245211b9f50797b718b3a90448cedee39903ed59ca4b033a5284b"></a>LF_CR_RED&#160;</td><td class="fielddoc"><p>This is the Red pixel component </p>
</td></tr>
<tr><td class="fieldname"><a id="ggaf7c5a3f809c2245211b9f50797b718b3adbab9967fefe3e0aa390717b48ba1bbe"></a>LF_CR_GREEN&#160;</td><td class="fielddoc"><p>This is the Green pixel component </p>
</td></tr>
<tr><td class="fieldname"><a id="ggaf7c5a3f809c2245211b9f50797b718b3ae6540b2a6338e572c64a03a946259ce8"></a>LF_CR_BLUE&#160;</td><td class="fielddoc"><p>This is the Blue pixel component </p>
</td></tr>
</table>

</div>
</div>
<a id="gaff4770bc2656179dcfe2da40a25f8148"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gaff4770bc2656179dcfe2da40a25f8148">&#9670;&nbsp;</a></span>lfPixelFormat</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">enum <a class="el" href="group__Correction.html#gaff4770bc2656179dcfe2da40a25f8148">lfPixelFormat</a></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>A list of pixel formats supported by internal colour callbacks. </p>
<table class="fieldtable">
<tr><th colspan="2">Enumerator</th></tr><tr><td class="fieldname"><a id="ggaff4770bc2656179dcfe2da40a25f8148a95ee1ddd11467921c63bedad9ab5f673"></a>LF_PF_U8&#160;</td><td class="fielddoc"><p>Unsigned 8-bit R,G,B </p>
</td></tr>
<tr><td class="fieldname"><a id="ggaff4770bc2656179dcfe2da40a25f8148a34308145fbd4e6ed26f853c07451024a"></a>LF_PF_U16&#160;</td><td class="fielddoc"><p>Unsigned 16-bit R,G,B </p>
</td></tr>
<tr><td class="fieldname"><a id="ggaff4770bc2656179dcfe2da40a25f8148ac5a68f2c2b7b009d716f5343562f52cc"></a>LF_PF_U32&#160;</td><td class="fielddoc"><p>Unsigned 32-bit R,G,B </p>
</td></tr>
<tr><td class="fieldname"><a id="ggaff4770bc2656179dcfe2da40a25f8148acae6b856776feafff62f27729f3cd91d"></a>LF_PF_F32&#160;</td><td class="fielddoc"><p>32-bit floating-point R,G,B </p>
</td></tr>
<tr><td class="fieldname"><a id="ggaff4770bc2656179dcfe2da40a25f8148a546d35bf49a5121abcc75c524f15723a"></a>LF_PF_F64&#160;</td><td class="fielddoc"><p>64-bit floating-point R,G,B </p>
</td></tr>
</table>

</div>
</div>
<h2 class="groupheader">Function Documentation</h2>
<a id="ga9e01b424bdfc2ea42be7eead5aa8e29f"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga9e01b424bdfc2ea42be7eead5aa8e29f">&#9670;&nbsp;</a></span>lf_modifier_add_color_callback()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void lf_modifier_add_color_callback </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structlfModifier.html">lfModifier</a> *&#160;</td>
          <td class="paramname"><em>modifier</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__Correction.html#gad9fd49a4533259a2a148cac4208af681">lfModifyColorFunc</a>&#160;</td>
          <td class="paramname"><em>callback</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>priority</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">void *&#160;</td>
          <td class="paramname"><em>data</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>data_size</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<dl class="section see"><dt>See also</dt><dd><a class="el" href="structlfModifier.html#a29a0eec139e4dbdbefbbb276a5aa909d" title="Add a user-defined callback to the color modification chain.">lfModifier::AddColorCallback</a> </dd></dl>

</div>
</div>
<a id="ga6e3da166a2737507db8bd8e5c5867932"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga6e3da166a2737507db8bd8e5c5867932">&#9670;&nbsp;</a></span>lf_modifier_add_color_callback_vignetting()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__Auxiliary.html#gaf022c6523998cec18c6b369c68fe1dce">cbool</a> lf_modifier_add_color_callback_vignetting </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structlfModifier.html">lfModifier</a> *&#160;</td>
          <td class="paramname"><em>modifier</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structlfLensCalibVignetting.html">lfLensCalibVignetting</a> *&#160;</td>
          <td class="paramname"><em>model</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__Correction.html#gaff4770bc2656179dcfe2da40a25f8148">lfPixelFormat</a>&#160;</td>
          <td class="paramname"><em>format</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__Auxiliary.html#gaf022c6523998cec18c6b369c68fe1dce">cbool</a>&#160;</td>
          <td class="paramname"><em>reverse</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<dl class="section see"><dt>See also</dt><dd><a class="el" href="structlfModifier.html#ac53699fb065c16d790159d3620e2bcce" title="Add the stock lens vignetting correcting callback into the chain. The vignetting correction callback ...">lfModifier::AddColorCallbackVignetting</a> </dd></dl>

</div>
</div>
<a id="ga1afcef84ebeb96d19ef4b1ae27e38812"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga1afcef84ebeb96d19ef4b1ae27e38812">&#9670;&nbsp;</a></span>lf_modifier_add_coord_callback()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void lf_modifier_add_coord_callback </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structlfModifier.html">lfModifier</a> *&#160;</td>
          <td class="paramname"><em>modifier</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__Correction.html#ga818a017498e0becacdb3c0d445566b9e">lfModifyCoordFunc</a>&#160;</td>
          <td class="paramname"><em>callback</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>priority</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">void *&#160;</td>
          <td class="paramname"><em>data</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>data_size</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<dl class="section see"><dt>See also</dt><dd><a class="el" href="structlfModifier.html#ac9d687f9ba8ca71ead2ccb22b0cdc7f0" title="Add a user-defined callback to the coordinate correction chain.">lfModifier::AddCoordCallback</a> </dd></dl>

</div>
</div>
<a id="gab5c5d8ac841d14eb5cb0c3c1493ef3ed"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gab5c5d8ac841d14eb5cb0c3c1493ef3ed">&#9670;&nbsp;</a></span>lf_modifier_add_coord_callback_distortion()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__Auxiliary.html#gaf022c6523998cec18c6b369c68fe1dce">cbool</a> lf_modifier_add_coord_callback_distortion </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structlfModifier.html">lfModifier</a> *&#160;</td>
          <td class="paramname"><em>modifier</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structlfLensCalibDistortion.html">lfLensCalibDistortion</a> *&#160;</td>
          <td class="paramname"><em>model</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__Auxiliary.html#gaf022c6523998cec18c6b369c68fe1dce">cbool</a>&#160;</td>
          <td class="paramname"><em>reverse</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<dl class="section see"><dt>See also</dt><dd><a class="el" href="structlfModifier.html#a7667794487035d913d42767cdc063ba6" title="Add the stock lens distortion correcting callback into the chain.">lfModifier::AddCoordCallbackDistortion</a> </dd></dl>

</div>
</div>
<a id="gaef534f6ab0db7b0c40fd3ce65d8c4edd"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gaef534f6ab0db7b0c40fd3ce65d8c4edd">&#9670;&nbsp;</a></span>lf_modifier_add_coord_callback_geometry()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__Auxiliary.html#gaf022c6523998cec18c6b369c68fe1dce">cbool</a> lf_modifier_add_coord_callback_geometry </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structlfModifier.html">lfModifier</a> *&#160;</td>
          <td class="paramname"><em>modifier</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__Lens.html#gac853bb55ada6a58f12a68f6a1974f764">lfLensType</a>&#160;</td>
          <td class="paramname"><em>from</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__Lens.html#gac853bb55ada6a58f12a68f6a1974f764">lfLensType</a>&#160;</td>
          <td class="paramname"><em>to</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float&#160;</td>
          <td class="paramname"><em>focal</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<dl class="section see"><dt>See also</dt><dd><a class="el" href="structlfModifier.html#a361c472d729bfe1f2d981073eb87d6bd" title="Add the stock lens geometry rectification callback into the chain.">lfModifier::AddCoordCallbackGeometry</a> </dd></dl>

</div>
</div>
<a id="ga2b7e96c8e8e4bc781f2c6d9605c1a987"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga2b7e96c8e8e4bc781f2c6d9605c1a987">&#9670;&nbsp;</a></span>lf_modifier_add_coord_callback_scale()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__Auxiliary.html#gaf022c6523998cec18c6b369c68fe1dce">cbool</a> lf_modifier_add_coord_callback_scale </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structlfModifier.html">lfModifier</a> *&#160;</td>
          <td class="paramname"><em>modifier</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float&#160;</td>
          <td class="paramname"><em>scale</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__Auxiliary.html#gaf022c6523998cec18c6b369c68fe1dce">cbool</a>&#160;</td>
          <td class="paramname"><em>reverse</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<dl class="section see"><dt>See also</dt><dd><a class="el" href="structlfModifier.html#a1881133172446fefd2362ae69b6b8008" title="Add the stock image scaling callback into the chain.">lfModifier::AddCoordCallbackScale</a> </dd></dl>

</div>
</div>
<a id="ga67ee732ed1b45b7e522ed7e1412f65b9"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga67ee732ed1b45b7e522ed7e1412f65b9">&#9670;&nbsp;</a></span>lf_modifier_add_subpixel_callback()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void lf_modifier_add_subpixel_callback </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structlfModifier.html">lfModifier</a> *&#160;</td>
          <td class="paramname"><em>modifier</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__Correction.html#ga077f45d25c226258df815a2640a3c504">lfSubpixelCoordFunc</a>&#160;</td>
          <td class="paramname"><em>callback</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>priority</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">void *&#160;</td>
          <td class="paramname"><em>data</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">size_t&#160;</td>
          <td class="paramname"><em>data_size</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<dl class="section see"><dt>See also</dt><dd><a class="el" href="structlfModifier.html#a498ad7a647aa056fc4d6bb0546fd0c64" title="Add a user-defined callback to the subpixel coordinate rectification chain.">lfModifier::AddSubpixelCallback</a> </dd></dl>

</div>
</div>
<a id="gace5f06c71b3f0dc45f28633a88951a02"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gace5f06c71b3f0dc45f28633a88951a02">&#9670;&nbsp;</a></span>lf_modifier_add_subpixel_callback_TCA()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__Auxiliary.html#gaf022c6523998cec18c6b369c68fe1dce">cbool</a> lf_modifier_add_subpixel_callback_TCA </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structlfModifier.html">lfModifier</a> *&#160;</td>
          <td class="paramname"><em>modifier</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="structlfLensCalibTCA.html">lfLensCalibTCA</a> *&#160;</td>
          <td class="paramname"><em>model</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__Auxiliary.html#gaf022c6523998cec18c6b369c68fe1dce">cbool</a>&#160;</td>
          <td class="paramname"><em>reverse</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<dl class="section see"><dt>See also</dt><dd><a class="el" href="structlfModifier.html#abe161b1d566e44a09262b430a50efaad" title="Add the stock TCA correcting callback into the chain.">lfModifier::AddSubpixelCallbackTCA</a> </dd></dl>

</div>
</div>
<a id="ga3e9a6f97e1bc88a649d44ca615502ecf"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga3e9a6f97e1bc88a649d44ca615502ecf">&#9670;&nbsp;</a></span>lf_modifier_apply_color_modification()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__Auxiliary.html#gaf022c6523998cec18c6b369c68fe1dce">cbool</a> lf_modifier_apply_color_modification </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structlfModifier.html">lfModifier</a> *&#160;</td>
          <td class="paramname"><em>modifier</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">void *&#160;</td>
          <td class="paramname"><em>pixels</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float&#160;</td>
          <td class="paramname"><em>x</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float&#160;</td>
          <td class="paramname"><em>y</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>width</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>height</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>comp_role</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>row_stride</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<dl class="section see"><dt>See also</dt><dd><a class="el" href="structlfModifier.html#a6ea5562a78c04946fc945237d318c669" title="Image correction step 1: fix image colors.">lfModifier::ApplyColorModification</a> </dd></dl>

</div>
</div>
<a id="ga91bbc276ea7911bd7ad30a8c6f1fcbbc"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga91bbc276ea7911bd7ad30a8c6f1fcbbc">&#9670;&nbsp;</a></span>lf_modifier_apply_geometry_distortion()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__Auxiliary.html#gaf022c6523998cec18c6b369c68fe1dce">cbool</a> lf_modifier_apply_geometry_distortion </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structlfModifier.html">lfModifier</a> *&#160;</td>
          <td class="paramname"><em>modifier</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float&#160;</td>
          <td class="paramname"><em>xu</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float&#160;</td>
          <td class="paramname"><em>yu</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>width</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>height</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float *&#160;</td>
          <td class="paramname"><em>res</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<dl class="section see"><dt>See also</dt><dd><a class="el" href="structlfModifier.html#a7739fa851629890b9daa04fef9979ab9" title="Image correction step 2: apply the transforms on a block of pixel coordinates.">lfModifier::ApplyGeometryDistortion</a> </dd></dl>

</div>
</div>
<a id="ga0c4518f06345bc131d3cbcf9bf9d67ac"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga0c4518f06345bc131d3cbcf9bf9d67ac">&#9670;&nbsp;</a></span>lf_modifier_apply_subpixel_distortion()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__Auxiliary.html#gaf022c6523998cec18c6b369c68fe1dce">cbool</a> lf_modifier_apply_subpixel_distortion </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structlfModifier.html">lfModifier</a> *&#160;</td>
          <td class="paramname"><em>modifier</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float&#160;</td>
          <td class="paramname"><em>xu</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float&#160;</td>
          <td class="paramname"><em>yu</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>width</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>height</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float *&#160;</td>
          <td class="paramname"><em>res</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<dl class="section see"><dt>See also</dt><dd><a class="el" href="structlfModifier.html#aa08d14d032746c06603fb6410ad5ecd6" title="Image correction step 3: apply subpixel distortions.">lfModifier::ApplySubpixelDistortion</a> </dd></dl>

</div>
</div>
<a id="gab48dc9e0ab9a4837187c69d3b92afef3"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gab48dc9e0ab9a4837187c69d3b92afef3">&#9670;&nbsp;</a></span>lf_modifier_apply_subpixel_geometry_distortion()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="group__Auxiliary.html#gaf022c6523998cec18c6b369c68fe1dce">cbool</a> lf_modifier_apply_subpixel_geometry_distortion </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structlfModifier.html">lfModifier</a> *&#160;</td>
          <td class="paramname"><em>modifier</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float&#160;</td>
          <td class="paramname"><em>xu</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float&#160;</td>
          <td class="paramname"><em>yu</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>width</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>height</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float *&#160;</td>
          <td class="paramname"><em>res</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<dl class="section see"><dt>See also</dt><dd><a class="el" href="structlfModifier.html#a6726fa1203f35f0850ae18719a759d92" title="Apply stage 2 &amp; 3 in one step.">lfModifier::ApplySubpixelGeometryDistortion</a> </dd></dl>

</div>
</div>
<a id="ga21561a6741404b6607c4041883950afa"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga21561a6741404b6607c4041883950afa">&#9670;&nbsp;</a></span>lf_modifier_destroy()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void lf_modifier_destroy </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structlfModifier.html">lfModifier</a> *&#160;</td>
          <td class="paramname"><em>modifier</em></td><td>)</td>
          <td></td>
        </tr>
      </table>
</div><div class="memdoc">
<dl class="section see"><dt>See also</dt><dd><a class="el" href="structlfModifier.html#a151fb5b2976d7f0eac935e6d6301051c" title="Destroy the modifier object.">lfModifier::Destroy</a> </dd></dl>

</div>
</div>
<a id="ga743f0f4230f6a24d115371580d4b1f4a"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga743f0f4230f6a24d115371580d4b1f4a">&#9670;&nbsp;</a></span>lf_modifier_get_auto_scale()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">float lf_modifier_get_auto_scale </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structlfModifier.html">lfModifier</a> *&#160;</td>
          <td class="paramname"><em>modifier</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__Auxiliary.html#gaf022c6523998cec18c6b369c68fe1dce">cbool</a>&#160;</td>
          <td class="paramname"><em>reverse</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<dl class="section see"><dt>See also</dt><dd><a class="el" href="structlfModifier.html#adaaf04bd6a1c32dab998dfc763f98692" title="Compute the automatic scale factor for the image.">lfModifier::GetAutoScale</a> </dd></dl>

</div>
</div>
<a id="gac181e638055efd67ea0953e2badb3e1b"></a>
<h2 class="memtitle"><span class="permalink"><a href="#gac181e638055efd67ea0953e2badb3e1b">&#9670;&nbsp;</a></span>lf_modifier_initialize()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int lf_modifier_initialize </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="structlfModifier.html">lfModifier</a> *&#160;</td>
          <td class="paramname"><em>modifier</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="structlfLens.html">lfLens</a> *&#160;</td>
          <td class="paramname"><em>lens</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__Correction.html#gaff4770bc2656179dcfe2da40a25f8148">lfPixelFormat</a>&#160;</td>
          <td class="paramname"><em>format</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float&#160;</td>
          <td class="paramname"><em>focal</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float&#160;</td>
          <td class="paramname"><em>aperture</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float&#160;</td>
          <td class="paramname"><em>distance</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float&#160;</td>
          <td class="paramname"><em>scale</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__Lens.html#gac853bb55ada6a58f12a68f6a1974f764">lfLensType</a>&#160;</td>
          <td class="paramname"><em>targeom</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>flags</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="group__Auxiliary.html#gaf022c6523998cec18c6b369c68fe1dce">cbool</a>&#160;</td>
          <td class="paramname"><em>reverse</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<dl class="section see"><dt>See also</dt><dd><a class="el" href="structlfModifier.html#a15fc45849ffb7f7f0f815025d4994ccd" title="Initialize the process of correcting aberrations in a image.">lfModifier::Initialize</a> </dd></dl>

</div>
</div>
<a id="ga8303838db121c2073fa3913ca79a4554"></a>
<h2 class="memtitle"><span class="permalink"><a href="#ga8303838db121c2073fa3913ca79a4554">&#9670;&nbsp;</a></span>lf_modifier_new()</h2>

<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname"><a class="el" href="structlfModifier.html">lfModifier</a>* lf_modifier_new </td>
          <td>(</td>
          <td class="paramtype">const <a class="el" href="structlfLens.html">lfLens</a> *&#160;</td>
          <td class="paramname"><em>lens</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">float&#160;</td>
          <td class="paramname"><em>crop</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>width</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>height</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">
<dl class="section see"><dt>See also</dt><dd><a class="el" href="structlfModifier.html#ab2505a40e681792e496bcb7289a3cd6e" title="Create a empty image modifier object.">lfModifier::Create</a> </dd></dl>

</div>
</div>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Thu Oct 3 2019 15:07:50 for lensfun by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.15
</small></address>
</body>
</html>