<html> <head> <meta content="text/html; charset=ISO-8859-1" http-equiv="Content-Type"> <title>mminfrec</title> <link href="../tbxdok.css" rel="stylesheet"> </head> <body> <table class="topNav"> <tr> <td class="index"> [<a href="../morph/mmhmax.html"><tt>mmhmax</tt></a>] [<a href="index.html">Up</a>] [<a href="../morph/mminpos.html"><tt>mminpos</tt></a>] </td> <td class="title">Connected Operators</td> </tr> </table> <h1>mminfrec <br> <span class="subtitle">Inf-reconstruction. </span> </h1> <div class="synopsis"> <H2>Synopsis</H2> <div class="H2"> <div class="prototype">y = <span class="fun">mminfrec</span>( <span class="par">f</span>, <span class="par">g</span>, <span class="par">bc</span> = None ) </div> <p>Implemented in <b>Python.</b> </p> <div class="input"> <H3>Input</H3> <div class="H3"> <table class="deflist"> <tbody valign="baseline"> <tr> <td class="term"><span class="par">f</span></td> <td class="def"><span class="type"><a href="../mmtypes/mmImage.html">Image</a></span> Gray-scale (uint8 or uint16) or binary image. <p>Marker image.</p></td> </tr> <tr> <td class="term"><span class="par">g</span></td> <td class="def"><span class="type"><a href="../mmtypes/mmImage.html">Image</a></span> Gray-scale (uint8 or uint16) or binary image. <p>Conditioning image.</p></td> </tr> <tr> <td class="term"><span class="par">bc</span></td> <td class="def"><span class="type"><a href="../mmtypes/mmSe.html">Structuring Element</a></span><p>Structuring element ( connectivity).</p><p>Default: <code>None</code> (3x3 elementary cross) </p></td> </tr> </tbody> </table> </div> </div> <div class="output"> <H3>Output</H3> <div class="H3"> <table class="deflist"> <tbody valign="baseline"> <tr> <td class="term"><span class="par">y</span></td> <td class="def"><span class="type"><a href="../mmtypes/mmImage.html">Image</a></span></td> </tr> </tbody> </table> </div> </div> </div> </div> <div class="descr"> <H2>Description</H2> <div class="H2"> <p> <span class="fun">mminfrec</span> creates the image <code>y</code> by an infinite number of recursive iterations (iterations until stability) of the dilation of <code>f</code> by <code>bc</code> conditioned to <code>g</code>. We say the <code>y</code> is the inf-reconstruction of <code>g</code> from the marker <code>f</code>. For algorithms and applications, see Vinc:93b. </p> </div> </div> <div class="examples"> <H2>Examples</H2> <div class="H2"> <p> <div class="bridge">Binary image:</div> <div class="example"> <div class="listing"> <pre class="user">>>> g=mmreadgray('text_128.tif')</pre> <pre class="computer"></pre> <pre class="user">>>> f=mmero(g,mmseline(9,90))</pre> <pre class="computer"></pre> <pre class="user">>>> y=mminfrec(f,g,mmsebox())</pre> <pre class="computer"></pre> <pre class="user">>>> mmshow(g)</pre> <pre class="computer"></pre> <pre class="user">>>> mmshow(f)</pre> <pre class="computer"></pre> <pre class="user">>>> mmshow(y)</pre> <pre class="computer"></pre> </div> <table class="images"> <tbody align="center"> <tr class="image" valign="bottom"> <td><img width="128" src="../images/img_mminfrec_001.jpg"></td> <td><img width="128" src="../images/img_mminfrec_002.jpg"></td> <td><img width="128" src="../images/img_mminfrec_003.jpg"></td> <td class="spare"></td> </tr> <tr class="title" valign="baseline"> <td><a href="../images/img_mminfrec_001.jpg">g</a></td> <td><a href="../images/img_mminfrec_002.jpg">f</a></td> <td><a href="../images/img_mminfrec_003.jpg">y</a></td> <td class="spare"></td> </tr> </tbody> </table> </div> <div class="bridge">Gray-scale image:</div> <div class="example"> <div class="listing"> <pre class="user">>>> g=mmneg(mmreadgray('n2538.tif'))</pre> <pre class="computer"></pre> <pre class="user">>>> f=mmintersec(g,0)</pre> <pre class="computer">Warning: Converting input image from int32 to uint8.</pre> <pre class="user">>>> f=mmdraw(f,'LINE:40,30,60,30:END')</pre> <pre class="computer"></pre> <pre class="user">>>> y30=mmcdil(f,g,mmsebox(),30)</pre> <pre class="computer"></pre> <pre class="user">>>> y=mminfrec(f,g,mmsebox())</pre> <pre class="computer"></pre> <pre class="user">>>> mmshow(g)</pre> <pre class="computer"></pre> <pre class="user">>>> mmshow(f)</pre> <pre class="computer"></pre> <pre class="user">>>> mmshow(y30)</pre> <pre class="computer"></pre> <pre class="user">>>> mmshow(y)</pre> <pre class="computer"></pre> </div> <table class="images"> <tbody align="center"> <tr class="image" valign="bottom"> <td><img width="128" src="../images/img_mminfrec_004.jpg"></td> <td><img width="128" src="../images/img_mminfrec_005.jpg"></td> <td><img width="128" src="../images/img_mminfrec_006.jpg"></td> <td><img width="128" src="../images/img_mminfrec_007.jpg"></td> <td class="spare"></td> </tr> <tr class="title" valign="baseline"> <td><a href="../images/img_mminfrec_004.jpg">g</a></td> <td><a href="../images/img_mminfrec_005.jpg">f</a></td> <td><a href="../images/img_mminfrec_006.jpg">y30</a></td> <td><a href="../images/img_mminfrec_007.jpg">y</a></td> <td class="spare"></td> </tr> </tbody> </table> </div> </p> </div> </div> <div class="equation"> <H2>Equation</H2> <div class="H2"> <p> <div class="eqfig"> <img src="../images/eq_mminfrec001.png"> </div> </p> </div> </div> <div class="sourcecode"> <H2>Source Code</H2> <div class="H2"> <pre class="listing"> def mminfrec(f, g, bc=None): from Numeric import product if bc is None: bc = mmsecross() n = product(f.shape) y = mmcdil(f,g,bc,n); return y </pre> </div> </div> <div class="seealso"> <H2>See also</H2> <div class="H2"> <table class="deflist"> <tbody valign="baseline"> <tr> <td class="term"><a href="../morph/mmfreedom.html">mmfreedom</a></td> <td class="def">Control automatic data type conversion.</td> </tr> <tr> <td class="term"><a href="../morph/mmsuprec.html">mmsuprec</a></td> <td class="def">Sup-reconstruction.</td> </tr> <tr> <td class="term"><a href="../morph/mmsebox.html">mmsebox</a></td> <td class="def">Create a box structuring element.</td> </tr> <tr> <td class="term"><a href="../morph/mmsecross.html">mmsecross</a></td> <td class="def">Diamond structuring element and elementary 3x3 cross.</td> </tr> <tr> <td class="term"><a href="../morph/mmcdil.html">mmcdil</a></td> <td class="def">Dilate an image conditionally.</td> </tr> </tbody> </table> </div> </div> <center> <table class="botNav"> <tr> <td class="index"> [<a href="../morph/mmhmax.html"><tt>mmhmax</tt></a>] [<a href="index.html">Up</a>] [<a href="../morph/mminpos.html"><tt>mminpos</tt></a>] </td> <td rowspan="2" class="xhtml"><a href="http://www.python.org"><img width="55" alt="Python" height="22" src="../PythonPoweredSmall.gif"></a></td> </tr> <tr> <td class="copyright">Copyright (c) 2003, Roberto A. Lotufo, UNICAMP-University of Campinas; Rubens C. Machado, CenPRA-Renato Archer Research Center.</td> </tr> </table> </center> </body> </html>