5#include "h5baseobjectimpl.h"
10 explicit H5VolImpl(
const h5gt::Group &group);
16 Eigen::Ref<Eigen::MatrixXf> data,
23 const std::string& dataUnits =
"")
override;
26 const std::string& segy,
27 const size_t& ilHdrOffset,
28 const size_t& ilHdrSize,
29 const size_t& xlHdrOffset,
30 const size_t& xlHdrSize,
31 const size_t& xHdrOffset,
32 const size_t& xHdrSize,
33 const size_t& yHdrOffset,
34 const size_t& yHdrSize,
38 h5geo::SegyFormat format =
static_cast<h5geo::SegyFormat
>(0),
39 h5geo::Endian endian =
static_cast<h5geo::Endian
>(0),
40 std::function<
void(
double)> progressCallback =
nullptr)
override;
42 virtual bool setDomain(
const h5geo::Domain& domain)
override;
44 Eigen::Ref<Eigen::Vector3d> v,
45 const std::string& lengthUnits =
"",
46 const std::string& temporalUnits =
"",
47 bool doCoordTransform =
false)
override;
49 Eigen::Ref<Eigen::Vector3d> v,
50 const std::string& lengthUnits =
"",
51 const std::string& temporalunits =
"")
override;
54 const std::string& angularUnits =
"")
override;
57 size_t nx,
size_t ny,
size_t nz)
override;
59 virtual Eigen::MatrixXf
getData(
66 const std::string& dataUnits =
"")
override;
68 virtual h5geo::Domain
getDomain()
override;
70 const std::string& lengthUnits =
"",
71 const std::string& temporalUnits =
"",
72 bool doCoordTransform =
false)
override;
74 const std::string& lengthUnits =
"",
75 const std::string& temporalUnits =
"")
override;
77 const std::string& angularUnits =
"")
override;
78 virtual size_t getNX()
override;
79 virtual size_t getNY()
override;
80 virtual size_t getNZ()
override;
86 virtual std::optional<h5gt::DataSet>
getVolD()
const override;
88 virtual bool exportToSEGY(
89 const std::string& segyFile,
90 h5geo::Endian endian = h5geo::Endian::Big,
91 std::function<
void(
double)> progressCallback =
nullptr)
override;
94 size_t nX,
size_t nY,
size_t nZ,
95 size_t xChunk,
size_t yChunk,
size_t zChunk,
96 unsigned compressionLevel)
override;
Definition h5baseobjectimpl.h:12
A container built around HDF5 file and used for storing and manipulating H5Vol objects.
Definition h5volcontainer.h:15
Definition h5volcontainerimpl.h:8
Provides API to work with volumes.
Definition h5vol.h:15
virtual H5VolParam getParam() override
Get parameters that were used to create current map.
Definition h5volimpl.cpp:390
virtual bool recreateVolD(size_t nX, size_t nY, size_t nZ, size_t xChunk, size_t yChunk, size_t zChunk, unsigned compressionLevel) override
Unlink and create new dataset without copying data.
Definition h5volimpl.cpp:558
virtual bool readSEGYSTACK(const std::string &segy, const size_t &ilHdrOffset, const size_t &ilHdrSize, const size_t &xlHdrOffset, const size_t &xlHdrSize, const size_t &xHdrOffset, const size_t &xHdrSize, const size_t &yHdrOffset, const size_t &yHdrSize, double sampRate, size_t nSamp=0, size_t nTrc=0, h5geo::SegyFormat format=static_cast< h5geo::SegyFormat >(0), h5geo::Endian endian=static_cast< h5geo::Endian >(0), std::function< void(double)> progressCallback=nullptr) override
Read SEGY STACK data, i.e. nTrc should be equal to nil*nxl. After reading origin, spacings,...
Definition h5volimpl.cpp:52
virtual bool setDomain(const h5geo::Domain &domain) override
Set domain for the map (TVD, TVDSS, TWT, OWT)
Definition h5volimpl.cpp:80
virtual size_t getNY() override
Get number of Y values.
Definition h5volimpl.cpp:364
virtual bool setSpacings(Eigen::Ref< Eigen::Vector3d > v, const std::string &lengthUnits="", const std::string &temporalunits="") override
Set X,Y,Z unrotated spacings.
Definition h5volimpl.cpp:137
virtual Eigen::VectorXd getOrigin(const std::string &lengthUnits="", const std::string &temporalUnits="", bool doCoordTransform=false) override
Get coordinates of origin.
Definition h5volimpl.cpp:249
virtual size_t getNZ() override
Get number of Z values.
Definition h5volimpl.cpp:377
virtual size_t getNX() override
Get number of X values.
Definition h5volimpl.cpp:351
virtual double getOrientation(const std::string &angularUnits="") override
Get XY plane orientation.
Definition h5volimpl.cpp:342
virtual bool setOrientation(double val, const std::string &angularUnits="") override
Set XY plane orientation.
Definition h5volimpl.cpp:174
virtual Eigen::VectorXd getSpacings(const std::string &lengthUnits="", const std::string &temporalUnits="") override
Get X,Y,Z unrotated spacings.
Definition h5volimpl.cpp:302
virtual Eigen::MatrixXf getData(const size_t &iX0, const size_t &iY0, const size_t &iZ0, const size_t &nX, const size_t &nY, const size_t &nZ, const std::string &dataUnits="") override
Read subvolume starting from iX0, iY0, iZ0 indices. data matrix is of size: nRows=nX,...
Definition h5volimpl.cpp:205
virtual bool resize(size_t nx, size_t ny, size_t nz) override
Resize volume.
Definition h5volimpl.cpp:184
virtual bool setOrigin(Eigen::Ref< Eigen::Vector3d > v, const std::string &lengthUnits="", const std::string &temporalUnits="", bool doCoordTransform=false) override
Set coordinates of origin.
Definition h5volimpl.cpp:87
virtual bool writeData(Eigen::Ref< Eigen::MatrixXf > data, const size_t &iX0, const size_t &iY0, const size_t &iZ0, const size_t &nX, const size_t &nY, const size_t &nZ, const std::string &dataUnits="") override
Write subvolume starting from iX0, iY0, iZ0 indices. data matrix is of size: nRows=nX,...
Definition h5volimpl.cpp:16
virtual h5geo::Domain getDomain() override
Get domain (TVD, TVDSS, TWT, OWT)
Definition h5volimpl.cpp:243
virtual std::optional< h5gt::DataSet > getVolD() const override
Get current vol's DataSet.
Definition h5volimpl.cpp:448
virtual H5VolContainer * openVolContainer() const override
Open H5VolContainer where current vol resides.
Definition h5volimpl.cpp:441
H5GEO_EXPORT H5Vol * openVol(h5gt::Group group)
Factory function for opening H5Vol.
Definition h5baseimpl.cpp:2080
Class for creating H5Vol.
Definition h5base.h:116