diff --git a/Documentation/class_image_preprocessor-members.html b/Documentation/class_image_preprocessor-members.html
new file mode 100644
index 0000000..ed29174
--- /dev/null
+++ b/Documentation/class_image_preprocessor-members.html
@@ -0,0 +1,110 @@
+<!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"/>
+<meta name="generator" content="Doxygen 1.8.13"/>
+<meta name="viewport" content="width=device-width, initial-scale=1"/>
+<title>ArmNN: Member List</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>
+<script type="text/javascript">
+  $(document).ready(initResizable);
+</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>
+<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 id="projectalign" style="padding-left: 0.5em;">
+   <div id="projectname">ArmNN
+   &#160;<span id="projectnumber">NotReleased</span>
+   </div>
+  </td>
+ </tr>
+ </tbody>
+</table>
+</div>
+<!-- end header part -->
+<!-- Generated by Doxygen 1.8.13 -->
+<script type="text/javascript">
+var searchBox = new SearchBox("searchBox", "search",false,'Search');
+</script>
+<script type="text/javascript" src="menudata.js"></script>
+<script type="text/javascript" src="menu.js"></script>
+<script type="text/javascript">
+$(function() {
+  initMenu('',true,false,'search.php','Search');
+  $(document).ready(function() { init_search(); });
+});
+</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">
+$(document).ready(function(){initNavTree('class_image_preprocessor.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)">
+</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="headertitle">
+<div class="title">ImagePreprocessor&lt; TDataType &gt; Member List</div>  </div>
+</div><!--header-->
+<div class="contents">
+
+<p>This is the complete list of members for <a class="el" href="class_image_preprocessor.html">ImagePreprocessor&lt; TDataType &gt;</a>, including all inherited members.</p>
+<table class="directory">
+  <tr class="even"><td class="entry"><a class="el" href="class_image_preprocessor.html#a8b182988d497b07d1e06a1707b67897f">DataFormat</a> enum name</td><td class="entry"><a class="el" href="class_image_preprocessor.html">ImagePreprocessor&lt; TDataType &gt;</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="class_image_preprocessor.html#af6964b8f91085191c5228d1a67db4523">DataType</a> typedef</td><td class="entry"><a class="el" href="class_image_preprocessor.html">ImagePreprocessor&lt; TDataType &gt;</a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="class_image_preprocessor.html#ac2bd5628ca0535f9e8af78e65685d62f">GetTestCaseData</a>(unsigned int testCaseId)</td><td class="entry"><a class="el" href="class_image_preprocessor.html">ImagePreprocessor&lt; TDataType &gt;</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="class_image_preprocessor.html#afc05b2b7e914f9737812e66f5583b04c">GetTestCaseData</a>(unsigned int testCaseId)</td><td class="entry"><a class="el" href="class_image_preprocessor.html">ImagePreprocessor&lt; TDataType &gt;</a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="class_image_preprocessor.html#a0859c20682ecfa660d0da13de7998029">GetTestCaseData</a>(unsigned int testCaseId)</td><td class="entry"><a class="el" href="class_image_preprocessor.html">ImagePreprocessor&lt; TDataType &gt;</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="class_image_preprocessor.html#a3d7f9eb381f95c181466db2172dfd775">ImagePreprocessor</a>(const std::string &amp;binaryFileDirectory, unsigned int width, unsigned int height, const std::vector&lt; ImageSet &gt; &amp;imageSet, float scale=255.0f, const std::array&lt; float, 3 &gt; mean={{0, 0, 0}}, const std::array&lt; float, 3 &gt; stddev={{1, 1, 1}}, DataFormat dataFormat=DataFormat::NHWC, unsigned int batchSize=1)</td><td class="entry"><a class="el" href="class_image_preprocessor.html">ImagePreprocessor&lt; TDataType &gt;</a></td><td class="entry"><span class="mlabel">inline</span><span class="mlabel">explicit</span></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="class_image_preprocessor.html#a8b182988d497b07d1e06a1707b67897fa54d2c44e9fb4c89a3abd5088e04fdc48">NCHW</a> enum value</td><td class="entry"><a class="el" href="class_image_preprocessor.html">ImagePreprocessor&lt; TDataType &gt;</a></td><td class="entry"></td></tr>
+  <tr><td class="entry"><a class="el" href="class_image_preprocessor.html#a8b182988d497b07d1e06a1707b67897fa7442702e1d93df81504eb5e5d536c2fc">NHWC</a> enum value</td><td class="entry"><a class="el" href="class_image_preprocessor.html">ImagePreprocessor&lt; TDataType &gt;</a></td><td class="entry"></td></tr>
+  <tr class="even"><td class="entry"><a class="el" href="class_image_preprocessor.html#a0b6d5426d97a60215cdcd609dee35cc9">TTestCaseData</a> typedef</td><td class="entry"><a class="el" href="class_image_preprocessor.html">ImagePreprocessor&lt; TDataType &gt;</a></td><td class="entry"></td></tr>
+</table></div><!-- contents -->
+</div><!-- doc-content -->
+<!-- start footer part -->
+<div id="nav-path" class="navpath"><!-- id is needed for treeview function! -->
+  <ul>
+    <li class="footer">Generated on Fri Mar 13 2020 16:07:01 for ArmNN by
+    <a href="http://www.doxygen.org/index.html">
+    <img class="footer" src="doxygen.png" alt="doxygen"/></a> 1.8.13 </li>
+  </ul>
+</div>
+</body>
+</html>
