2
0

index.html 15 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224
  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
  2. "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
  3. <html xmlns="http://www.w3.org/1999/xhtml">
  4. <head>
  5. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
  6. <title>Analysis &#8212; Compressonator Compressonator - latest build documentation</title>
  7. <link rel="stylesheet" href="../_static/alabaster.css" type="text/css" />
  8. <link rel="stylesheet" href="../_static/pygments.css" type="text/css" />
  9. <link rel="stylesheet" href="../_static/theme_overrides.css" type="text/css" />
  10. <script type="text/javascript">
  11. var DOCUMENTATION_OPTIONS = {
  12. URL_ROOT: '../',
  13. VERSION: 'Compressonator - latest build',
  14. COLLAPSE_INDEX: false,
  15. FILE_SUFFIX: '.html',
  16. HAS_SOURCE: true,
  17. SOURCELINK_SUFFIX: '.txt'
  18. };
  19. </script>
  20. <script type="text/javascript" src="../_static/jquery.js"></script>
  21. <script type="text/javascript" src="../_static/underscore.js"></script>
  22. <script type="text/javascript" src="../_static/doctools.js"></script>
  23. <link rel="index" title="Index" href="../genindex.html" />
  24. <link rel="search" title="Search" href="../search.html" />
  25. <link rel="next" title="Revision History" href="../revisions.html" />
  26. <link rel="prev" title="Build from GitHub Sources" href="../build_from_source/build_instructions.html" />
  27. <link rel="stylesheet" href="../_static/custom.css" type="text/css" />
  28. <meta name="viewport" content="width=device-width, initial-scale=0.9, maximum-scale=0.9" />
  29. </head>
  30. <body>
  31. <div class="document">
  32. <div class="documentwrapper">
  33. <div class="bodywrapper">
  34. <div class="body" role="main">
  35. <div class="section" id="analysis">
  36. <h1>Analysis<a class="headerlink" href="#analysis" title="Permalink to this headline">¶</a></h1>
  37. <p>Compressonator CLI and GUI applications provides options for analysis and comparison between original and processed images.</p>
  38. <div class="section" id="test-analysis-log-features-and-file-filters">
  39. <h2>Test Analysis Log Features And File Filters<a class="headerlink" href="#test-analysis-log-features-and-file-filters" title="Permalink to this headline">¶</a></h2>
  40. <p>Ref: <a class="reference external" href="../command_line_tool/commandline.html#test-analysis-logging-features-and-file-filters">CLI Analysis Log File:</a></p>
  41. <p>Captures details of the source and destination files along with statistical data on performance and quality into a text file “process_results.txt”</p>
  42. <p>Example: <strong>CompressonatorCLI.exe&nbsp;-log&nbsp;&lt;source directory&gt;&nbsp; &lt;destination directory&gt;</strong></p>
  43. </div>
  44. <div class="section" id="compressonatorcli-analysis">
  45. <h2>CompressonatorCLI Analysis<a class="headerlink" href="#compressonatorcli-analysis" title="Permalink to this headline">¶</a></h2>
  46. <p>Compressonator CLI has a command line option to run Image Analysis on two sample images of the same dimension and format using the option -analysis</p>
  47. <p>Example:</p>
  48. <p>Step 1: Do compression on a sample source image, say we used BC7 on a source file Ruby.dds and the destination file Ruby_BC7.dds</p>
  49. <p>CompressonatorCLI.exe -fd BC7 ruby.dds ruby_bc7.dds</p>
  50. <p>Step 2: Check the result of the compressed image with the original</p>
  51. <p>CompressonatorCLI.exe -analysis ruby.dds ruby_bc7.dds</p>
  52. <p>The analysis results is saved to file Analysis_Result.xml</p>
  53. <div class="highlight-c"><div class="highlight"><pre><span></span><span class="o">&lt;?</span><span class="n">xml</span> <span class="n">version</span><span class="o">=</span><span class="s">&quot;1.0&quot;</span> <span class="n">encoding</span><span class="o">=</span><span class="s">&quot;UTF-8&quot;</span><span class="o">?&gt;</span>
  54. <span class="o">&lt;</span><span class="n">ANALYSIS</span><span class="o">&gt;</span>
  55. <span class="o">&lt;</span><span class="n">ruby_ruby_bc7</span><span class="o">&gt;</span>
  56. <span class="o">&lt;</span><span class="n">MSE</span><span class="o">&gt;</span><span class="mf">0.81335721644469494</span><span class="o">&lt;/</span><span class="n">MSE</span><span class="o">&gt;</span>
  57. <span class="o">&lt;</span><span class="n">SSIM</span><span class="o">&gt;</span><span class="mf">0.99769089871409922</span><span class="o">&lt;/</span><span class="n">SSIM</span><span class="o">&gt;</span>
  58. <span class="o">&lt;</span><span class="n">SSIM_BLUE</span><span class="o">&gt;</span><span class="mf">0.99735912437459595</span><span class="o">&lt;/</span><span class="n">SSIM_BLUE</span><span class="o">&gt;</span>
  59. <span class="o">&lt;</span><span class="n">SSIM_GREEN</span><span class="o">&gt;</span><span class="mf">0.9974541763291831</span><span class="o">&lt;/</span><span class="n">SSIM_GREEN</span><span class="o">&gt;</span>
  60. <span class="o">&lt;</span><span class="n">SSIM_RED</span><span class="o">&gt;</span><span class="mf">0.99825939543851883</span><span class="o">&lt;/</span><span class="n">SSIM_RED</span><span class="o">&gt;</span>
  61. <span class="o">&lt;</span><span class="n">PSNR</span><span class="o">&gt;</span><span class="mf">49.027990366039383</span><span class="o">&lt;/</span><span class="n">PSNR</span><span class="o">&gt;</span>
  62. <span class="o">&lt;</span><span class="n">PSNR_BLUE</span><span class="o">&gt;</span><span class="mf">48.733856839394129</span><span class="o">&lt;/</span><span class="n">PSNR_BLUE</span><span class="o">&gt;</span>
  63. <span class="o">&lt;</span><span class="n">PSNR_GREEN</span><span class="o">&gt;</span><span class="mf">49.702877166369824</span><span class="o">&lt;/</span><span class="n">PSNR_GREEN</span><span class="o">&gt;</span>
  64. <span class="o">&lt;</span><span class="n">PSNR_RED</span><span class="o">&gt;</span><span class="mf">48.71854158766061</span><span class="o">&lt;/</span><span class="n">PSNR_RED</span><span class="o">&gt;</span>
  65. <span class="o">&lt;/</span><span class="n">ruby_ruby_bc7</span><span class="o">&gt;</span>
  66. <span class="o">&lt;/</span><span class="n">ANALYSIS</span><span class="o">&gt;</span>
  67. </pre></div>
  68. </div>
  69. <p>Notice the markup label below &lt;ANALYSIS&gt; contains the source file name “ruby” and destination file name “ruby_bc7” appended by an underscore “ruby_ruby_bc7”</p>
  70. <p>SSIM is the calculated average of RGB Channels. A simple file parser can then be used to run SSIM and other Matrix analysis for test automation.</p>
  71. <p>if you wish to generate diff image file, run</p>
  72. <p>“CompressonatorCLI.exe -analysis -diff_image ruby.dds ruby_bc7.dds” in Step 2.</p>
  73. <p>A image diff (i.e. ruby_diff.bmp) will be generated. Please use the Compressonator.exe (UI app) to view the diff bmp file with adjusted brightness levels.</p>
  74. </div>
  75. <div class="section" id="analysis-for-images-in-folders">
  76. <h2>Analysis For Images In Folders<a class="headerlink" href="#analysis-for-images-in-folders" title="Permalink to this headline">¶</a></h2>
  77. <ol class="arabic simple">
  78. <li>Process a folder of images and performa analysis between images inside the source folder and destination folder</li>
  79. </ol>
  80. <p><strong>CompressonatorCLI.exe&nbsp;-fd &lt;Codec format&gt;&nbsp;&lt;source directory&gt;&nbsp; &lt;destination directory&gt;</strong></p>
  81. <p>Example: <code class="docutils literal"><span class="pre">CompressonatorCLI.exe&nbsp;-fd</span> <span class="pre">BC1&nbsp;-log&nbsp;./images&nbsp;</span> <span class="pre">./results</span></code></p>
  82. <ol class="arabic simple" start="2">
  83. <li>Generate analysis report between a source image and a processed image</li>
  84. </ol>
  85. <p><strong>CompressonatorCLI.exe -analysis &lt;source image file&gt; &lt;resulted image file&gt;</strong></p>
  86. <p>For example: <code class="docutils literal"><span class="pre">CompressonatorCLI.exe</span> <span class="pre">-analysis</span> <span class="pre">Boat.png</span> <span class="pre">result.dds</span></code></p>
  87. <p>This option will generate an Analysis_Result.xml report file which contain the SSIM, PSNR and MSE values between the original and processed textures.</p>
  88. <ol class="arabic simple" start="3">
  89. <li>Generate a difference image between a source image and a processed image</li>
  90. </ol>
  91. <p><strong>CompressonatorCLI.exe -diff_image &lt;source image file&gt; &lt;resulted image file&gt;</strong></p>
  92. <p>For example: <code class="docutils literal"><span class="pre">CompressonatorCLI.exe</span> <span class="pre">-diff_image</span> <span class="pre">Boat.png</span> <span class="pre">result.dds</span></code></p>
  93. <p>This option will generate difference between 2 images with same size. A result_diff.bmp file will be generated. Please use compressonator GUI to increase the contrast to view the diff pixels.</p>
  94. <ol class="arabic simple" start="4">
  95. <li>Print image properties of an image file.</li>
  96. </ol>
  97. <p><strong>CompressonatorCLI.exe -imageprops &lt;image file&gt;</strong></p>
  98. <p>For example: <code class="docutils literal"><span class="pre">CompressonatorCLI.exe</span> <span class="pre">-imageprops</span> <span class="pre">Boat.png</span></code></p>
  99. <p>This option will print file name, path, size, image width, height, mip levels and format.</p>
  100. </div>
  101. <div class="section" id="analysis-views">
  102. <h2>Analysis Views<a class="headerlink" href="#analysis-views" title="Permalink to this headline">¶</a></h2>
  103. <p>A new table view is provided for users to view test analysis results for performance, PSNR and SSIM analysis during and after processing of image textures. Previously in v3.1 user would have to run “Image Difference Views” on each processed texture to view PSNR and SSIM results, which ends up been very time consuming for large number of images. An amalgamated results view is now available for users to collect and review results for processed images.
  104. To enable this feature, select the “Show MSR PSNR SSIM Results” and optionally “Show Analysis Results Table” in the “Applications Settings” menu as shown:</p>
  105. <p><img alt="analysis_image1" src="../_images/cmp_v3.2_run_time_analysis.png" /></p>
  106. <p><strong>Show MSR PSNR SSIM Results</strong></p>
  107. <p>Enables the analysis results feature. Each processed item will display a MSE, PSNR and SSIM as it is been processed on the output window. A summary of the average processing time PSNR and SSIM is displayed once all processing is completed (MSR average results is not collected as its already included in the PSNR calculations).
  108. It also enables the “Show Analysis Results Table” for selection. This selection is active only when “Show MSR PSNR SSIM Results” is enabled, else the table will not be shown after processing</p>
  109. <p><img alt="analysis_image2" src="../_images/cmp_v3.2_analysis_output.png" /></p>
  110. <p><strong>Show Analysis Results Table</strong>
  111. Displays this table after any image is been processed (TIME is in Seconds, PSRN is in dB and SSIM is an index in range of 0…1)</p>
  112. <p><img alt="analysis_image3" src="../_images/image2020-3-17_13-43-45.png" /></p>
  113. <p>When processing images the table view will be displayed and can be used to gather results and analysis data for reports, by simply selecting the required rows and columns in the table then copy (Ctrl+C) and pasting (Ctrl+V) the table view.</p>
  114. <p><strong>KPerf(ms)</strong> (Beta Feature)</p>
  115. <p>This estimates the time it takes to process 1000 (4x4 pixel) blocks, using the current encoder and GPU setup. where Perf(ms) is the time it took to process a single block of 16 pixels in milliseconds.</p>
  116. <p>HPC performance monitoring uses CPU timers. while OCL &amp; DXC uses GPU performance query timers. For CPU based encoding KPerf &amp; MTx is not measured.</p>
  117. <p><strong>MTx/s</strong> (Beta Feature)</p>
  118. <p>This is a measurement of the time it takes to process 1 Million texels in a second.</p>
  119. <p><strong>Time(s)</strong></p>
  120. <p>CPU performance based timing, that measures the overall end to end time it took for the image to be processed. It includes device setup, loading image to GPU, receiving the image from GPU and file IO.</p>
  121. <p><strong>Please note the following</strong></p>
  122. <blockquote>
  123. <div><ul class="simple">
  124. <li>The table view is re-sizable by mouse clicking on and dragging the table edges and dividers.</li>
  125. <li>The resized view and table position are not saved and is reset when the GUI application is restarted.</li>
  126. <li>Table Header labels are not copied.</li>
  127. <li>Table content is cleared when any of the image textures are been reprocessed.</li>
  128. <li>When enabled, the table will remain as a topmost windows view.</li>
  129. <li>During processing the table content is been updated.</li>
  130. <li>When deselecting the analysis table view from the “Applications Settings” menu, the table will still remain visible, it is cleared only when a image is been processed.</li>
  131. </ul>
  132. </div></blockquote>
  133. </div>
  134. </div>
  135. </div>
  136. </div>
  137. </div>
  138. <div class="sphinxsidebar" role="navigation" aria-label="main navigation">
  139. <div class="sphinxsidebarwrapper">
  140. <p class="logo"><a href="../index.html">
  141. <img class="logo" src="../_static/acompress-128.png" alt="Logo"/>
  142. </a></p>
  143. <h1 class="logo"><a href="../index.html">Compressonator</a></h1>
  144. <h3>Navigation</h3>
  145. <p class="caption"><span class="caption-text">Content</span></p>
  146. <ul class="current">
  147. <li class="toctree-l1"><a class="reference internal" href="../developer_sdk/index.html">Developer SDK</a></li>
  148. <li class="toctree-l1"><a class="reference internal" href="../command_line_tool/index.html">Command Line Tool</a></li>
  149. <li class="toctree-l1"><a class="reference internal" href="../gui_tool/index.html">GUI Tool</a></li>
  150. <li class="toctree-l1"><a class="reference internal" href="../build_from_source/build_instructions.html">Build from GitHub Sources</a></li>
  151. <li class="toctree-l1 current"><a class="current reference internal" href="#">Analysis</a></li>
  152. <li class="toctree-l1"><a class="reference internal" href="../revisions.html">Revision History</a></li>
  153. <li class="toctree-l1"><a class="reference internal" href="../support/contact.html">Contact and Support</a></li>
  154. <li class="toctree-l1"><a class="reference internal" href="../support/license.html">License</a></li>
  155. <li class="toctree-l1"><a class="reference internal" href="../bibliography.html">Bibliography</a></li>
  156. </ul>
  157. <div class="relations">
  158. <h3>Related Topics</h3>
  159. <ul>
  160. <li><a href="../index.html">Documentation overview</a><ul>
  161. <li>Previous: <a href="../build_from_source/build_instructions.html" title="previous chapter">Build from GitHub Sources</a></li>
  162. <li>Next: <a href="../revisions.html" title="next chapter">Revision History</a></li>
  163. </ul></li>
  164. </ul>
  165. </div>
  166. <div id="searchbox" style="display: none" role="search">
  167. <h3>Quick search</h3>
  168. <form class="search" action="../search.html" method="get">
  169. <div><input type="text" name="q" /></div>
  170. <div><input type="submit" value="Go" /></div>
  171. <input type="hidden" name="check_keywords" value="yes" />
  172. <input type="hidden" name="area" value="default" />
  173. </form>
  174. </div>
  175. <script type="text/javascript">$('#searchbox').show(0);</script>
  176. </div>
  177. </div>
  178. <div class="clearer"></div>
  179. </div>
  180. <div class="footer">
  181. &copy;2017 to 2021, AMD Developer Tools.
  182. |
  183. Powered by <a href="http://sphinx-doc.org/">Sphinx 1.6.5</a>
  184. &amp; <a href="https://github.com/bitprophet/alabaster">Alabaster 0.7.12</a>
  185. </div>
  186. </body>
  187. </html>