From 72ae0207a49090ff441ba1ba9837e1f5e6f065e4 Mon Sep 17 00:00:00 2001 From: Andrej Babic Date: Wed, 22 Apr 2020 16:51:05 +0200 Subject: [PATCH] First version of sf writer --- sf-writer/sf_h5_writer.cpp | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/sf-writer/sf_h5_writer.cpp b/sf-writer/sf_h5_writer.cpp index 03f5d25..b3e2d84 100644 --- a/sf-writer/sf_h5_writer.cpp +++ b/sf-writer/sf_h5_writer.cpp @@ -10,6 +10,7 @@ #include #include #include +#include using namespace std; @@ -32,6 +33,9 @@ int main (int argc, char *argv[]) uint64_t start_pulse_id = (uint64_t) atoll(argv[2]); uint64_t stop_pulse_id = (uint64_t) atoll(argv[3]); + H5Writer writer(output_file); + writer.create_file(); + auto ctx = zmq_ctx_new(); zmq_ctx_set (ctx, ZMQ_IO_THREADS, 16); @@ -60,7 +64,9 @@ int main (int argc, char *argv[]) auto metadata_buffer = make_unique(); - auto image_buffer = make_unique(512 * 1024); + auto image_buffer = make_unique(32*512*1024); + + int i_write = 0; while (true) { uint64_t pulse_id = 0; @@ -90,7 +96,7 @@ int main (int argc, char *argv[]) auto n_bytes_image = zmq_recv( sockets[i], - image_buffer.get(), + (image_buffer.get() + (512*1024*i)), 512 * 1024 * 2, 0); @@ -100,6 +106,10 @@ int main (int argc, char *argv[]) } } + writer.write_data("image", i_write, (char*) (image_buffer.get()), + {32*512, 1024}, 32*512*1024*2, "uint16", "little"); + i_write++; + auto end_time = chrono::steady_clock::now(); cout << pulse_id << " took "; @@ -107,6 +117,8 @@ int main (int argc, char *argv[]) cout << " ms" << endl; } + writer.close_file(); + for (size_t i=0; i