Beispiel #1
0
        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));
        }
Beispiel #2
0
        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);
        }
Beispiel #3
0
        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;
 }