<?php
include("../header.php");
?>

<h1 style="text-align:center"> Gaussian Texture Inpainting </h1>

<p style="width:500px;text-align:center;margin-left:auto;margin-right:auto">
	<a href="#presentation">Presentation</a> &nbsp; - &nbsp;
	<a href="#papers">Papers</a> &nbsp; - &nbsp;
	<a href="#codes">Source codes</a> &nbsp; - &nbsp;
	<a href="http://ipolcore.ipol.im/demo/clientApp/demo.html?id=198" target="_blank">Online demo</a> &nbsp; - &nbsp;
	<a href="tuto_gaussian_inpainting/">Tutorial</a> &nbsp; - &nbsp;
	<a href="#credits">Credits</a>
</p>

<h2 style="margin-left:50px" id="presentation">Presentation</h2>

<p>
&emsp; Image inpainting is a famous image processing task that consists in filling missing regions of an image based on the surrounding context.
In the case of textures which can be modelled by a stochastic model, inpainting can be formulated as conditional sampling of a probability distribution, namely, the distribution of the masked region given the values on its border.
In this work, we have shown that, for a Gaussian texture model, such a conditional sampling could be performed exactly, leading to a simple microtexture inpainting algorithm which can handle holes of any shape and size while precisely respecting a stochastic model.
</p>

<div style="margin-top:20px;margin-bottom:20px;margin-left:auto;margin-right:auto;width:500px" class="noborder">
<table>
 <tr>
  <td><img src="example/original.png" width="200" style="vertical-align:middle" alt="Original" title="Original"/></td>
  <td><img src="example/inpainted.png" width="200" style="vertical-align:middle" alt="Inpainted" title="Inpainted"/></td>
 </tr>
 <tr>
  <td> Original </td>
  <td> Inpainted </td>
 </tr>
</table>
</div>

<h2 style="margin-left:50px" id="papers">Papers</h2>

<p>&emsp;
Our microtexture inpainting algorithm is described in the papers
</p>

<p style="width:500px;margin-left:auto;margin-right:auto">
<a href="http://www.math-info.univ-paris5.fr/~aleclair/gaussian_inpainting/"><b>"Texture Inpainting Using Efficient Gaussian Conditional Simulation"</b></a> (Bruno Galerne, Arthur Leclaire),
<i>SIAM Journal of Imaging Sciences</i>, vol. 10, no. 3, pp. 1446–1474, 2017.<br/>
<a href="http://www.math-info.univ-paris5.fr/~aleclair/papers/galerne_leclaire_gaussian_inpainting_siims_2017.pdf">Published version</a>.
<!-- <a href="http://www.math-info.univ-paris5.fr/~aleclair/papers/gaussian_inpainting.pdf">Revised preprint</a>. -->
<a href="https://hal.archives-ouvertes.fr/hal-01428428">Hal</a>.
<a href="https://doi.org/10.1137/16M1109047">doi</a>.
<a href="http://www.math-info.univ-paris5.fr/~aleclair/gaussian_inpainting/">Webpage</a>.
<a href="http://ipolcore.ipol.im/demo/clientApp/demo.html?id=198">Online demo</a>.</p>

<p style="width:500px;margin-left:auto;margin-right:auto">
<a href="http://www.ipol.im/pub/pre/198/"><b>"An Algorithm for Gaussian Texture Inpainting"</b></a> (Bruno Galerne, Arthur Leclaire), <br/>
<i>accepted to Image Processing Online</i>, 2017.<br/>
<a href="http://www.math-info.univ-paris5.fr/~aleclair/papers/gti_ipol.pdf">Revised preprint</a>.
<a href="http://www.math-info.univ-paris5.fr/~aleclair/gaussian_inpainting/">Webpage</a>.
<a href="http://ipolcore.ipol.im/demo/clientApp/demo.html?id=198">Online demo</a>.   </p>

<p style="width:500px;margin-left:auto;margin-right:auto">
<a href="http://www.math-info.univ-paris5.fr/~moisan/papers/2015-32r.pdf"><b>"Microtexture Inpainting through Gaussian Conditional Simulation"</b></a> (Bruno Galerne, Arthur Leclaire, Lionel Moisan), in the <i>Proceedings of the International Conference on Acoustics, Speech, and Signal Processing</i>, 2016.
<a href="http://www.math-info.univ-paris5.fr/~moisan/papers/2015-32r.pdf" target="_blank">Revised Preprint</a>.
<a href="https://hal.archives-ouvertes.fr/hal-01214695v2" target="_blank">Hal</a>.</p>

<p>
&emsp; The experiments shown in these papers can be reproduced using the codes available below.
Our microtexture inpainting algorithm is also illustrated on this <a href="tuto_gaussian_inpainting/">tutorial page</a>.
</p>

<h2 style="margin-left:50px" id="codes"> Source codes (Matlab and C)</h2>

<p> &emsp; In the archive <a href="codes/siims_release.zip">siims_release.zip</a>, one can find Matlab Source codes associated to our microtexture inpainting algorithm.
The main inpainting function is gaussian_inpainting.m ; an older version is given in kriging_inpainting.m.
The difference between the two functions is that in the latter, the linear system is solved by a direct method which can be fast for small images but which does not apply to very large images.
We thus recommend using gaussian_inpainting.m which can be applied on any image and any mask.</p>

<p> &emsp;
The archive contains all functions required to apply Gaussian inpainting.
It also contains
<ul style="margin-left:100px;padding:0px;">
<li>a script file <b>siims_script.m</b> to reproduce the experiments shown in our <a href="https://hal.archives-ouvertes.fr/hal-01428428">journal paper</a>,</li>
<li>a script file <b>icassp_script.m</b> to reproduce the experiments shown in the <a href="http://www.math-info.univ-paris5.fr/~moisan/papers/2015-32r.pdf" target="_blank">conference paper</a>,</li>
<li>a script file <a href="codes/tuto_gaussian_inpainting.m">tuto_gaussian_inpainting.m</a> contains the code presented on the <a href="tuto_gaussian_inpainting/">tutorial page</a>,</li>
<li>a folder containing input images used in our experiments.
</ul>
</p>

<p> &emsp;
A source code in C language is also available <a href="codes/gti_1.0.zip">here</a>.
</p>

<!--
<p> &emsp; The functions can also be downloaded separately:
<ul style="margin-left:100px;padding:0px;">
	<li> Microtexture inpainting
		<a href="codes/kriging_inpainting.m">kriging_inpainting.m</a>,
		<a href="codes/get_conditioning_points.m">get_conditioning_points.m</a>. 
	</li>
	<li> ADSN synthesis:
		<a href="codes/estimate_adsn_model.m">estimate_adsn_model.m</a>.
		<a href="codes/adsn_periodic.m">adsn_periodic.m</a>.
	</li>
	<li> Miscellaneous:
		<a href="codes/disc.m">disc.m</a>,
		<a href="codes/draw_rectangle.m">draw_rectangle.m</a>,
		<a href="codes/zero_pad.m">zero_pad.m</a>.
	</li>
</ul>
</p>
-->
<p> &emsp; If you find some bugs or mistakes in those codes, you can report them by email to Arthur Leclaire.</p>

<h2 style="margin-left:50px" id="ipol"> Online demo </h2>

<p> &emsp; An online demo has been submitted to <i>Image Processing on Line</i> and is available <a href="http://ipolcore.ipol.im/demo/clientApp/demo.html?id=198" target="_blank">here</a>. <br/> &emsp;
The C source code can be downladed <a href="codes/gti_1.0.zip">here</a>. </p>

<h2 style="margin-left:50px" id="credits">Credits</h2>

<p>&emsp; The texture samples used in our experiments were made available by researchers whom I would like to thank warmly.</p>

<p>&emsp; The images criminisi_* were taken from the article </p>

<p style="width:500px;margin-left:auto;margin-right:auto">
<b>Region filling and object removal by exemplar-based image inpainting.</b> (A. Criminisi, P. P&eacute;rez, K. Toyama),
IEEE Transactions on Image Processing 13(9), 2004.</p>

<p>&emsp; The texture wood1008_sq_a_reduced.png comes from Bruno Galerne's personal collection.</p>

<p>&emsp; The other examples were made available by the authors of the article </p>

<p style="width:500px;margin-left:auto;margin-right:auto">
<a href="http://graphics.cs.kuleuven.be/publications/GLLD12GNBE/" target="_blank">Gabor Noise by Example.</a> (Bruno Galerne, Ares Lagae, Sylvain Lefebvre and George Drettakis),
ACM Transactions on Graphics (Proceedings of ACM SIGGRAPH 2012) 31(4), 2012. <a href="http://graphics.cs.kuleuven.be/publications/GLLD12GNBE/" target="_blank">Webpage</a>. </p>


<?php
include("../bottom.php");
?>


  




