LZW coder/decoder project for Data Compression on WUT
Implementacja kodeka znajduje się w folderze 'codec'.
- kompilator c++ ze standardem 14
- CMake
KODA-LZW$ cd codec
KODA-LZW/codec$ mkdir build
KODA-LZW/codec$ cd build
KODA-LZW/codec/build$ cmake ..
KODA-LZW/codec/build$ make
Skompilowana biblioteka zostanie umieszczona w folderze 'KODA-LZW/codec/lib'.
Wrapper pythonowy kodeka LZW znajduje się w pliku 'KODA-LZW/python_scrypt/codec.py'.
Wrapper przygotowany jest do wykorzystywania biblioteki nazwanej 'libCodec_lzw.so' znajdującej się w 'codec/lib/' (ścieżka względna, względem folderu uruchomienia skrytpów pythonowych). Jest to nazwa i ścieżka poprawna dla wykonania kompilacji kodeka za pomocą CMake na systemie linux i uruchomienia skryptów pythonowych z poziomu głównego folderu projektu - 'KODA-LZW'.
Aby wykorzystać wrapper w innym systemie, po pszemieszczeniu (instalacji) biblioteki, lub wywołaniu skryptów z innego folderu należy uaktualnić ścieżkę znajdującą się w 3 linii pliku wrappera ('KODA-LZW/python_scrypt/codec.py').
libc = CDLL("codec/lib/libCodec_lzw.so")
Tester wymaga wcześniejszego skompilowania biblioteki c++ kodeka LZW (patrz rozdział 'Kodek LZW').
Dane testowe umieszczone są w folderze 'data'.
Uzyskane histogramy umieszczane są w folderze 'histograms'.
Pozostałe dane umieszczane są w pliku 'LZW_results.csv'.
Funkcje służace do wczytania oraz analizy danych i wyników znajdują się w pliku 'KODA-LZW/python_scrypt/data_analysis.py'.
KODA-LZW$ pip3 install -r requirements.txt
KODA-LZW$ python3 test_codec.py
Skrypt należy uruchamiać z poziomu folderu głównego projektu - 'KODA-LZW' (patrz 'UWAGA' w rozdziale 'Wrapper kodeka LZW').