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
[[maybe_unused]]
constexpr
bool
USING_HDF5_READER_HPP =
true
;
17
33
class
HDF5Reader :
public
AbstractReader_
{
34
public
:
35
explicit
HDF5Reader(
const
std::string &filename,
36
const
std::string &t_path =
"/events/t"
,
37
const
std::string &x_path =
"/events/x"
,
38
const
std::string &y_path =
"/events/y"
,
39
const
std::string &p_path =
"/events/p"
);
40
~HDF5Reader()
override
;
41
43
HDF5Reader(
const
HDF5Reader &) =
delete
;
44
HDF5Reader(HDF5Reader &&)
noexcept
=
delete
;
45
HDF5Reader &operator=(
const
HDF5Reader &) =
delete
;
46
HDF5Reader &operator=(HDF5Reader &&)
noexcept
=
delete
;
48
49
private
:
50
H5::H5File file_;
51
H5::DataSet t_ds_, x_ds_, y_ds_, p_ds_;
52
hsize_t total_{0};
53
hsize_t file_pos_{0};
54
55
static
constexpr
hsize_t kChunk = 4096;
56
std::vector<double> t_buf_;
57
std::vector<int> x_buf_;
58
std::vector<int> y_buf_;
59
std::vector<int> p_buf_;
60
hsize_t buf_pos_{0};
61
hsize_t buf_size_{0};
62
63
std::size_t read_(
Event
*
events
,
const
std::size_t max)
override
;
64
void
reset_()
override
;
65
};
66
67
}
// namespace ev
68
69
#endif
// OPENEV_READERS_HDF5_READER_HPP
abstract-reader.hpp
Abstract base class for event readers.
ev::AbstractReader_
This is an auxiliary class. This class cannot be instanced.
Definition
abstract-reader.hpp:28
ev::AbstractReader_::events
ConcurrentQueue & events(const std::size_t n=0)
Read a given number of events, add them to the queue, and return it.
Definition
abstract-reader.hpp:46
ev::Event
Eventi Event
Definition
types.hpp:262
modules
readers
include
openev
readers
hdf5-reader.hpp
Generated by
1.17.0