Skip to content
Snippets Groups Projects
Commit 619881b7 authored by theazgra's avatar theazgra
Browse files

Work on cleanup branch.

parent cb52ae8f
No related branches found
No related tags found
No related merge requests found
Showing
with 124 additions and 50 deletions
cmake_minimum_required(VERSION 3.8.0)
project(czi-parser VERSION 0.1.0)
# include(CTest)
# enable_testing()
add_executable(czi-parser main.cpp)
add_executable(${PROJECT_NAME} main.cpp)
set(CMAKE_CXX_FLAGS "-Wall -DBZ_NO_STDIO")
......@@ -14,30 +11,30 @@ set(Boost_USE_STATIC_RUNTIME OFF)
find_package(Boost REQUIRED COMPONENTS filesystem locale)
if(Boost_FOUND)
include_directories(${Boost_INCLUDE_DIRS})
target_link_libraries(czi-parser ${Boost_LIBRARIES})
target_link_libraries(${PROJECT_NAME} ${Boost_LIBRARIES})
message("LINKED BOOST")
endif()
find_package (Threads)
target_link_libraries (czi-parser ${CMAKE_THREAD_LIBS_INIT})
target_link_libraries (${PROJECT_NAME} ${CMAKE_THREAD_LIBS_INIT})
find_package(ZLIB)
if(ZLIB_FOUND)
target_link_libraries(czi-parser ${ZLIB_LIBRARIES})
target_link_libraries(${PROJECT_NAME} ${ZLIB_LIBRARIES})
message("LINKED ZLIB")
endif(ZLIB_FOUND)
find_package(LibLZMA)
if (LIBLZMA_FOUND)
include_directories(${LIBLZMA_INCLUDE_DIRS})
target_link_libraries(czi-parser ${LIBLZMA_LIBRARIES})
target_link_libraries(${PROJECT_NAME} ${LIBLZMA_LIBRARIES})
message("LINKED LIBLZMA")
endif()
find_package(BZip2)
if(BZIP2_FOUND)
include_directories(${BZIP2_INCLUDE_DIRS})
target_link_libraries(czi-parser ${BZIP2_LIBRARIES})
target_link_libraries(${PROJECT_NAME} ${BZIP2_LIBRARIES})
message("LINKED BZIP2")
endif(BZIP2_FOUND)
......@@ -49,6 +46,12 @@ if (OPENMP_FOUND)
message("ENABLED OpenMP")
endif()
# add_subdirectory(azgra_lib)
target_link_libraries(${PROJECT_NAME} PUBLIC
azgra_lib)
# add_library(BSDIFF "utilities/bsdiff/bsdiff.h" "utilities/bsdiff/bsdiff.c")
# include_directories("utilities/bsdiff/")
# target_link_libraries(czi-parser BSDIFF)
......
gzip (zlib) compress2
http://refspecs.linuxbase.org/LSB_3.0.0/LSB-Core-generic/LSB-Core-generic/zlib-compress2-1.html
lzma
bzip2
filename;subblock;pixel;width;height;compression;level;originalSize;compressedSize;compressedZ;compressionRatio;compressionRatioZ;compressionTime;compressionTimeZ
cmake_minimum_required(VERSION 3.0.0)
project(semestral-project)
add_subdirectory(azgra_lib)
add_subdirectory(app)
\ No newline at end of file
cmake_minimum_required(VERSION 3.8.0)
project(czi)
add_executable(${PROJECT_NAME} main.cpp
src/czi/czi_file.cpp
src/czi/czi_parser.cpp
src/image/image_matrix.cpp
src/compression/benchmark.cpp
)
include_directories(${PROJECT_SOURCE_DIR}/include)
target_link_libraries(${PROJECT_NAME} sub::azgra)
set(CMAKE_CXX_FLAGS "-Wall -DBZ_NO_STDIO")
set(Boost_USE_MULTITHREADED ON)
set(Boost_USE_STATIC_RUNTIME OFF)
find_package(Boost REQUIRED COMPONENTS filesystem locale)
if(Boost_FOUND)
include_directories(${Boost_INCLUDE_DIRS})
target_link_libraries(${PROJECT_NAME} ${Boost_LIBRARIES})
message("LINKED BOOST")
endif()
find_package (Threads REQUIRED)
target_link_libraries (${PROJECT_NAME} ${CMAKE_THREAD_LIBS_INIT})
find_package(ZLIB)
if(ZLIB_FOUND)
target_link_libraries(${PROJECT_NAME} ${ZLIB_LIBRARIES})
message("LINKED ZLIB")
endif(ZLIB_FOUND)
find_package(LibLZMA)
if (LIBLZMA_FOUND)
include_directories(${LIBLZMA_INCLUDE_DIRS})
target_link_libraries(${PROJECT_NAME} ${LIBLZMA_LIBRARIES})
message("LINKED LIBLZMA")
endif()
find_package(BZip2)
if(BZIP2_FOUND)
include_directories(${BZIP2_INCLUDE_DIRS})
target_link_libraries(${PROJECT_NAME} ${BZIP2_LIBRARIES})
message("LINKED BZIP2")
endif(BZIP2_FOUND)
find_package(OpenMP)
if (OPENMP_FOUND)
set (CMAKE_C_FLAGS "${CMAKE_C_FLAGS} ${OpenMP_C_FLAGS}")
set (CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${OpenMP_CXX_FLAGS}")
set (CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} ${OpenMP_EXE_LINKER_FLAGS}")
message("ENABLED OpenMP")
endif()
# set(CPACK_PROJECT_NAME ${PROJECT_NAME})
# set(CPACK_PROJECT_VERSION ${PROJECT_VERSION})
# include(CPack)
\ No newline at end of file
......@@ -4,10 +4,10 @@
namespace _bsdiff
{
#define new _new
#include "lib_bsdiff/bsdiff.h"
#include "lib_bsdiff/bsdiff.c"
#include "lib_bsdiff/bspatch.h"
#include "lib_bsdiff/bspatch.c"
#include "bsdiff.h"
#include "bsdiff.c"
#include "bspatch.h"
#include "bspatch.c"
#undef new
struct bsdiff_read_info
......
#pragma once
#include "compressors.h"
#include "../czi_file.h"
#include "../file_system.h"
#include "../stream/memory_bit_stream.h"
#include <czi/czi_file.h>
#include <filesystem/file_system.h>
#include <azgra/stream/memory_bit_stream.h>
#include <bsdiff/api_bsdiff.h>
#include <iomanip>
#include <thread>
#include "../utilities/api_bsdiff.h"
struct BaseBenchmarkRecord
{
......@@ -89,8 +90,8 @@ struct DiffBenchmarkRecord : BaseBenchmarkRecord
};
// Raw Compression benchmark functions.
static void write_compression_report(const std::vector<BaseBenchmarkRecord> &results, const std::string &reportFile);
static void compression_thread_work(const ByteArray &data, CompressionMethod method, int compressionLevel, CompressionResult &result, const char *info);
void write_compression_report(const std::vector<BaseBenchmarkRecord> &results, const std::string &reportFile);
void compression_thread_work(const ByteArray &data, CompressionMethod method, int compressionLevel, CompressionResult &result, const char *info);
static std::vector<BaseBenchmarkRecord> benchmark_continuos_compression_one_level(const ByteArray &data, const ByteArray &zOrderedData, int compressionLevel);
void benchmark_continuos_compression(CziFile &cziFile, const std::string &reportFile, bool verbose, int level = -1);
void benchmark_compression(CziFile &cziFile, const std::string &reportFile, bool verbose, int level = -1);
......@@ -101,6 +102,4 @@ void value_diff_by_prev_frame_benchmark(CziFile &cziFile, const std::string &rep
void bsdiff_by_prev_frame_benchmark(CziFile &cziFile, const std::string &reportFile, bool verbose, CompressionMethod cm, int level, bool firstFrameDiff);
static void write_diff_report(const std::vector<DiffBenchmarkRecord> &results, const std::string &reportFile);
#include "benchmark.cpp"
\ No newline at end of file
void write_diff_report(const std::vector<DiffBenchmarkRecord> &results, const std::string &reportFile);
#pragma once
#include "../custom_types.h"
#include "../utilities/vector_utilities.h"
#include "../image/z_order.h"
#include "../utilities/Stopwatch.h"
#include <azgra/utilities/vector_utilities.h>
#include <azgra/utilities/z_order.h>
#include <azgra/utilities/Stopwatch.h>
#include <custom_types.h>
namespace library_zlib
{
......
#pragma once
#include <azgra/azgra.h>
// Define to 1 or true to enable very verbose logging of parser.
#define VERBOSE_PARSER 0
constexpr bool NOT_IMPLEMENTED_YET = false;
#define MUST_BE_IMPLEMENTED always_assert(false);
#define TagType std::string, std::string
typedef std::pair<TagType> Tag;
constexpr char GZIP_NAME[] = "GZIP";
constexpr char LZMA_NAME[] = "LZMA";
constexpr char BZIP2_NAME[] = "BZIP2";
\ No newline at end of file
#pragma once
#include <map>
#include "czi_parts/segments.h"
#include "utilities/type_mapper.h"
#include "stream/binary_file_stream.h"
#include "stream/binary_writer.h"
#include "image/image_matrix.h"
#include "image/z_order.h"
#include "compression/compressors.h"
#include "file_system.h"
#include <czi/czi_parts/segments.h>
#include <azgra/utilities/type_mapper.h>
#include <azgra/stream/binary_file_stream.h>
#include <azgra/stream/binary_writer.h>
#include <image/image_matrix.h>
#include <azgra/utilities/z_order.h>
#include <compression/compressors.h>
#include <filesystem/file_system.h>
//TODO: Handle multi-file scenarios.
class CziFile
......@@ -53,6 +55,4 @@ public:
void test_compression(CompressionMethod method, bool verbose, int compressionLevel) const;
// Get subblocks grouped by their channels.
std::vector<std::pair<uint, std::vector<uint>>> get_subblocks_grouped_by_channels() const;
};
#include "czi_file.cpp"
\ No newline at end of file
};
\ No newline at end of file
#pragma once
#include "czi_file.h"
#include "stream/binary_file_stream.h"
#include "stream/buffered_binary_stream.h"
#include "utilities/xml_parser.h"
#include <azgra/stream/binary_file_stream.h>
#include <azgra/stream/buffered_binary_stream.h>
class CziParser
{
......@@ -27,6 +26,4 @@ public:
CziParser(bool parseMetadata = true);
~CziParser();
CziFile parse_czi_file(const std::string &file);
};
#include "czi_parser.cpp"
\ No newline at end of file
};
\ No newline at end of file
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment