OpenEV
Extending OpenCV to event-based vision
Toggle main menu visibility
Loading...
Searching...
No Matches
hdf5-reader.hpp
Go to the documentation of this file.
1
6
#ifndef OPENEV_READERS_HDF5_READER_HPP
7
#define OPENEV_READERS_HDF5_READER_HPP
8
9
#include "openev/readers/abstract-reader.hpp"
10
#include <H5Cpp.h>
11
#include <cstddef>
12
#include <string>
13
#include <vector>
14
15
namespace
ev {
16
constexpr
bool
USING_HDF5_READER_HPP =
true
;
17
36
class
HDF5Reader :
public
AbstractReader_
{
37
public
:
38
explicit
HDF5Reader(
const
std::string &filename,
39
const
std::string &t_path =
"/events/t"
,
40
const
std::string &x_path =
"/events/x"
,
41
const
std::string &y_path =
"/events/y"
,
42
const
std::string &p_path =
"/events/p"
,
43
std::size_t buffer_size = 0,
44
bool
use_threading =
false
);
45
~HDF5Reader()
override
=
default
;
46
48
HDF5Reader(
const
HDF5Reader &) =
delete
;
49
HDF5Reader(HDF5Reader &&)
noexcept
=
delete
;
50
HDF5Reader &operator=(
const
HDF5Reader &) =
delete
;
51
HDF5Reader &operator=(HDF5Reader &&)
noexcept
=
delete
;
53
54
private
:
55
H5::H5File file_;
56
H5::DataSet t_ds_, x_ds_, y_ds_, p_ds_;
57
hsize_t total_{0};
58
hsize_t file_pos_{0};
59
60
static
constexpr
hsize_t kChunk = 4096;
61
std::vector<double> t_buf_;
62
std::vector<int> x_buf_;
63
std::vector<int> y_buf_;
64
std::vector<int> p_buf_;
65
hsize_t buf_pos_{0};
66
hsize_t buf_size_{0};
67
68
bool
updateBuffer_()
override
;
69
};
70
71
}
// namespace ev
72
73
#endif
// OPENEV_READERS_HDF5_READER_HPP
ev::AbstractReader_::AbstractReader_
AbstractReader_(const std::size_t buffer_size, const bool use_threading)
Constructor for AbstractReader_.
Definition
abstract-reader.cpp:8
modules
readers
include
openev
readers
hdf5-reader.hpp
Generated by
1.17.0