From 3804d8d7831545e1461313acfbf3623bdf6f12f0 Mon Sep 17 00:00:00 2001
From: Vojtech Moravec <vojtech.moravec.st@vsb.cz>
Date: Sat, 28 Mar 2020 16:48:04 +0100
Subject: [PATCH] Report MSE and PSNR on benchmark. Fix typo.

---
 .../java/azgracompress/benchmark/SQBenchmark.java    |  2 +-
 .../java/azgracompress/benchmark/VQBenchmark.java    | 12 ++++++++++--
 2 files changed, 11 insertions(+), 3 deletions(-)

diff --git a/src/main/java/azgracompress/benchmark/SQBenchmark.java b/src/main/java/azgracompress/benchmark/SQBenchmark.java
index 50b9e0f..a26b41e 100644
--- a/src/main/java/azgracompress/benchmark/SQBenchmark.java
+++ b/src/main/java/azgracompress/benchmark/SQBenchmark.java
@@ -83,7 +83,7 @@ public class SQBenchmark extends BenchmarkBase {
                 final int[] diffArray = Utils.getDifference(planeData, quantizedData);
                 final double mse = Utils.calculateMse(diffArray);
                 final double PSNR = Utils.calculatePsnr(mse, U16.Max);
-                System.out.println(String.format("MSE: %.4f\tPNSR: %.4f(dB)", mse, PSNR));
+                System.out.println(String.format("MSE: %.4f\tPSNR: %.4f(dB)", mse, PSNR));
             }
 
 
diff --git a/src/main/java/azgracompress/benchmark/VQBenchmark.java b/src/main/java/azgracompress/benchmark/VQBenchmark.java
index 1e431eb..565bc98 100644
--- a/src/main/java/azgracompress/benchmark/VQBenchmark.java
+++ b/src/main/java/azgracompress/benchmark/VQBenchmark.java
@@ -1,5 +1,6 @@
 package azgracompress.benchmark;
 
+import azgracompress.U16;
 import azgracompress.cache.QuantizationCacheManager;
 import azgracompress.cli.ParsedCliOptions;
 import azgracompress.data.*;
@@ -7,6 +8,7 @@ import azgracompress.quantization.vector.LBGResult;
 import azgracompress.quantization.vector.LBGVectorQuantizer;
 import azgracompress.quantization.vector.VQCodebook;
 import azgracompress.quantization.vector.VectorQuantizer;
+import azgracompress.utilities.Utils;
 
 import java.io.File;
 
@@ -116,10 +118,16 @@ public class VQBenchmark extends BenchmarkBase {
 
             final int[][] quantizedData = quantizer.quantize(planeData, workerCount);
 
-            // TODO(Moravec): Add huffman coding.
-
             final ImageU16 quantizedImage = reconstructImageFromQuantizedVectors(plane, quantizedData, qVector);
 
+            {
+
+                final int[] diffArray = Utils.getDifference(plane.getData(), quantizedImage.getData());
+                final double mse = Utils.calculateMse(diffArray);
+                final double PSNR = Utils.calculatePsnr(mse, U16.Max);
+                System.out.println(String.format("MSE: %.4f\tPSNR: %.4f(dB)", mse, PSNR));
+            }
+
             if (!saveQuantizedPlaneData(quantizedImage.getData(), quantizedFile)) {
                 System.err.println("Failed to save quantized plane.");
                 return;
-- 
GitLab