<!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>UareU SDK .Net API: Comparison 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="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">UareU SDK .Net API
   </div>
   <div id="projectbrief">Documentation describing the API for the UareU SDK .Net Wrapper</div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.2 -->
<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>Namespaces</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>
<!-- 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 id="nav-path" class="navpath">
  <ul>
<li class="navelem"><a class="el" href="namespace_d_p_uru_net.html">DPUruNet</a></li><li class="navelem"><a class="el" href="class_d_p_uru_net_1_1_comparison.html">Comparison</a></li>  </ul>
</div>
</div><!-- top -->
<div class="header">
  <div class="summary">
<a href="#pub-static-methods">Static Public Member Functions</a> &#124;
<a href="class_d_p_uru_net_1_1_comparison-members.html">List of all members</a>  </div>
  <div class="headertitle">
<div class="title">Comparison Class Reference</div>  </div>
</div><!--header-->
<div class="contents">

<p>Contains static methods to compare FMDs.  
 <a href="class_d_p_uru_net_1_1_comparison.html#details">More...</a></p>
<table class="memberdecls">
<tr class="heading"><td colspan="2"><h2 class="groupheader"><a name="pub-static-methods"></a>
Static Public Member Functions</h2></td></tr>
<tr class="memitem:a5999dd9cec46e91e3709ff8b56e91d43"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="class_d_p_uru_net_1_1_compare_result.html">CompareResult</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_d_p_uru_net_1_1_comparison.html#a5999dd9cec46e91e3709ff8b56e91d43">Compare</a> (<a class="el" href="class_d_p_uru_net_1_1_fmd.html">Fmd</a> fmd1, int index1, <a class="el" href="class_d_p_uru_net_1_1_fmd.html">Fmd</a> fmd2, int index2)</td></tr>
<tr class="memdesc:a5999dd9cec46e91e3709ff8b56e91d43"><td class="mdescLeft">&#160;</td><td class="mdescRight">Compares two fingerprints.  <a href="#a5999dd9cec46e91e3709ff8b56e91d43"></a><br/></td></tr>
<tr class="separator:a5999dd9cec46e91e3709ff8b56e91d43"><td class="memSeparator" colspan="2">&#160;</td></tr>
<tr class="memitem:a90d04effe8455ab0d6deae375aa40b39"><td class="memItemLeft" align="right" valign="top">static <a class="el" href="class_d_p_uru_net_1_1_identify_result.html">IdentifyResult</a>&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="class_d_p_uru_net_1_1_comparison.html#a90d04effe8455ab0d6deae375aa40b39">Identify</a> (<a class="el" href="class_d_p_uru_net_1_1_fmd.html">Fmd</a> fmd, int index, IEnumerable&lt; <a class="el" href="class_d_p_uru_net_1_1_fmd.html">Fmd</a> &gt; fmds, int thresholdScore, int maxResult)</td></tr>
<tr class="memdesc:a90d04effe8455ab0d6deae375aa40b39"><td class="mdescLeft">&#160;</td><td class="mdescRight"> <a href="#a90d04effe8455ab0d6deae375aa40b39"></a><br/></td></tr>
<tr class="separator:a90d04effe8455ab0d6deae375aa40b39"><td class="memSeparator" colspan="2">&#160;</td></tr>
</table>
<a name="details" id="details"></a><h2 class="groupheader">Detailed Description</h2>
<div class="textblock"><p>Contains static methods to compare FMDs. </p>
</div><h2 class="groupheader">Member Function Documentation</h2>
<a class="anchor" id="a5999dd9cec46e91e3709ff8b56e91d43"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">static <a class="el" href="class_d_p_uru_net_1_1_compare_result.html">CompareResult</a> Compare </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="class_d_p_uru_net_1_1_fmd.html">Fmd</a>&#160;</td>
          <td class="paramname"><em>fmd1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>index1</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype"><a class="el" href="class_d_p_uru_net_1_1_fmd.html">Fmd</a>&#160;</td>
          <td class="paramname"><em>fmd2</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>index2</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p>Compares two fingerprints. </p>
<p>Given two single views from two Fmds, this function returns a <b>dissimilarity score</b> indicating the quality of the match. </p>
<p>The dissimilarity scores returned values are between: </p>
<p>0 (match), </p>
<p>Max Integer Value (no match). </p>
<p>Values close to 0 indicate very close matches, values closer to maxint indicate very poor matches. </p>
<p>For a discussion of how to evaluate dissimilarity scores, as well as the statistical validity of the dissimilarity score and error rates, consult the Developer Guide. </p>
<p>/// </p>
<p>The Compare function returns DP_SUCCESS if it is able to compare the fingerprints successfully (i.e., the Fmds are valid and correctly formed). However that does not mean that the fingerprints matched. To check whether they matched, you must look at the dissimilarity score.</p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">fmd1</td><td>First FMD</td></tr>
    <tr><td class="paramname">index1</td><td>Index of the view in the first FMD</td></tr>
    <tr><td class="paramname">fmd2</td><td>Second FMD</td></tr>
    <tr><td class="paramname">index2</td><td>Index of the view in the second FMD</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>DP_SUCCESS: <a class="el" href="class_d_p_uru_net_1_1_comparison.html" title="Contains static methods to compare FMDs. ">Comparison</a> finished; DP_INVALID_PARAMETER: One or more parameters passed are invalid; DP_FAILURE: Unknown error. </dd></dl>

</div>
</div>
<a class="anchor" id="a90d04effe8455ab0d6deae375aa40b39"></a>
<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">static <a class="el" href="class_d_p_uru_net_1_1_identify_result.html">IdentifyResult</a> Identify </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="class_d_p_uru_net_1_1_fmd.html">Fmd</a>&#160;</td>
          <td class="paramname"><em>fmd</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>index</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">IEnumerable&lt; <a class="el" href="class_d_p_uru_net_1_1_fmd.html">Fmd</a> &gt;&#160;</td>
          <td class="paramname"><em>fmds</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>thresholdScore</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">int&#160;</td>
          <td class="paramname"><em>maxResult</em>&#160;</td>
        </tr>
        <tr>
          <td></td>
          <td>)</td>
          <td></td><td></td>
        </tr>
      </table>
  </td>
  <td class="mlabels-right">
<span class="mlabels"><span class="mlabel">static</span></span>  </td>
  </tr>
</table>
</div><div class="memdoc">

<p></p>
<p>Compares a single fingerprint to an array of fingerprints. This function takes as inputs:</p>
<p>- a single view in an <a class="el" href="class_d_p_uru_net_1_1_fmd.html" title="Class represents Fingerprint Minutiae Data (FMD).">Fmd</a></p>
<p>- an array of Fmds (each <a class="el" href="class_d_p_uru_net_1_1_fmd.html" title="Class represents Fingerprint Minutiae Data (FMD).">Fmd</a> can contain up to 16 views) to compare, all of the same format</p>
<p>- the desired number of matches to return </p>
<p>- the threshold for False Positive Identification Rate that is permitted</p>
<p>This function compares a single view against an array of Fmds. Each time view has a score lower than the threshold, that view is marked as a possible candidate. </p>
<p>Then when all possible candidates are identified (i.e., they meet the threshold), they are ranked by their score. Finally, the function returns as many candidates as requested, based on the candidates with the lowest dissimilarity score.</p>
<p>For a discussion of setting the threshold as well as the statistical validity of the dissimilarity score and error rates, consult the Developer Guide. </p>
<dl class="params"><dt>Parameters</dt><dd>
  <table class="params">
    <tr><td class="paramname">fmd</td><td>First FMD</td></tr>
    <tr><td class="paramname">index</td><td>Index of the view in the first FMD</td></tr>
    <tr><td class="paramname">fmds</td><td>Array of FMDs. Null items are not allowed between FMDs</td></tr>
    <tr><td class="paramname">thresholdScore</td><td>Target threshold on degree of dissimilarity, between 0 and int.MaxValue</td></tr>
    <tr><td class="paramname">maxResult</td><td>How many candidates to return</td></tr>
  </table>
  </dd>
</dl>
<dl class="section return"><dt>Returns</dt><dd>DPFJ_SUCESS: Identification finished DP_INVALID_PARAMETER: One or more parameters passed are invalid; DP_FAILURE: Unknown error </dd></dl>

</div>
</div>
<hr/>The documentation for this class was generated from the following file:<ul>
<li>D:/Work/BiometricSDK/Main/_Root/Source/DotNet/DPUruNet/Comparison.cs</li>
</ul>
</div><!-- contents -->
<!-- start footer part -->
<hr class="footer"/><address class="footer"><small>
Generated on Wed Nov 7 2012 12:27:15 for UareU SDK .Net API by &#160;<a href="http://www.doxygen.org/index.html">
<img class="footer" src="doxygen.png" alt="doxygen"/>
</a> 1.8.2
</small></address>
</body>
</html>
