Click here to Skip to main content
15,895,793 members
Articles / Web Development / HTML

A Framework in C# for Fingerprint Verification

2 Jan 2019CPOL11 min read 1.6M   143.6K   672  
In this article, we introduce a framework in C# for fingerprint verification, we briefly explain how to perform fingerprint verification experiments and how to integrate your algorithms to the framework.
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://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"/>
<title>FingerprintRecognition: PatternRecognition.FingerprintRecognition.Core.OrientationImage Class Reference</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>
<link href="navtree.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="resize.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<script type="text/javascript">
  $(document).ready(initResizable);
</script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/javascript">
  $(document).ready(function() { searchBox.OnSelectItem(0); });
</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 style="padding-left: 0.5em;">
   <div id="projectname">FingerprintRecognition
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.1 -->
<script type="text/javascript">
var searchBox = new SearchBox("searchBox", "search",false,'Search');
</script>
  <div id="navrow1" class="tabs">
    <ul class="tablist">
      <li><a href="index.html"><span>Main&#160;Page</span></a></li>
      <li><a href="namespaces.html"><span>Packages</span></a></li>
      <li class="current"><a href="annotated.html"><span>Classes</span></a></li>
      <li>
        <div id="MSearchBox" class="MSearchBoxInactive">
        <span class="left">
          <img id="MSearchSelect" src="search/mag_sel.png"
               onmouseover="return searchBox.OnSearchSelectShow()"
               onmouseout="return searchBox.OnSearchSelectHide()"
               alt=""/>
          <input type="text" id="MSearchField" value="Search" accesskey="S"
               onfocus="searchBox.OnSearchFieldFocus(true)" 
               onblur="searchBox.OnSearchFieldFocus(false)" 
               onkeyup="searchBox.OnSearchFieldChange(event)"/>
          </span><span class="right">
            <a id="MSearchClose" href="javascript:searchBox.CloseResultsWindow()"><img id="MSearchCloseImg" border="0" src="search/close.png" alt=""/></a>
          </span>
        </div>
      </li>
    </ul>
  </div>
  <div id="navrow2" class="tabs2">
    <ul class="tablist">
      <li><a href="annotated.html"><span>Class&#160;List</span></a></li>
      <li><a href="classes.html"><span>Class&#160;Index</span></a></li>
      <li><a href="hierarchy.html"><span>Class&#160;Hierarchy</span></a></li>
      <li><a href="functions.html"><span>Class&#160;Members</span></a></li>
    </ul>
  </div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
$(document).ready(function(){initNavTree('class_pattern_recognition_1_1_fingerprint_recognition_1_1_core_1_1_orientation_image.html','');});
</script>
<div id="doc-content">
<!-- window showing the filter options -->
<div id="MSearchSelectWindow"
     onmouseover="return searchBox.OnSearchSelectShow()"
     onmouseout="return searchBox.OnSearchSelectHide()"
     onkeydown="return searchBox.OnSearchSelectKey(event)">
<a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(0)"><span class="SelectionMark">&#160;</span>All</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(1)"><span class="SelectionMark">&#160;</span>Classes</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(2)"><span class="SelectionMark">&#160;</span>Namespaces</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(3)"><span class="SelectionMark">&#160;</span>Functions</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(4)"><span class="SelectionMark">&#160;</span>Variables</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(5)"><span class="SelectionMark">&#160;</span>Enumerations</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(6)"><span class="SelectionMark">&#160;</span>Properties</a><a class="SelectItem" href="javascript:void(0)" onclick="searchBox.OnSelectItem(7)"><span class="SelectionMark">&#160;</span>Events</a></div>

<!-- iframe showing the search results (closed by default) -->
<div id="MSearchResultsWindow">
<iframe src="javascript:void(0)" frameborder="0" 
        name="MSearchResults" id="MSearchResults">
</iframe>
</div>

<div class="header">
  <div class="summary">
<a href="#pub-methods">Public Member Functions</a> &#124;
<a href="#pub-attribs">Public Attributes</a> &#124;
<a href="#properties">Properties</a>  </div>
  <div class="headertitle">
<div class="title">PatternRecognition.FingerprintRecognition.Core.OrientationImage Class Reference</div>  </div>
</div><!--header-->
<div class="contents">

<p>Represents an orientation image.  
 <a href="class_pattern_recognition_1_1_fingerprint_recognition_1_1_core_1_1_orientation_image.html#details">More...</a></p>

<p><a href="class_pattern_recognition_1_1_fingerprint_recognition_1_1_core_1_1_orientation_image-members.html">List of all members.</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2><a name="pub-methods"></a>
Public Member Functions</h2></td></tr>
<tr class="memitem:a0fd218f23552d1d8a9f54a9d633649f2"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_pattern_recognition_1_1_fingerprint_recognition_1_1_core_1_1_orientation_image.html#a0fd218f23552d1d8a9f54a9d633649f2">OrientationImage</a> (byte width, byte height, byte[,] orientations, byte wSize)</td></tr>
<tr class="memdesc:a0fd218f23552d1d8a9f54a9d633649f2"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initialize an <a class="el" href="class_pattern_recognition_1_1_fingerprint_recognition_1_1_core_1_1_orientation_image.html" title="Represents an orientation image.">OrientationImage</a> with the specified width, height, orientation values, and window size.  <a href="#a0fd218f23552d1d8a9f54a9d633649f2"></a><br/></td></tr>
<tr class="memitem:a3e7b97820a2389c19e7cb6aa04c0b56b"><td class="memItemLeft" align="right" valign="top">&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_pattern_recognition_1_1_fingerprint_recognition_1_1_core_1_1_orientation_image.html#a3e7b97820a2389c19e7cb6aa04c0b56b">OrientationImage</a> (byte width, byte height, byte wSize)</td></tr>
<tr class="memdesc:a3e7b97820a2389c19e7cb6aa04c0b56b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Initialize an <a class="el" href="class_pattern_recognition_1_1_fingerprint_recognition_1_1_core_1_1_orientation_image.html" title="Represents an orientation image.">OrientationImage</a> with the specified width, height, orientation values, and window size.  <a href="#a3e7b97820a2389c19e7cb6aa04c0b56b"></a><br/></td></tr>
<tr class="memitem:ae0f659ba0fd706ac196856c334dfcc40"><td class="memItemLeft" align="right" valign="top">double&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_pattern_recognition_1_1_fingerprint_recognition_1_1_core_1_1_orientation_image.html#ae0f659ba0fd706ac196856c334dfcc40">AngleInRadians</a> (int row, int col)</td></tr>
<tr class="memdesc:ae0f659ba0fd706ac196856c334dfcc40"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the orientation in radians of the block in the specified coordinates.  <a href="#ae0f659ba0fd706ac196856c334dfcc40"></a><br/></td></tr>
<tr class="memitem:a77454856e02c4f93db8daa6202cb2f43"><td class="memItemLeft" align="right" valign="top">bool&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_pattern_recognition_1_1_fingerprint_recognition_1_1_core_1_1_orientation_image.html#a77454856e02c4f93db8daa6202cb2f43">IsNullBlock</a> (int row, int col)</td></tr>
<tr class="memdesc:a77454856e02c4f93db8daa6202cb2f43"><td class="mdescLeft">&#160;</td><td class="mdescRight">Determines whether the block with the specified coordinates is undefined.  <a href="#a77454856e02c4f93db8daa6202cb2f43"></a><br/></td></tr>
<tr class="memitem:a89619b5f005ed9f2d9567a88475d08cf"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_pattern_recognition_1_1_fingerprint_recognition_1_1_core_1_1_orientation_image.html#a89619b5f005ed9f2d9567a88475d08cf">GetBlockCoordFromPixel</a> (double x, double y, out int row, out int col)</td></tr>
<tr class="memdesc:a89619b5f005ed9f2d9567a88475d08cf"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets, in out parameters, the block coordinates where the pixel, with specified coordinates, resides.  <a href="#a89619b5f005ed9f2d9567a88475d08cf"></a><br/></td></tr>
<tr class="memitem:a66a74aded09fe7fdb19d4d4757a2c3d1"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_pattern_recognition_1_1_fingerprint_recognition_1_1_core_1_1_orientation_image.html#a66a74aded09fe7fdb19d4d4757a2c3d1">GetPixelCoordFromBlock</a> (int row, int col, out double x, out double y)</td></tr>
<tr class="memdesc:a66a74aded09fe7fdb19d4d4757a2c3d1"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets, in out parameters, the pixel coordinates of the center of the block with the specified coordinates.  <a href="#a66a74aded09fe7fdb19d4d4757a2c3d1"></a><br/></td></tr>
<tr class="memitem:a883596e21ba971478020c9c66b40af6d"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_pattern_recognition_1_1_fingerprint_recognition_1_1_core_1_1_orientation_image.html#a883596e21ba971478020c9c66b40af6d">GetPixelCoordFromBlock</a> (int row, int col, out int x, out int y)</td></tr>
<tr class="memdesc:a883596e21ba971478020c9c66b40af6d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets, in out parameters, the pixel coordinates of the center of the block with the specified coordinates.  <a href="#a883596e21ba971478020c9c66b40af6d"></a><br/></td></tr>
<tr class="memitem:a78b37d7c3dc90833fe9e6ec1a6130534"><td class="memItemLeft" align="right" valign="top">void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_pattern_recognition_1_1_fingerprint_recognition_1_1_core_1_1_orientation_image.html#a78b37d7c3dc90833fe9e6ec1a6130534">GetBlockCoordFromIdx</a> (int blockIdx, out int row, out int col)</td></tr>
<tr class="memdesc:a78b37d7c3dc90833fe9e6ec1a6130534"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets, in out parameters, the coordinates of the block with the specified index.  <a href="#a78b37d7c3dc90833fe9e6ec1a6130534"></a><br/></td></tr>
<tr class="memitem:a644aacd58c04575fd07cd6c65497a475"><td class="memItemLeft" align="right" valign="top">int&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_pattern_recognition_1_1_fingerprint_recognition_1_1_core_1_1_orientation_image.html#a644aacd58c04575fd07cd6c65497a475">GetBlockIdxFromCoord</a> (int row, int col)</td></tr>
<tr class="memdesc:a644aacd58c04575fd07cd6c65497a475"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets the index of the block with the specified coordinates.  <a href="#a644aacd58c04575fd07cd6c65497a475"></a><br/></td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2><a name="pub-attribs"></a>
Public Attributes</h2></td></tr>
<tr class="memitem:a78b7cdc8f60bc68bdb2d723df7fdb53f"><td class="memItemLeft" align="right" valign="top">const byte&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_pattern_recognition_1_1_fingerprint_recognition_1_1_core_1_1_orientation_image.html#a78b7cdc8f60bc68bdb2d723df7fdb53f">Null</a> = 255</td></tr>
<tr class="memdesc:a78b7cdc8f60bc68bdb2d723df7fdb53f"><td class="mdescLeft">&#160;</td><td class="mdescRight">Constains the numerical value of undefined blocks.  <a href="#a78b7cdc8f60bc68bdb2d723df7fdb53f"></a><br/></td></tr>
</table><table class="memberdecls">
<tr class="heading"><td colspan="2"><h2><a name="properties"></a>
Properties</h2></td></tr>
<tr class="memitem:a3a9854f01c479af46ecbcb893adfef0c"><td class="memItemLeft" align="right" valign="top">byte&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_pattern_recognition_1_1_fingerprint_recognition_1_1_core_1_1_orientation_image.html#a3a9854f01c479af46ecbcb893adfef0c">this[int row, int col]</a><code> [get, set]</code></td></tr>
<tr class="memdesc:a3a9854f01c479af46ecbcb893adfef0c"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets or sets the orientation in degrees of the block in the specified coordinates.  <a href="#a3a9854f01c479af46ecbcb893adfef0c"></a><br/></td></tr>
<tr class="memitem:ae7cd75e0ea4b7ad1b58041899add256d"><td class="memItemLeft" align="right" valign="top">byte&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_pattern_recognition_1_1_fingerprint_recognition_1_1_core_1_1_orientation_image.html#ae7cd75e0ea4b7ad1b58041899add256d">Width</a><code> [get, set]</code></td></tr>
<tr class="memdesc:ae7cd75e0ea4b7ad1b58041899add256d"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets or sets the width of the orientation image.  <a href="#ae7cd75e0ea4b7ad1b58041899add256d"></a><br/></td></tr>
<tr class="memitem:ab4e475bbeaaa0c4f3eef88f1f09db608"><td class="memItemLeft" align="right" valign="top">byte&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_pattern_recognition_1_1_fingerprint_recognition_1_1_core_1_1_orientation_image.html#ab4e475bbeaaa0c4f3eef88f1f09db608">Height</a><code> [get, set]</code></td></tr>
<tr class="memdesc:ab4e475bbeaaa0c4f3eef88f1f09db608"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets or sets the height of the orientation image.  <a href="#ab4e475bbeaaa0c4f3eef88f1f09db608"></a><br/></td></tr>
<tr class="memitem:a27c7392c1c78b9a7285bf96ea1e6f24b"><td class="memItemLeft" align="right" valign="top">byte&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_pattern_recognition_1_1_fingerprint_recognition_1_1_core_1_1_orientation_image.html#a27c7392c1c78b9a7285bf96ea1e6f24b">WindowSize</a><code> [get, set]</code></td></tr>
<tr class="memdesc:a27c7392c1c78b9a7285bf96ea1e6f24b"><td class="mdescLeft">&#160;</td><td class="mdescRight">Gets or sets the window size of the orientation image.  <a href="#a27c7392c1c78b9a7285bf96ea1e6f24b"></a><br/></td></tr>
</table>
<hr/><a name="details" id="details"></a><h2>Detailed Description</h2>
<div class="textblock"><p>Represents an orientation image. </p>
</div><hr/><h2>Constructor &amp; Destructor Documentation</h2>
<a class="anchor" id="a0fd218f23552d1d8a9f54a9d633649f2"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">PatternRecognition.FingerprintRecognition.Core.OrientationImage.OrientationImage </td>
          <td>(</td>
          <td class="paramtype">byte&#160;</td>
          <td class="paramname"><em>width</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">byte&#160;</td>
          <td class="paramname"><em>height</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">byte&#160;</td>
          <td class="paramname"><em>orientations</em>[,], </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">byte&#160;</td>
          <td class="paramname"><em>wSize</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Initialize an <a class="el" href="class_pattern_recognition_1_1_fingerprint_recognition_1_1_core_1_1_orientation_image.html" title="Represents an orientation image.">OrientationImage</a> with the specified width, height, orientation values, and window size. </p>
<dl class="params"><dt>Parameters:</dt><dd>
  <table class="params">
    <tr><td class="paramname">width</td><td>The width of the orientation image.</td></tr>
    <tr><td class="paramname">height</td><td>The height of the orientation image.</td></tr>
    <tr><td class="paramname">orientations</td><td>The orientation values.</td></tr>
    <tr><td class="paramname">wSize</td><td>The window size of the orientation image.</td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a3e7b97820a2389c19e7cb6aa04c0b56b"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">PatternRecognition.FingerprintRecognition.Core.OrientationImage.OrientationImage </td>
          <td>(</td>
          <td class="paramtype">byte&#160;</td>
          <td class="paramname"><em>width</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">byte&#160;</td>
          <td class="paramname"><em>height</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">byte&#160;</td>
          <td class="paramname"><em>wSize</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Initialize an <a class="el" href="class_pattern_recognition_1_1_fingerprint_recognition_1_1_core_1_1_orientation_image.html" title="Represents an orientation image.">OrientationImage</a> with the specified width, height, orientation values, and window size. </p>
<dl class="params"><dt>Parameters:</dt><dd>
  <table class="params">
    <tr><td class="paramname">width</td><td>The width of the orientation image.</td></tr>
    <tr><td class="paramname">height</td><td>The height of the orientation image.</td></tr>
    <tr><td class="paramname">wSize</td><td>The window size of the orientation image.</td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<hr/><h2>Member Function Documentation</h2>
<a class="anchor" id="ae0f659ba0fd706ac196856c334dfcc40"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">double PatternRecognition.FingerprintRecognition.Core.OrientationImage.AngleInRadians </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>row</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>col</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Gets the orientation in radians of the block in the specified coordinates. </p>
<dl class="params"><dt>Parameters:</dt><dd>
  <table class="params">
    <tr><td class="paramname">row</td><td>The row of the specified block.</td></tr>
    <tr><td class="paramname">col</td><td>The column of the specified block.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns:</dt><dd>The angle in radians of the specified block. </dd></dl>

</div>
</div>
<a class="anchor" id="a78b37d7c3dc90833fe9e6ec1a6130534"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void PatternRecognition.FingerprintRecognition.Core.OrientationImage.GetBlockCoordFromIdx </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>blockIdx</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">out int&#160;</td>
          <td class="paramname"><em>row</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">out int&#160;</td>
          <td class="paramname"><em>col</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Gets, in out parameters, the coordinates of the block with the specified index. </p>
<dl class="params"><dt>Parameters:</dt><dd>
  <table class="params">
    <tr><td class="paramname">blockIdx</td><td>The block index.</td></tr>
    <tr><td class="paramname">row</td><td>The row of the returned block.</td></tr>
    <tr><td class="paramname">col</td><td>The column of the returned block.</td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a89619b5f005ed9f2d9567a88475d08cf"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void PatternRecognition.FingerprintRecognition.Core.OrientationImage.GetBlockCoordFromPixel </td>
          <td>(</td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>x</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">double&#160;</td>
          <td class="paramname"><em>y</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">out int&#160;</td>
          <td class="paramname"><em>row</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">out int&#160;</td>
          <td class="paramname"><em>col</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Gets, in out parameters, the block coordinates where the pixel, with specified coordinates, resides. </p>
<dl class="params"><dt>Parameters:</dt><dd>
  <table class="params">
    <tr><td class="paramname">x</td><td>The x component of the pixel.</td></tr>
    <tr><td class="paramname">y</td><td>The y component of the pixel.</td></tr>
    <tr><td class="paramname">row</td><td>The row of the returned block.</td></tr>
    <tr><td class="paramname">col</td><td>The column of the returned block.</td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a644aacd58c04575fd07cd6c65497a475"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">int PatternRecognition.FingerprintRecognition.Core.OrientationImage.GetBlockIdxFromCoord </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>row</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>col</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Gets the index of the block with the specified coordinates. </p>
<dl class="params"><dt>Parameters:</dt><dd>
  <table class="params">
    <tr><td class="paramname">row</td><td>The row of the block.</td></tr>
    <tr><td class="paramname">col</td><td>The column of the block.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns:</dt><dd>The index of the block with the specified coordinates. </dd></dl>

</div>
</div>
<a class="anchor" id="a66a74aded09fe7fdb19d4d4757a2c3d1"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void PatternRecognition.FingerprintRecognition.Core.OrientationImage.GetPixelCoordFromBlock </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>row</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>col</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">out double&#160;</td>
          <td class="paramname"><em>x</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">out double&#160;</td>
          <td class="paramname"><em>y</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Gets, in out parameters, the pixel coordinates of the center of the block with the specified coordinates. </p>
<dl class="params"><dt>Parameters:</dt><dd>
  <table class="params">
    <tr><td class="paramname">row</td><td>The row of the block.</td></tr>
    <tr><td class="paramname">col</td><td>The column of the block.</td></tr>
    <tr><td class="paramname">x</td><td>The x component of the returned pixel.</td></tr>
    <tr><td class="paramname">y</td><td>The y component of the returned pixel.</td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a883596e21ba971478020c9c66b40af6d"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">void PatternRecognition.FingerprintRecognition.Core.OrientationImage.GetPixelCoordFromBlock </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>row</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>col</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">out int&#160;</td>
          <td class="paramname"><em>x</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">out int&#160;</td>
          <td class="paramname"><em>y</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Gets, in out parameters, the pixel coordinates of the center of the block with the specified coordinates. </p>
<dl class="params"><dt>Parameters:</dt><dd>
  <table class="params">
    <tr><td class="paramname">row</td><td>The row of the block.</td></tr>
    <tr><td class="paramname">col</td><td>The column of the block.</td></tr>
    <tr><td class="paramname">x</td><td>The x component of the returned pixel.</td></tr>
    <tr><td class="paramname">y</td><td>The y component of the returned pixel.</td></tr>
  </table>
  </dd>
</dl>

</div>
</div>
<a class="anchor" id="a77454856e02c4f93db8daa6202cb2f43"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">bool PatternRecognition.FingerprintRecognition.Core.OrientationImage.IsNullBlock </td>
          <td>(</td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>row</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>col</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Determines whether the block with the specified coordinates is undefined. </p>
<dl class="params"><dt>Parameters:</dt><dd>
  <table class="params">
    <tr><td class="paramname">row</td><td>The row coordinate of the block.</td></tr>
    <tr><td class="paramname">col</td><td>The column coordinate of the block.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns:</dt><dd>True if the block with the specified coordinates is undefined; otherwise, false. </dd></dl>

</div>
</div>
<hr/><h2>Member Data Documentation</h2>
<a class="anchor" id="a78b7cdc8f60bc68bdb2d723df7fdb53f"></a>
<div class="memitem">
<div class="memproto">
      <table class="memname">
        <tr>
          <td class="memname">const byte PatternRecognition.FingerprintRecognition.Core.OrientationImage.Null = 255</td>
        </tr>
      </table>
</div><div class="memdoc">

<p>Constains the numerical value of undefined blocks. </p>

</div>
</div>
<hr/><h2>Property Documentation</h2>
<a class="anchor" id="ab4e475bbeaaa0c4f3eef88f1f09db608"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">byte PatternRecognition.FingerprintRecognition.Core.OrientationImage.Height</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">get</span><span class="mlabel">set</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Gets or sets the height of the orientation image. </p>

</div>
</div>
<a class="anchor" id="a3a9854f01c479af46ecbcb893adfef0c"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">byte PatternRecognition.FingerprintRecognition.Core.OrientationImage.this[int row, int col]</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">get</span><span class="mlabel">set</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Gets or sets the orientation in degrees of the block in the specified coordinates. </p>
<dl class="params"><dt>Parameters:</dt><dd>
  <table class="params">
    <tr><td class="paramname">row</td><td>The row of the specified block.</td></tr>
    <tr><td class="paramname">col</td><td>The column of the specified block.</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns:</dt><dd>The angle in degrees of the specified block. </dd></dl>

</div>
</div>
<a class="anchor" id="ae7cd75e0ea4b7ad1b58041899add256d"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">byte PatternRecognition.FingerprintRecognition.Core.OrientationImage.Width</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">get</span><span class="mlabel">set</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Gets or sets the width of the orientation image. </p>

</div>
</div>
<a class="anchor" id="a27c7392c1c78b9a7285bf96ea1e6f24b"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">byte PatternRecognition.FingerprintRecognition.Core.OrientationImage.WindowSize</td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">get</span><span class="mlabel">set</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Gets or sets the window size of the orientation image. </p>

</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li>D:/Migue/Code/FingerprintRecognition/CodeProject/[2012-05-16] FingerprintRecognition/FingerprintRecognition/FR.Core/OrientationImage.cs</li>
</ul>
</div><!-- contents -->
</div><!-- doc-content -->
<!-- start footer part -->
<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
  <ul>
    <li class="navelem"><a class="el" href="namespace_pattern_recognition.html">PatternRecognition</a></li><li class="navelem"><a class="el" href="namespace_pattern_recognition_1_1_fingerprint_recognition.html">FingerprintRecognition</a></li><li class="navelem"><a class="el" href="namespace_pattern_recognition_1_1_fingerprint_recognition_1_1_core.html">Core</a></li><li class="navelem"><a class="el" href="class_pattern_recognition_1_1_fingerprint_recognition_1_1_core_1_1_orientation_image.html">OrientationImage</a></li>
    <li class="footer">Generated on Mon May 21 2012 20:06:34 for FingerprintRecognition by
    <a href="http://www.doxygen.org/index.html">
    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.1 </li>
  </ul>
</div>
</body>
</html>

By viewing downloads associated with this article you agree to the Terms of Service and the article's licence.

If a file you wish to view isn't highlighted, and is a text file (not binary), please let us know and we'll add colourisation support for it.

License

This article, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)


Written By
Tecnológico de Monterrey
Mexico Mexico
I received my B.S. and M.S. degrees from the University of Ciego de Ávila, Cuba, in 2007 and I received my PhD. degree in 2014 from the National Institute of Astrophysics, Optics and Electronics (INAOE), Mexico.

I have developed software to solve pattern recognition problems. A successful example is the algorithm DMC which is the most accurate (according to EER) among those which compare both fingerprints and palmprints in the international competition FVC-onGoing.

I have been involved in several research projects about pattern recognition and I have published tens of papers in referenced journals such as "Pattern Recognition," "Knowledge-Based Systems," "Information Sciences", and "IEEE Transactions on Information Forensics and Security."

Written By
Cuba Cuba
Milton García-Borroto is graduated from Las Villas Central University, Cuba, in 2000. He received the M.S. degree in 2007 from the National Institute of Astrophisics, Optics and Electronics, Mexico, where he continues his studies toward a Ph.D. degree. His research interests are pattern recognition and biometry.

Relevant papers:
1. M. García-Borroto, J. F. Martinez Trinidad, J. A. Carrasco Ochoa, M. A. Medina-Pérez, and J. Ruiz-Shulcloper. LCMine: An efficient algorithm for mining discriminative regularities and its application in supervised classification. Pattern Recognition vol. 43, pp. 3025-3034, 2010.
2. M. García-Borroto, J. F. Martinez Trinidad, J. A. Carrasco Ochoa. A New Emerging Pattern Mining Algorithm and Its Application in Supervised Classification. M.J. Zaki et al. (Eds.): PAKDD 2010, Part I, Lecture Notes in Artificial Intelligence, vol. 6118, pp. 150–157, 2010.
3. M. A. Medina-Pérez, A. Gutiérrez-Rodríguez, and M. García-Borroto, "Improving Fingerprint Matching Using an Orientation-Based Minutia Descriptor," Lecture Notes in Computer Science, vol. 5856, pp. 121-128, 2009.
4. M. García-Borroto, Y. Villuendas-Rey, J. A. Carrasco-Ochoa, and J. F. Martínez-Trinidad, "Finding Small Consistent Subset for the Nearest Neighbor Classifier Based on Support Graphs," Lecture Notes in Computer Science, vol. 5856, pp. 465-472, 2009.
5. M. García-Borroto, Y. Villuendas-Rey, J. A. Carrasco-Ochoa, and J. F. Martínez-Trinidad, "Using Maximum Similarity Graphs to Edit Nearest Neighbor Classifiers," Lecture Notes in Computer Science, vol. 5856, pp. 489-496, 2009.
6. M. A. Medina-Pérez, M. García-Borroto, and J. Ruiz-Shulcloper, "Object Selection Based on Subclass Error Correcting for ALVOT," Lecture Notes in Computer Science, vol. 4756, pp. 496-505, 2007.

Andres Eduardo Gutierrez Rodriguez is graduated from Las Villas Central University, Cuba, in 2006. He received the M.S. degree in 2009 from the University of Ciego de Ávila, Cuba. His research interests are pattern recognition and biometry.

Relevant papers:

-M. A. Medina-Pérez, A. Gutiérrez-Rodríguez, and M. García-Borroto, "Improving Fingerprint Matching Using an Orientation-Based Minutia Descriptor," Lecture Notes in Computer Science, vol. 5856, pp. 121-128, 2009.
-A. E. Gutierrez-Rodriguez, M. A. Medina-Perez, J. F. Martinez-Trinidad, J. A. Carrasco-Ochoa, and M. Garcia-Borroto, "New Dissimilarity Measures for Ultraviolet Spectra Identification," Lecture Notes in Computer Science, vol. 6256, pp. 220-229, 2010.

Written By
Program Manager
Spain Spain
Octavio Loyola-González received his PhD degree in Computer Science from the National Institute for Astrophysics, Optics, and Electronics, Mexico. He has won several awards from different institutions due to his research work on applied projects; consequently, he is a Member of the National System of Researchers in Mexico (Rank1). He worked as a distinguished professor and researcher at Tecnologico de Monterrey, Campus Puebla, for undergraduate and graduate programs of Computer Sciences. Currently, he is responsible for running Machine Learning & Artificial Intelligence practice inside Stratesys., where he is involved in the development and implementation using analytics and data mining. He has outstanding experience in the fields of big data & pattern recognition, cloud computing, IoT, and analytical tools to apply them in sectors where he has worked for as Banking & Insurance, Retail, Oil&Gas, Agriculture, Cybersecurity, Biotechnology, and Dactyloscopy. From these applied projects, Dr. Loyola-González has published several books and papers in well-known journals, and he has several ongoing patents as manager and researcher in Stratesys.

Comments and Discussions