diff --git a/lib/src/H5Writer.cpp b/lib/src/H5Writer.cpp index 0d879af..b4baa70 100644 --- a/lib/src/H5Writer.cpp +++ b/lib/src/H5Writer.cpp @@ -12,7 +12,7 @@ extern "C" using namespace std; -std::unique_ptr get_h5_writer(const string& filename, hsize_t total_frames, hsize_t frames_per_file, +std::unique_ptr get_h5_writer(const string& filename, hsize_t frames_per_file, hsize_t initial_dataset_size, hsize_t dataset_increase_step) { if (filename == "/dev/null") { @@ -24,7 +24,7 @@ std::unique_ptr get_h5_writer(const string& filename, hsize_t total_fr H5Writer::H5Writer(const std::string& filename, hsize_t frames_per_file, hsize_t initial_dataset_size, hsize_t dataset_increase_step) : - filename(filename), total_frames(total_frames), frames_per_file(frames_per_file), + filename(filename), frames_per_file(frames_per_file), initial_dataset_size(initial_dataset_size), dataset_increase_step(dataset_increase_step) { #ifdef DEBUG_OUTPUT diff --git a/lib/src/H5Writer.hpp b/lib/src/H5Writer.hpp index 654b8b9..fcdcf81 100644 --- a/lib/src/H5Writer.hpp +++ b/lib/src/H5Writer.hpp @@ -10,30 +10,31 @@ class H5Writer { - // Initialized in constructor. - const std::string filename; - hsize_t frames_per_file; - hsize_t initial_dataset_size; - hsize_t dataset_increase_step = 0; + protected: + // Initialized in constructor. + const std::string filename; + hsize_t frames_per_file; + hsize_t initial_dataset_size; + hsize_t dataset_increase_step = 0; - // State variables. - hsize_t max_data_index = 0; - hsize_t current_frame_chunk = 0; + // State variables. + hsize_t max_data_index = 0; + hsize_t current_frame_chunk = 0; - H5::H5File file; - std::unordered_map datasets; - std::unordered_map datasets_current_size; - - hsize_t prepare_storage_for_data(const std::string& dataset_name, const size_t data_index, const std::vector& data_shape, - const std::string& data_type, const std::string& endianness); + H5::H5File file; + std::unordered_map datasets; + std::unordered_map datasets_current_size; + + hsize_t prepare_storage_for_data(const std::string& dataset_name, const size_t data_index, const std::vector& data_shape, + const std::string& data_type, const std::string& endianness); - void create_file(const hsize_t frame_chunk=0); + void create_file(const hsize_t frame_chunk=0); - void create_dataset(const std::string& dataset_name, const std::vector& data_shape, - const std::string& data_type, const std::string& endianness); + void create_dataset(const std::string& dataset_name, const std::vector& data_shape, + const std::string& data_type, const std::string& endianness); public: - H5Writer(const std::string& filename hsize_t frames_per_file=0, hsize_t initial_dataset_size=1000, hsize_t dataset_increase_step=1000); + H5Writer(const std::string& filename, hsize_t frames_per_file=0, hsize_t initial_dataset_size=1000, hsize_t dataset_increase_step=1000); virtual ~H5Writer(); virtual bool is_file_open() const; virtual void close_file(); @@ -53,7 +54,7 @@ class DummyH5Writer : public H5Writer H5::H5File& get_h5_file(); }; -std::unique_ptr get_h5_writer(const std::string& filename, hsize_t total_frames, hsize_t frames_per_file=0, +std::unique_ptr get_h5_writer(const std::string& filename, hsize_t frames_per_file=0, hsize_t initial_dataset_size=1000, hsize_t dataset_increase_step=1000); #endif \ No newline at end of file diff --git a/lib/src/ProcessManager.cpp b/lib/src/ProcessManager.cpp index 0c2b7fc..26abc60 100644 --- a/lib/src/ProcessManager.cpp +++ b/lib/src/ProcessManager.cpp @@ -149,8 +149,7 @@ void ProcessManager::receive_zmq() void ProcessManager::write_h5() { - auto writer = get_h5_writer(writer_manager.get_output_file(), writer_manager.get_n_frames(), frames_per_file, - config::initial_dataset_size, config::dataset_increase_step); + auto writer = get_h5_writer(writer_manager.get_output_file(), frames_per_file, config::initial_dataset_size, config::dataset_increase_step); auto raw_frames_dataset_name = config::raw_image_dataset_name;