15 #include <type_traits> 28 const std::string& group,
29 const std::string& container,
33 const std::string& group,
34 const std::string& container,
38 const std::string& group,
39 const std::string& container,
40 const cv::Mat& image)
const;
43 const std::string& group,
44 const std::string& metaName,
45 const YAML::Node& node)
const;
48 const std::string& group,
49 const std::string container)
const;
52 const std::string& group,
53 const std::string& container)
const;
55 virtual boost::optional<cv::Mat>
loadImage(
56 const std::string& group,
57 const std::string& container)
const;
60 const std::string& group,
61 const std::string& container,
62 YAML::Node& node)
const;
65 const std::string& group,
66 const std::string& container,
67 std::vector<size_t> &dims)
const;
70 const std::string& group,
71 const std::string& container,
72 std::vector<size_t> &dims)
const;
75 const std::string& group,
76 const std::string& container,
77 std::vector<size_t> &dims)
const;
80 const std::string& groupName,
81 const std::string& datasetName,
82 const std::vector<size_t>& dimensions,
83 const boost::shared_array<float>& data)
const;
86 const std::string& groupName,
const std::string& datasetName,
87 const std::vector<size_t>& dimensions,
88 const boost::shared_array<double>& data)
const;
91 const std::string& groupName,
const std::string& datasetName,
92 const std::vector<size_t>& dimensions,
93 const boost::shared_array<unsigned char>& data)
const;
95 virtual bool exists(
const std::string& group)
const;
96 virtual bool exists(
const std::string& group,
const std::string& container)
const;
99 virtual void subGroupNames(
const std::string& group,
const std::regex&
filter, std::vector<string>& subGroupNames)
const;
103 const std::string& groupName,
104 const std::string& datasetName,
109 const std::string& groupName,
110 const std::string& datasetName,
111 std::vector<size_t>& dim)
const;
115 const std::string& groupName,
116 const std::string& datasetName,
118 const boost::shared_array<T> data)
const;
122 const std::string& groupName,
123 const std::string& datasetName,
124 const vector<size_t>& dim,
125 const boost::shared_array<T> data)
const;
140 void save(std::string groupName,
141 std::string datasetName,
146 std::string datasetName,
151 std::string datasetName,
153 std::vector<hsize_t>& chunkSize)
const;
182 template <
typename T>
185 template <
typename T>
215 template<
typename ...Tp>
218 template<
typename ...Tp>
221 template<
typename VariantChannelT>
222 boost::optional<VariantChannelT>
load(std::string groupName, std::string datasetName)
const;
224 template<
typename VariantChannelT>
225 boost::optional<VariantChannelT>
load(
HighFive::Group& group, std::string datasetName)
const;
227 template<
typename VariantChannelT>
228 boost::optional<VariantChannelT>
loadVariantChannel(std::string groupName, std::string datasetName)
const;
230 template<
typename VariantChannelT>
233 std::string name)
const;
235 template<
typename ...Tp>
237 std::string datasetName,
242 cv::Mat
createMat(
const std::vector<size_t>& dims)
const;
256 #include "lvr2/io/descriptions/HDF5Kernel.tcc" boost::optional< VariantChannelT > loadDynamic(HighFive::DataType dtype, HighFive::Group &group, std::string name) const
virtual void saveMeshBuffer(const std::string &group, const std::string &container, const MeshBufferPtr &buffer) const
cv::Mat createMat(const std::vector< size_t > &dims) const
std::shared_ptr< MeshBuffer > MeshBufferPtr
boost::shared_array< T > loadArray(const std::string &groupName, const std::string &datasetName, size_t &size) const
virtual doubleArr loadDoubleArray(const std::string &group, const std::string &container, std::vector< size_t > &dims) const
void loadMetaData(const YAML::Node &node)
virtual void saveMetaYAML(const std::string &group, const std::string &metaName, const YAML::Node &node) const
std::shared_ptr< HighFive::File > m_hdf5File
virtual void saveDoubleArray(const std::string &groupName, const std::string &datasetName, const std::vector< size_t > &dimensions, const boost::shared_array< double > &data) const
virtual void saveImage(const std::string &group, const std::string &container, const cv::Mat &image) const
boost::optional< VariantChannelT > loadVariantChannel(std::string groupName, std::string datasetName) const
boost::shared_array< double > doubleArr
virtual void savePointBuffer(const std::string &group, const std::string &container, const PointBufferPtr &buffer) const
bool getChannel(const std::string group, const std::string name, FloatChannelOptional &channel) const
getChannel Reads a float attribute channel in the given group with the given name ...
boost::shared_array< unsigned char > ucharArr
boost::optional< VariantChannelT > load(std::string groupName, std::string datasetName) const
virtual void subGroupNames(const std::string &group, std::vector< string > &subGroupNames) const
UCharChannel::Optional UCharChannelOptional
std::shared_ptr< PointBuffer > PointBufferPtr
virtual PointBufferPtr loadPointBuffer(const std::string &group, const std::string &container) const
ChannelOptional< T > loadChannelOptional(HighFive::Group &g, const std::string &datasetName) const
virtual boost::optional< cv::Mat > loadImage(const std::string &group, const std::string &container) const
virtual void loadMetaYAML(const std::string &group, const std::string &container, YAML::Node &node) const
virtual bool exists(const std::string &group) const
boost::shared_array< float > floatArr
void filter(lvr2::PointBufferPtr &cloud, lvr2::indexArray &inlier, size_t j)
FloatChannel::Optional FloatChannelOptional
virtual floatArr loadFloatArray(const std::string &group, const std::string &container, std::vector< size_t > &dims) const
virtual ucharArr loadUCharArray(const std::string &group, const std::string &container, std::vector< size_t > &dims) const
virtual void saveFloatArray(const std::string &groupName, const std::string &datasetName, const std::vector< size_t > &dimensions, const boost::shared_array< float > &data) const
virtual MeshBufferPtr loadMeshBuffer(const std::string &group, const std::string container) const
IndexChannel::Optional IndexChannelOptional
std::shared_ptr< HDF5Kernel > HDF5KernelPtr
bool addChannel(const std::string group, const std::string name, const AttributeChannel< T > &channel) const
virtual void saveUCharArray(const std::string &groupName, const std::string &datasetName, const std::vector< size_t > &dimensions, const boost::shared_array< unsigned char > &data) const
void saveArray(const std::string &groupName, const std::string &datasetName, const size_t &size, const boost::shared_array< T > data) const
HDF5MetaDescriptionBase * m_metaDescription
typename Channel< T >::Optional ChannelOptional
void save(std::string groupName, std::string datasetName, const Channel< T > &channel) const
void saveDynamic(HighFive::Group &group, std::string datasetName, const VariantChannel< Tp... > &vchannel) const