Skip to content
Snippets Groups Projects
Commit 3804d8d7 authored by Vojtech Moravec's avatar Vojtech Moravec
Browse files

Report MSE and PSNR on benchmark. Fix typo.

parent 78cbb486
No related branches found
No related tags found
No related merge requests found
...@@ -83,7 +83,7 @@ public class SQBenchmark extends BenchmarkBase { ...@@ -83,7 +83,7 @@ public class SQBenchmark extends BenchmarkBase {
final int[] diffArray = Utils.getDifference(planeData, quantizedData); final int[] diffArray = Utils.getDifference(planeData, quantizedData);
final double mse = Utils.calculateMse(diffArray); final double mse = Utils.calculateMse(diffArray);
final double PSNR = Utils.calculatePsnr(mse, U16.Max); 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));
} }
......
package azgracompress.benchmark; package azgracompress.benchmark;
import azgracompress.U16;
import azgracompress.cache.QuantizationCacheManager; import azgracompress.cache.QuantizationCacheManager;
import azgracompress.cli.ParsedCliOptions; import azgracompress.cli.ParsedCliOptions;
import azgracompress.data.*; import azgracompress.data.*;
...@@ -7,6 +8,7 @@ import azgracompress.quantization.vector.LBGResult; ...@@ -7,6 +8,7 @@ import azgracompress.quantization.vector.LBGResult;
import azgracompress.quantization.vector.LBGVectorQuantizer; import azgracompress.quantization.vector.LBGVectorQuantizer;
import azgracompress.quantization.vector.VQCodebook; import azgracompress.quantization.vector.VQCodebook;
import azgracompress.quantization.vector.VectorQuantizer; import azgracompress.quantization.vector.VectorQuantizer;
import azgracompress.utilities.Utils;
import java.io.File; import java.io.File;
...@@ -116,10 +118,16 @@ public class VQBenchmark extends BenchmarkBase { ...@@ -116,10 +118,16 @@ public class VQBenchmark extends BenchmarkBase {
final int[][] quantizedData = quantizer.quantize(planeData, workerCount); final int[][] quantizedData = quantizer.quantize(planeData, workerCount);
// TODO(Moravec): Add huffman coding.
final ImageU16 quantizedImage = reconstructImageFromQuantizedVectors(plane, quantizedData, qVector); 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)) { if (!saveQuantizedPlaneData(quantizedImage.getData(), quantizedFile)) {
System.err.println("Failed to save quantized plane."); System.err.println("Failed to save quantized plane.");
return; return;
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment