public void EncodeAndDecodeWithCalicPredictorCustomTxtLena256AnCreatesAFileIndenticalWithTheOriginal() { IImageReader txtImageReader = new TxtAsImageReader(); _gz2DlzEncoderFacade.InputFilePath = _lenna256anTxtFileName; _gz2DlzEncoderFacade.AbstractPredictor = new ABasedPredictor(); _gz2DlzEncoderFacade.ImageReader = txtImageReader; _gz2DlzEncoderFacade.Archiver = new Paq6V2Archiver(); _encoder = new Gz2DlzEncoder(_gz2DlzEncoderFacade); var inputFilePath = $"{_lenna256anTxtFileName}.mat"; gz2DlzDecoderFacade = new Gz2DlzDecoderFacade(); gz2DlzDecoderFacade.InputFilePath = inputFilePath; gz2DlzDecoderFacade.AbstractPredictor = new ABasedPredictor(); gz2DlzDecoderFacade.Archiver = new Paq6V2Archiver(); _decoder = new Gz2DlzDecoder(gz2DlzDecoderFacade); _encoder.Encode(); _encoder.WriteMatrixToFileAsText(); _decoder.LoadMatrixFromTxtFile(); _decoder.Decode(); _decoder.SaveOriginalImageAsTxtFile(); var filename = $"{_lenna256anTxtFileName}.mat.decoded.txt"; var originalFile = GetContentWithoutNewLines(_lenna256anTxtFileName).Replace("256 256 ", ""); var decodedFile = GetContentWithoutNewLines(filename); Assert.AreEqual(originalFile.Length, decodedFile.Length); Assert.IsTrue(string.Equals(originalFile, decodedFile)); }
public void EncodeAndDecodeWithAPredictorAndBitOperationsPeppersBmpResultsTheSamePixels() { var aBasedPredictor = new ABasedPredictor(); var paq6V2Archiver = new Paq6V2Archiver(); _gz2DlzEncoderFacade.InputFilePath = _peppers512; _gz2DlzEncoderFacade.AbstractPredictor = aBasedPredictor; _gz2DlzEncoderFacade.ImageReader = _bmpImageReader; _gz2DlzEncoderFacade.Archiver = paq6V2Archiver; _encoder = new Gz2DlzEncoder(_gz2DlzEncoderFacade); var inputFilePath = _peppers512 + G2_2D_LZ.Helpers.Constants.Folder + Constants.Paq6Extension; gz2DlzDecoderFacade = new Gz2DlzDecoderFacade(); gz2DlzDecoderFacade.InputFilePath = inputFilePath; gz2DlzDecoderFacade.AbstractPredictor = aBasedPredictor; gz2DlzDecoderFacade.Archiver = paq6V2Archiver; _decoder = new Gz2DlzDecoder(gz2DlzDecoderFacade); _encoder.Encode(); _decoder.Decode(); var workImage = _decoder.WorkImage; CompareValueWithPixelFromBmp(_peppers512, workImage); }
public void EncodeAndDecodeWithCalicPredictorLenaBmpResultsTheSamePixels() { _gz2DlzEncoderFacade.InputFilePath = _lenna256anBmpPath; _gz2DlzEncoderFacade.AbstractPredictor = new CalicPredictor(); _gz2DlzEncoderFacade.ImageReader = _bmpImageReader; _gz2DlzEncoderFacade.Archiver = new Paq6V2Archiver(); _encoder = new Gz2DlzEncoder(_gz2DlzEncoderFacade); var inputFilePath = _lenna256anBmpPath + G2_2D_LZ.Helpers.Constants.Folder + Constants.Paq6Extension; gz2DlzDecoderFacade = new Gz2DlzDecoderFacade(); gz2DlzDecoderFacade.InputFilePath = inputFilePath; gz2DlzDecoderFacade.AbstractPredictor = new CalicPredictor(); gz2DlzDecoderFacade.Archiver = new Paq6V2Archiver(); _decoder = new Gz2DlzDecoder(gz2DlzDecoderFacade); _encoder.Encode(); _decoder.Decode(); var workImage = _decoder.WorkImage; CompareValueWithPixelFromBmp(_lenna256anBmpPath, workImage); }
private void SetTestBmpGz2DlzDecoderFacade() { gz2DlzDecoderFacade = new Gz2DlzDecoderFacade(); gz2DlzDecoderFacade.InputFilePath = _testBmpMatFileName; gz2DlzDecoderFacade.AbstractPredictor = new ABasedPredictor(); }
public Gz2DlzDecoder(IGz2DlzDecoderFacade gz2DlzDecoderFacade) { _gz2DlzDecoderFacade = gz2DlzDecoderFacade; }