<!-- HTML header for doxygen 1.8.17-->
<!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.17"/>
<meta name="viewport" content="width=device-width, initial-scale=1"/>
<title>Arm NN: StringifyLayerParameters&lt; DetectionPostProcessDescriptor &gt; Struct 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="navtreedata.js"></script>
<script type="text/javascript" src="navtree.js"></script>
<link href="search/search.css" rel="stylesheet" type="text/css"/>
<script type="text/javascript" src="search/searchdata.js"></script>
<script type="text/javascript" src="search/search.js"></script>
<script type="text/x-mathjax-config">
  MathJax.Hub.Config({
    extensions: ["tex2jax.js"],
    jax: ["input/TeX","output/HTML-CSS"],
});
</script>
<script type="text/javascript" async="async" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js"></script>
<link href="doxygen.css" rel="stylesheet" type="text/css" />
<link href="customdoxygen.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;">
  <img alt="ArmNN" src="Arm_NN_horizontal_blue.png" style="max-width: 15rem; margin-top: .5rem; margin-left 13px"/>
  <td id="projectalign" style="padding-left: 0.9em;">
   <div id="projectname">
   &#160;<span id="projectnumber">24.05</span>
   </div>
  </td>
 </tr>
 </tbody>
</table>
</div>
<!-- end header part -->
<!-- Generated by Doxygen 1.8.17 -->
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
var searchBox = new SearchBox("searchBox", "search",false,'Search');
/* @license-end */
</script>
<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('',true,false,'search.php','Search');
  $(document).ready(function() { init_search(); });
});
/* @license-end */</script>
<div id="main-nav"></div>
</div><!-- top -->
<div id="side-nav" class="ui-resizable side-nav-resizable">
  <div id="nav-tree">
    <div id="nav-tree-contents">
      <div id="nav-sync" class="sync"></div>
    </div>
  </div>
  <div id="splitbar" style="-moz-user-select:none;" 
       class="ui-resizable-handle">
  </div>
</div>
<script type="text/javascript">
/* @license magnet:?xt=urn:btih:cf05388f2679ee054f2beb29a391d25f4e673ac3&amp;dn=gpl-2.0.txt GPL-v2 */
$(document).ready(function(){initNavTree('structarmnn_1_1_stringify_layer_parameters_3_01_detection_post_process_descriptor_01_4.html',''); initResizable(); });
/* @license-end */
</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)">
</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-static-methods">Static Public Member Functions</a> &#124;
<a href="structarmnn_1_1_stringify_layer_parameters_3_01_detection_post_process_descriptor_01_4-members.html">List of all members</a>  </div>
  <div class="headertitle">
<div class="title">StringifyLayerParameters&lt; DetectionPostProcessDescriptor &gt; Struct Reference</div>  </div>
</div><!--header-->
<div class="contents">

<p><code>#include &lt;<a class="el" href="_serialize_layer_parameters_8hpp_source.html">SerializeLayerParameters.hpp</a>&gt;</code></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:a12c66fae1e89a18e90621c1f62d537c7"><td class="memItemLeft" align="right" valign="top">static void&#160;</td><td class="memItemRight" valign="bottom"><a class="el" href="structarmnn_1_1_stringify_layer_parameters_3_01_detection_post_process_descriptor_01_4.html#a12c66fae1e89a18e90621c1f62d537c7">Serialize</a> (<a class="el" href="namespacearmnn.html#a8c42c6647e31ebe525aeba878d133e45">ParameterStringifyFunction</a> &amp;fn, const <a class="el" href="structarmnn_1_1_detection_post_process_descriptor.html">DetectionPostProcessDescriptor</a> &amp;desc)</td></tr>
<tr class="separator:a12c66fae1e89a18e90621c1f62d537c7"><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 class="definition">Definition at line <a class="el" href="_serialize_layer_parameters_8hpp_source.html#l00068">68</a> of file <a class="el" href="_serialize_layer_parameters_8hpp_source.html">SerializeLayerParameters.hpp</a>.</p>
</div><h2 class="groupheader">Member Function Documentation</h2>
<a id="a12c66fae1e89a18e90621c1f62d537c7"></a>
<h2 class="memtitle"><span class="permalink"><a href="#a12c66fae1e89a18e90621c1f62d537c7">&#9670;&nbsp;</a></span>Serialize()</h2>

<div class="memitem">
<div class="memproto">
<table class="mlabels">
  <tr>
  <td class="mlabels-left">
      <table class="memname">
        <tr>
          <td class="memname">void Serialize </td>
          <td>(</td>
          <td class="paramtype"><a class="el" href="namespacearmnn.html#a8c42c6647e31ebe525aeba878d133e45">ParameterStringifyFunction</a> &amp;&#160;</td>
          <td class="paramname"><em>fn</em>, </td>
        </tr>
        <tr>
          <td class="paramkey"></td>
          <td></td>
          <td class="paramtype">const <a class="el" href="structarmnn_1_1_detection_post_process_descriptor.html">DetectionPostProcessDescriptor</a> &amp;&#160;</td>
          <td class="paramname"><em>desc</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 class="definition">Definition at line <a class="el" href="_serialize_layer_parameters_8cpp_source.html#l00140">140</a> of file <a class="el" href="_serialize_layer_parameters_8cpp_source.html">SerializeLayerParameters.cpp</a>.</p>
<div class="fragment"><div class="line"><a name="l00142"></a><span class="lineno">  142</span>&#160;{</div>
<div class="line"><a name="l00143"></a><span class="lineno">  143</span>&#160;    fn(<span class="stringliteral">&quot;MaxDetections&quot;</span>, std::to_string(desc.m_MaxDetections));</div>
<div class="line"><a name="l00144"></a><span class="lineno">  144</span>&#160;    fn(<span class="stringliteral">&quot;MaxClassesPerDetection&quot;</span>, std::to_string(desc.m_MaxClassesPerDetection));</div>
<div class="line"><a name="l00145"></a><span class="lineno">  145</span>&#160;    fn(<span class="stringliteral">&quot;DetectionsPerClass&quot;</span>, std::to_string(desc.m_DetectionsPerClass));</div>
<div class="line"><a name="l00146"></a><span class="lineno">  146</span>&#160;    fn(<span class="stringliteral">&quot;NmsScoreThreshold&quot;</span>, std::to_string(desc.m_NmsScoreThreshold));</div>
<div class="line"><a name="l00147"></a><span class="lineno">  147</span>&#160;    fn(<span class="stringliteral">&quot;NmsIouThreshold&quot;</span>, std::to_string(desc.m_NmsIouThreshold));</div>
<div class="line"><a name="l00148"></a><span class="lineno">  148</span>&#160;    fn(<span class="stringliteral">&quot;NumClasses&quot;</span>, std::to_string(desc.m_NumClasses));</div>
<div class="line"><a name="l00149"></a><span class="lineno">  149</span>&#160;    fn(<span class="stringliteral">&quot;UseRegularNms&quot;</span>, (desc.m_UseRegularNms ? <span class="stringliteral">&quot;true&quot;</span> : <span class="stringliteral">&quot;false&quot;</span>));</div>
<div class="line"><a name="l00150"></a><span class="lineno">  150</span>&#160;    {</div>
<div class="line"><a name="l00151"></a><span class="lineno">  151</span>&#160;        std::stringstream ss;</div>
<div class="line"><a name="l00152"></a><span class="lineno">  152</span>&#160;        ss &lt;&lt; <span class="stringliteral">&quot;(&quot;</span> &lt;&lt; desc.m_ScaleX &lt;&lt;  <span class="stringliteral">&quot;,&quot;</span> &lt;&lt; desc.m_ScaleY &lt;&lt; <span class="stringliteral">&quot;)&quot;</span>;</div>
<div class="line"><a name="l00153"></a><span class="lineno">  153</span>&#160;        fn(<span class="stringliteral">&quot;Scale(X,Y)&quot;</span>, ss.str());</div>
<div class="line"><a name="l00154"></a><span class="lineno">  154</span>&#160;    }</div>
<div class="line"><a name="l00155"></a><span class="lineno">  155</span>&#160; </div>
<div class="line"><a name="l00156"></a><span class="lineno">  156</span>&#160;    {</div>
<div class="line"><a name="l00157"></a><span class="lineno">  157</span>&#160;        std::stringstream ss;</div>
<div class="line"><a name="l00158"></a><span class="lineno">  158</span>&#160;        ss &lt;&lt; <span class="stringliteral">&quot;(&quot;</span> &lt;&lt; desc.m_ScaleW &lt;&lt;  <span class="stringliteral">&quot;,&quot;</span> &lt;&lt; desc.m_ScaleH &lt;&lt; <span class="stringliteral">&quot;)&quot;</span>;</div>
<div class="line"><a name="l00159"></a><span class="lineno">  159</span>&#160;        fn(<span class="stringliteral">&quot;Scale(W,H)&quot;</span>, ss.str());</div>
<div class="line"><a name="l00160"></a><span class="lineno">  160</span>&#160;    }</div>
<div class="line"><a name="l00161"></a><span class="lineno">  161</span>&#160;}</div>
</div><!-- fragment -->
<p class="reference">References <a class="el" href="_descriptors_8hpp_source.html#l00749">DetectionPostProcessDescriptor::m_DetectionsPerClass</a>, <a class="el" href="_descriptors_8hpp_source.html#l00747">DetectionPostProcessDescriptor::m_MaxClassesPerDetection</a>, <a class="el" href="_descriptors_8hpp_source.html#l00745">DetectionPostProcessDescriptor::m_MaxDetections</a>, <a class="el" href="_descriptors_8hpp_source.html#l00753">DetectionPostProcessDescriptor::m_NmsIouThreshold</a>, <a class="el" href="_descriptors_8hpp_source.html#l00751">DetectionPostProcessDescriptor::m_NmsScoreThreshold</a>, <a class="el" href="_descriptors_8hpp_source.html#l00755">DetectionPostProcessDescriptor::m_NumClasses</a>, <a class="el" href="_descriptors_8hpp_source.html#l00765">DetectionPostProcessDescriptor::m_ScaleH</a>, <a class="el" href="_descriptors_8hpp_source.html#l00763">DetectionPostProcessDescriptor::m_ScaleW</a>, <a class="el" href="_descriptors_8hpp_source.html#l00759">DetectionPostProcessDescriptor::m_ScaleX</a>, <a class="el" href="_descriptors_8hpp_source.html#l00761">DetectionPostProcessDescriptor::m_ScaleY</a>, and <a class="el" href="_descriptors_8hpp_source.html#l00757">DetectionPostProcessDescriptor::m_UseRegularNms</a>.</p>

</div>
</div>
<hr/>The documentation for this struct was generated from the following files:<ul>
<li>src/armnn/<a class="el" href="_serialize_layer_parameters_8hpp_source.html">SerializeLayerParameters.hpp</a></li>
<li>src/armnn/<a class="el" href="_serialize_layer_parameters_8cpp_source.html">SerializeLayerParameters.cpp</a></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="namespacearmnn.html">armnn</a></li><li class="navelem"><a class="el" href="structarmnn_1_1_stringify_layer_parameters_3_01_detection_post_process_descriptor_01_4.html">StringifyLayerParameters&lt; DetectionPostProcessDescriptor &gt;</a></li>
    <li class="footer">Generated on Thu May 16 2024 09:31:59 for Arm NN by
    <a href="http://www.doxygen.org/index.html">
    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.17 </li>
  </ul>
</div>
</body>
</html>
