diff --git a/src/main/java/azgracompress/benchmark/SQBenchmark.java b/src/main/java/azgracompress/benchmark/SQBenchmark.java index 50b9e0f373bf289626341187da40701abd8ba901..a26b41e1f883845edc23ceca5b3bc0a21f298404 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 1e431ebb0e9ef376b4136ab41cf01524c72069a1..565bc98bfdb5560536ae36b612c512d5abeabb9c 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;