5#include "h5baseobjectimpl.h"
7#include <h5gt/H5DataSet.hpp>
20 const std::string& segy,
21 h5geo::TextEncoding encoding =
static_cast<h5geo::TextEncoding
>(0))
override;
23 const std::string& segy,
24 h5geo::Endian endian =
static_cast<h5geo::Endian
>(0))
override;
26 const std::vector<std::string>& segyFiles,
27 std::vector<h5geo::SegyFormat> formats = std::vector<h5geo::SegyFormat>(),
28 std::vector<h5geo::Endian> endians = std::vector<h5geo::Endian>(),
29 std::vector<std::vector<std::string>> trcHdrNamesArr = std::vector<std::vector<std::string>>(),
30 size_t trcBuffer = 10000,
31 std::function<
void(
double)> progressCallback =
nullptr)
override;
33 const std::vector<std::string>& segyFiles,
34 std::vector<h5geo::SegyFormat> formats = std::vector<h5geo::SegyFormat>(),
35 std::vector<h5geo::Endian> endians = std::vector<h5geo::Endian>(),
36 std::vector<std::vector<std::string>> trcHdrNamesArr = std::vector<std::vector<std::string>>(),
37 size_t trcBuffer = 10000,
39 std::function<
void(
double)> progressCallback =
nullptr)
override;
42 virtual bool writeTextHeader(
const std::vector<std::string>& txtHdr)
override;
45 virtual bool writeBinHeader(
const std::vector<double>& binHdrVec)
override;
47 const Eigen::Ref<const Eigen::VectorXd>& binHdrVec)
override;
49 const std::string& hdrName,
51 const std::string& unitsFrom =
"",
52 const std::string& unitsTo =
"")
override;
55 Eigen::Ref<Eigen::MatrixXf> TRACE,
56 const size_t& fromTrc = 0,
57 const size_t& fromSampInd = 0,
58 const std::string& dataUnits =
"")
override;
60 Eigen::Ref<Eigen::MatrixXf> TRACE,
61 const Eigen::Ref<
const Eigen::VectorX<size_t>>& trcInd,
62 const size_t& fromSampInd = 0,
63 const std::string& dataUnits =
"")
override;
65 const Eigen::Ref<const Eigen::MatrixXd>& HDR,
66 const size_t& fromTrc = 0,
67 const size_t& fromHdrInd = 0)
override;
69 const std::string& hdrName,
70 Eigen::Ref<Eigen::MatrixXd> hdr,
71 const size_t& fromTrc = 0,
72 const std::string& unitsFrom =
"",
73 const std::string& unitsTo =
"")
override;
75 const std::string& hdrName,
76 Eigen::Ref<Eigen::MatrixXd> hdr,
77 const Eigen::Ref<
const Eigen::VectorX<size_t>>& trcInd,
78 const std::string& unitsFrom =
"",
79 const std::string& unitsTo =
"")
override;
82 const std::vector<std::string>& xyHdrNames,
83 Eigen::Ref<Eigen::MatrixX2d>& xy,
84 const size_t& fromTrc = 0,
85 const std::string& lengthUnits =
"",
86 bool doCoordTransform =
false)
override;
88 const std::vector<std::string>& xyHdrNames,
89 Eigen::Ref<Eigen::MatrixX2d>& xy,
90 const Eigen::Ref<
const Eigen::VectorX<size_t>>& trcInd,
91 const std::string& lengthUnits =
"",
92 bool doCoordTransform =
false)
override;
94 virtual bool setNTrc(
size_t nTrc)
override;
95 virtual bool setNSamp(
size_t nSamp)
override;
99 virtual std::map<std::string, double>
getBinHeader()
override;
101 const std::string& hdrName,
102 const std::string& unitsFrom =
"",
103 const std::string& unitsTo =
"")
override;
106 const size_t& fromTrc,
108 const size_t& fromSampInd = 0,
109 size_t nSamp = std::numeric_limits<size_t>::max(),
110 const std::string& dataUnits =
"")
override;
113 const Eigen::Ref<
const Eigen::VectorX<size_t>>& trcInd,
114 const size_t& fromSampInd = 0,
115 size_t nSamp = std::numeric_limits<size_t>::max(),
116 const std::string& dataUnits =
"")
override;
119 const size_t& fromTrc,
121 const size_t& fromHdr = 0,
122 size_t nHdr = std::numeric_limits<size_t>::max(),
123 const std::vector<std::string>& unitsFrom = std::vector<std::string>(),
124 const std::vector<std::string>& unitsTo = std::vector<std::string>())
override;
126 const std::string& hdrName,
127 const size_t& fromTrc = 0,
129 const std::string& unitsFrom =
"",
130 const std::string& unitsTo =
"")
override;
132 const std::vector<size_t>& trcInd,
133 const std::vector<size_t>& trcHdrInd,
134 const std::vector<std::string>& unitsFrom = std::vector<std::string>(),
135 const std::vector<std::string>& unitsTo = std::vector<std::string>())
override;
137 const Eigen::Ref<
const Eigen::VectorX<size_t>>& trcInd,
138 const Eigen::Ref<
const Eigen::VectorX<size_t>>& trcHdrInd,
139 const std::vector<std::string>& unitsFrom = std::vector<std::string>(),
140 const std::vector<std::string>& unitsTo = std::vector<std::string>())
override;
142 const std::vector<std::string>& hdrNames,
143 const std::vector<size_t>& trcInd,
144 const std::vector<std::string>& unitsFrom = std::vector<std::string>(),
145 const std::vector<std::string>& unitsTo = std::vector<std::string>())
override;
147 const std::vector<std::string>& hdrNames,
148 const Eigen::Ref<
const Eigen::VectorX<size_t>>& trcInd,
149 const std::vector<std::string>& unitsFrom = std::vector<std::string>(),
150 const std::vector<std::string>& unitsTo = std::vector<std::string>())
override;
153 const std::vector<std::string>& xyHdrNames,
154 const size_t& fromTrc = 0,
155 size_t nTrc = std::numeric_limits<size_t>::max(),
156 const std::string& lengthUnits =
"",
157 bool doCoordTransform =
false)
override;
159 const std::vector<std::string>& xyHdrNames,
160 const Eigen::Ref<
const Eigen::VectorX<size_t>>& trcInd,
161 const std::string& lengthUnits =
"",
162 bool doCoordTransform =
false)
override;
165 Eigen::MatrixXf& TRACE,
166 Eigen::MatrixXd& HDR,
167 const std::vector<std::string>& keyList,
168 const std::vector<double>& minList,
169 const std::vector<double>& maxList,
171 size_t fromSampInd = 0,
172 size_t nSamp = std::numeric_limits<size_t>::max(),
173 const std::string& dataUnits =
"",
174 const std::string& lengthUnits =
"",
175 bool doCoordTransform =
false)
override;
181 const size_t& trcInd,
182 const std::string& units =
"")
override;
184 const size_t& trcInd,
185 const std::string& units =
"")
override;
187 const size_t& trcInd,
188 const std::string& units =
"")
override;
189 virtual double getSampRate(
const std::string& units =
"")
override;
191 virtual size_t getNTrc()
override;
197 const std::string& pKey,
198 double pMin,
double pMax,
199 size_t pStep = 1)
override;
201 const std::string& pKey,
202 const std::string& unitsFrom =
"",
203 const std::string& unitsTo =
"")
override;
204 virtual size_t getPKeySize(
const std::string& pKey)
override;
206 const std::string& pKey,
207 double pMin,
double pMax,
208 size_t pStep = 1)
override;
210 const std::string& pKey,
211 double pMin,
double pMax,
212 size_t pStep = 1)
override;
213 virtual std::vector<std::string>
getPKeyNames()
override;
217 const std::string& hdrName,
218 const std::string& unitsFrom =
"",
219 const std::string& unitsTo =
"")
override;
221 const std::string& hdrName,
222 const std::string& unitsFrom =
"",
223 const std::string& unitsTo =
"")
override;
228 const size_t& fromTrc,
size_t& nTrc)
override;
231 const size_t& fromHdr,
size_t& nHdr)
override;
233 const size_t& fromSampInd,
size_t& nSamp)
override;
238 double src_x0,
double src_dx,
size_t src_nx,
239 double src_y0,
double src_dy,
size_t src_ny,
241 double rec_x0,
double rec_dx,
size_t rec_nx,
242 double rec_y0,
double rec_dy,
size_t rec_ny,
246 const std::string& lengthUnits =
"",
247 bool doCoordTransform =
false)
override;
251 double x0,
double dx,
size_t nx,
252 double y0,
double dy,
size_t ny,
255 const std::string& lengthUnits =
"",
256 bool doCoordTransform =
false)
override;
258 virtual bool setDomain(
const h5geo::Domain& val)
override;
259 virtual bool setDataType(
const h5geo::SeisDataType& val)
override;
260 virtual bool setSurveyType(
const h5geo::SurveyType& val)
override;
261 virtual bool setSRD(
double val,
const std::string& lengthUnits =
"")
override;
262 virtual bool setSampRate(
double val,
const std::string& units =
"")
override;
263 virtual bool setFirstSample(
double val,
const std::string& units =
"")
override;
265 virtual h5geo::Domain
getDomain()
override;
266 virtual h5geo::SeisDataType
getDataType()
override;
268 virtual double getSRD(
const std::string& lengthUnits =
"")
override;
270 virtual bool hasPKeySort(
const std::string& pKeyName)
override;
271 virtual bool removePKeySort(
const std::string& pKeyName)
override;
272 virtual bool addPKeySort(
const std::string& pKeyName)
override;
280 virtual std::optional<h5gt::DataSet>
getBinHeaderD()
override;
282 virtual std::optional<h5gt::DataSet>
getTraceD()
override;
283 virtual std::optional<h5gt::Group>
getSortG()
override;
284 virtual std::optional<h5gt::Group>
getUValG()
override;
285 virtual std::optional<h5gt::Group>
getIndexesG()
override;
287 virtual std::optional<h5gt::Group>
getSEGYG()
override;
296 virtual bool updatePKeySort(
const std::string& pKeyName)
override;
299 const std::string& lengthUnits =
"",
300 bool doCoordTransform =
false)
override;
303 const std::string& xHeader =
"CDP_X",
304 const std::string& yHeader =
"CDP_Y",
305 const std::string& ilHeader =
"INLINE",
306 const std::string& xlHeader =
"XLINE",
307 double ilMin = std::numeric_limits<double>::min(),
308 double ilMax = std::numeric_limits<double>::max(),
309 double xlMin = std::numeric_limits<double>::min(),
310 double xlMax = std::numeric_limits<double>::max(),
311 size_t fromSampInd = 0,
312 size_t nSamp = std::numeric_limits<size_t>::max(),
313 std::function<
void(
double)> progressCallback =
nullptr)
override;
315 virtual bool exportToSEGY(
316 const std::string& segyFile,
317 size_t trcBuffer = 10000,
318 h5geo::Endian endian = h5geo::Endian::Big,
319 std::function<
void(
double)> progressCallback =
nullptr)
override;
322 virtual Eigen::MatrixXd calcBoundaryStk2D();
323 virtual Eigen::MatrixXd calcConvexHullBoundary();
326 h5gt::DataSet traceD, traceHeaderD;
Definition h5baseobjectimpl.h:12
A container built around HDF5 file and used for storing and manipulating H5Seis objects.
Definition h5seiscontainer.h:15
Definition h5seiscontainerimpl.h:8
Provides API to work with seismic.
Definition h5seis.h:33
Definition h5seisimpl.h:12
virtual bool setFirstSample(double val, const std::string &units="") override
Set first sample.
Definition h5seisimpl.cpp:1706
virtual bool writeXYTraceHeaders(const std::vector< std::string > &xyHdrNames, Eigen::Ref< Eigen::MatrixX2d > &xy, const size_t &fromTrc=0, const std::string &lengthUnits="", bool doCoordTransform=false) override
Write XY trace headers (two columns in Eigen column-major matrix)
Definition h5seisimpl.cpp:412
virtual bool setNTrc(size_t nTrc) override
Resize trace and trace header DataSets.
Definition h5seisimpl.cpp:515
virtual std::vector< std::string > getPKeyNames() override
Get names of prepared PKeys (names of prepared sortings PKeys)
Definition h5seisimpl.cpp:1358
virtual std::vector< std::string > getTextHeader() override
Get text header.
Definition h5seisimpl.cpp:548
virtual size_t getPKeyTraceSize(const std::string &pKey, double pMin, double pMax, size_t pStep=1) override
Get number of traces to be selected for a given PKey
Definition h5seisimpl.cpp:1312
virtual bool writeTrace(Eigen::Ref< Eigen::MatrixXf > TRACE, const size_t &fromTrc=0, const size_t &fromSampInd=0, const std::string &dataUnits="") override
Write block of traces starting from trace fromTrc and from sample fromSampInd
Definition h5seisimpl.cpp:285
virtual std::optional< h5gt::DataSet > getTextHeaderD() override
Get text header DataSet.
Definition h5seisimpl.cpp:1869
virtual bool setNSamp(size_t nSamp) override
Resize trace DataSet.
Definition h5seisimpl.cpp:533
virtual ptrdiff_t getBinHeaderIndex(const std::string &hdrName) override
Get index (position within 1D dataset) for a given binary header.
Definition h5seisimpl.cpp:1014
virtual H5SeisContainer * openSeisContainer() override
Open H5SeisContainer where current seismic resides.
Definition h5seisimpl.cpp:1862
virtual bool writeBinHeader(const double(&binHdr)[30]) override
Write binary header.
Definition h5seisimpl.cpp:217
virtual Eigen::VectorXd getPKeyValues(const std::string &pKey, const std::string &unitsFrom="", const std::string &unitsTo="") override
Get PKey unique values.
Definition h5seisimpl.cpp:1215
virtual Eigen::MatrixXd getTraceHeader(const size_t &fromTrc, size_t nTrc=1, const size_t &fromHdr=0, size_t nHdr=std::numeric_limits< size_t >::max(), const std::vector< std::string > &unitsFrom=std::vector< std::string >(), const std::vector< std::string > &unitsTo=std::vector< std::string >()) override
Get block of trace headers.
Definition h5seisimpl.cpp:691
virtual std::optional< h5gt::DataSet > getBinHeaderD() override
Get binary header DataSet.
Definition h5seisimpl.cpp:1876
virtual bool exportToVol(H5Vol *vol, const std::string &xHeader="CDP_X", const std::string &yHeader="CDP_Y", const std::string &ilHeader="INLINE", const std::string &xlHeader="XLINE", double ilMin=std::numeric_limits< double >::min(), double ilMax=std::numeric_limits< double >::max(), double xlMin=std::numeric_limits< double >::min(), double xlMax=std::numeric_limits< double >::max(), size_t fromSampInd=0, size_t nSamp=std::numeric_limits< size_t >::max(), std::function< void(double)> progressCallback=nullptr) override
Export seismic to H5Vol.
Definition h5seisimpl.cpp:2099
virtual bool generateSTKGeometry(double x0, double dx, size_t nx, double y0, double dy, size_t ny, double z, double orientation, const std::string &lengthUnits="", bool doCoordTransform=false) override
Definition h5seisimpl.cpp:1608
virtual size_t getNTrcHdr() override
Definition h5seisimpl.cpp:1141
virtual bool updateTraceHeaderLimits(size_t nTrcBuffer=1e7) override
Calculate and write min/max trace headers.
Definition h5seisimpl.cpp:2016
virtual bool setSampRate(double val, const std::string &units="") override
Set sampling rate.
Definition h5seisimpl.cpp:1696
virtual bool addPKeySort(const std::string &pKeyName) override
Prepare sorting.
Definition h5seisimpl.cpp:1795
virtual Eigen::MatrixXf getTrace(const size_t &fromTrc, size_t nTrc=1, const size_t &fromSampInd=0, size_t nSamp=std::numeric_limits< size_t >::max(), const std::string &dataUnits="") override
Get block of traces.
Definition h5seisimpl.cpp:621
virtual size_t getNTextHdrRows() override
Get number of text header rows.
Definition h5seisimpl.cpp:1154
virtual bool checkTraceHeaderLimits(const size_t &fromHdr, size_t &nHdr) override
Check fromHdr and nHdr (passed by reference) and diminish nHdr to fit in data limits (if fromTrc is i...
Definition h5seisimpl.cpp:1519
virtual bool setSRD(double val, const std::string &lengthUnits="") override
Set Seismic Reference Datum.
Definition h5seisimpl.cpp:1689
virtual bool checkTraceLimits(const size_t &fromTrc, size_t &nTrc) override
Check fromTrc, nTrc (passed by reference) and diminish nTrc to fit in data limits (if fromTrc is insi...
Definition h5seisimpl.cpp:1505
virtual std::optional< h5gt::DataSet > getSEGYTraceHeader4BytesD() override
Get SEGY 4-bytes trace header DataSet (for mapped H5Seis only)
Definition h5seisimpl.cpp:1990
virtual bool setSurveyType(const h5geo::SurveyType &val) override
Set survey type for the seismic (TWO_D or THREE_D)
Definition h5seisimpl.cpp:1682
virtual std::optional< h5gt::Group > getSortG() override
Get sorting Group.
Definition h5seisimpl.cpp:1895
virtual bool updateTraceHeaderNSamp() override
Set trace header number of samples from binary header.
Definition h5seisimpl.cpp:1857
virtual bool checkSampleLimits(const size_t &fromSampInd, size_t &nSamp) override
Check fromSampInd and nSamp (passed by reference) and diminish nSamp to fit in data limits (if fromSa...
Definition h5seisimpl.cpp:1534
virtual std::optional< h5gt::Group > getUValG() override
Get sorting unique values Group.
Definition h5seisimpl.cpp:1902
virtual std::optional< h5gt::DataSet > getSEGYTextHeaderD() override
Get SEGY text header DataSet (for mapped H5Seis only)
Definition h5seisimpl.cpp:1938
virtual std::optional< h5gt::DataSet > getSEGYBinHeader2BytesD() override
Get SEGY 2-bytes binary header DataSet (for mapped H5Seis only)
Definition h5seisimpl.cpp:1951
virtual Eigen::VectorXd getSamples(const size_t &trcInd, const std::string &units="") override
Get vector of equally spaced samples in specified units.
Definition h5seisimpl.cpp:1038
virtual bool generatePRESTKGeometry(double src_x0, double src_dx, size_t src_nx, double src_y0, double src_dy, size_t src_ny, double src_z, double rec_x0, double rec_dx, size_t rec_nx, double rec_y0, double rec_dy, size_t rec_ny, double rec_z, double orientation, bool moveRec, const std::string &lengthUnits="", bool doCoordTransform=false) override
Definition h5seisimpl.cpp:1549
virtual size_t getNBinHdr() override
Get number of binary headers.
Definition h5seisimpl.cpp:1146
virtual bool readSEGYTracesMMap(const std::vector< std::string > &segyFiles, std::vector< h5geo::SegyFormat > formats=std::vector< h5geo::SegyFormat >(), std::vector< h5geo::Endian > endians=std::vector< h5geo::Endian >(), std::vector< std::vector< std::string > > trcHdrNamesArr=std::vector< std::vector< std::string > >(), size_t trcBuffer=10000, int nThreads=-1, std::function< void(double)> progressCallback=nullptr) override
Read trace headers and trace data from SEGY file using Memory Mapping.
Definition h5seisimpl.cpp:113
virtual bool updateTraceHeaderSampRate() override
Set trace header samp rate from binary header.
Definition h5seisimpl.cpp:1838
virtual std::optional< h5gt::Group > getIndexesG() override
Get sorting indexes Group.
Definition h5seisimpl.cpp:1916
virtual bool setDataType(const h5geo::SeisDataType &val) override
Set datatype for the seismic (STACK or PRESTACK)
Definition h5seisimpl.cpp:1675
virtual Eigen::MatrixXd getXYTraceHeaders(const std::vector< std::string > &xyHdrNames, const size_t &fromTrc=0, size_t nTrc=std::numeric_limits< size_t >::max(), const std::string &lengthUnits="", bool doCoordTransform=false) override
Get XY trace headers (two columns in Eigen column-major matrix)
Definition h5seisimpl.cpp:847
virtual std::map< std::string, double > getTraceHeaderMin() override
Get trace header minimal values.
Definition h5seisimpl.cpp:1366
virtual std::optional< h5gt::DataSet > getSEGYBinHeader4BytesD() override
Get SEGY 4-bytes binary header DataSet (for mapped H5Seis only)
Definition h5seisimpl.cpp:1964
virtual Eigen::MatrixXd calcBoundary(const std::string &lengthUnits="", bool doCoordTransform=false) override
Calculate XY boundary around the survey.
Definition h5seisimpl.cpp:2062
virtual bool readSEGYTextHeader(const std::string &segy, h5geo::TextEncoding encoding=static_cast< h5geo::TextEncoding >(0)) override
Read text header from SEGY file.
Definition h5seisimpl.cpp:26
virtual Eigen::VectorX< size_t > getPKeyIndexes(const std::string &pKey, double pMin, double pMax, size_t pStep=1) override
Get trace indexes for given PKey
Definition h5seisimpl.cpp:1162
virtual h5geo::Domain getDomain() override
Get domain (TVD, TVDSS, TWT, OWT)
Definition h5seisimpl.cpp:1730
virtual double getFirstSample(const size_t &trcInd, const std::string &units="") override
Get first sample.
Definition h5seisimpl.cpp:1079
virtual bool updatePKeySort(const std::string &pKeyName) override
Update sorting for prepared PKey
Definition h5seisimpl.cpp:2056
virtual Eigen::VectorX< size_t > getSortedData(Eigen::MatrixXf &TRACE, Eigen::MatrixXd &HDR, const std::vector< std::string > &keyList, const std::vector< double > &minList, const std::vector< double > &maxList, size_t pStep=1, size_t fromSampInd=0, size_t nSamp=std::numeric_limits< size_t >::max(), const std::string &dataUnits="", const std::string &lengthUnits="", bool doCoordTransform=false) override
Get sorted data based on precalculated primary sort keys.
Definition h5seisimpl.cpp:930
virtual double getSRD(const std::string &lengthUnits="") override
Get Seismic Reference Datum.
Definition h5seisimpl.cpp:1748
virtual std::optional< h5gt::DataSet > getTraceD() override
Get trace DataSet.
Definition h5seisimpl.cpp:1889
virtual size_t getNSamp() override
Get number of samples.
Definition h5seisimpl.cpp:1131
virtual H5SeisParam getParam() override
Get parameters that were used to create current seis.
Definition h5seisimpl.cpp:1473
virtual bool writeTraceHeader(const Eigen::Ref< const Eigen::MatrixXd > &HDR, const size_t &fromTrc=0, const size_t &fromHdrInd=0) override
Write block of trace headers starting from trace fromTrc and from header index fromHdrInd
Definition h5seisimpl.cpp:345
virtual bool hasPKeySort(const std::string &pKeyName) override
Check if PKey sort is prepared.
Definition h5seisimpl.cpp:1755
virtual h5geo::SurveyType getSurveyType() override
Set survey type for the seismic (TWO_D or THREE_D)
Definition h5seisimpl.cpp:1742
virtual bool readSEGYTraces(const std::vector< std::string > &segyFiles, std::vector< h5geo::SegyFormat > formats=std::vector< h5geo::SegyFormat >(), std::vector< h5geo::Endian > endians=std::vector< h5geo::Endian >(), std::vector< std::vector< std::string > > trcHdrNamesArr=std::vector< std::vector< std::string > >(), size_t trcBuffer=10000, std::function< void(double)> progressCallback=nullptr) override
Read trace headers and trace data from SEGY file.
Definition h5seisimpl.cpp:48
virtual bool writeTextHeader(const char(&txtHdr)[40][80]) override
Write text header.
Definition h5seisimpl.cpp:180
virtual bool removePKeySort(const std::string &pKeyName) override
Remove PKey sorting.
Definition h5seisimpl.cpp:1777
virtual bool setDomain(const h5geo::Domain &val) override
Set domain for the seismic (TVD, TVDSS, TWT, OWT)
Definition h5seisimpl.cpp:1668
virtual std::map< std::string, double > getTraceHeaderMax() override
Get trace header maximal values.
Definition h5seisimpl.cpp:1388
virtual ptrdiff_t getTraceHeaderIndex(const std::string &hdrName) override
Get index (row/col within 2D dataset) for a given trace header.
Definition h5seisimpl.cpp:1028
virtual std::map< std::string, double > getBinHeader() override
Get binary header.
Definition h5seisimpl.cpp:569
virtual size_t getNTrc() override
Get number of traces.
Definition h5seisimpl.cpp:1136
virtual std::optional< h5gt::DataSet > getSEGYTraceHeader2BytesD() override
Get SEGY 2-bytes trace header DataSet (for mapped H5Seis only)
Definition h5seisimpl.cpp:1977
virtual std::optional< h5gt::Group > getSEGYG() override
Get SEGY Group (for mapped H5Seis only)
Definition h5seisimpl.cpp:1929
virtual bool readSEGYBinHeader(const std::string &segy, h5geo::Endian endian=static_cast< h5geo::Endian >(0)) override
Read binary header from SEGY file.
Definition h5seisimpl.cpp:37
virtual double getSampRate(const std::string &units="") override
Get sampling rate.
Definition h5seisimpl.cpp:1111
virtual h5geo::SeisDataType getDataType() override
Get datatype for the seismic (STACK or PRESTACK)
Definition h5seisimpl.cpp:1736
virtual double getLastSample(const size_t &trcInd, const std::string &units="") override
Get last sample.
Definition h5seisimpl.cpp:1106
virtual std::optional< h5gt::DataSet > getTraceHeaderD() override
Get trace header DataSet.
Definition h5seisimpl.cpp:1883
virtual std::optional< h5gt::DataSet > getSEGYTraceFloatD() override
Get SEGY float trace DataSet (for mapped H5Seis only)
Definition h5seisimpl.cpp:2003
virtual size_t getPKeySize(const std::string &pKey) override
Get number of unique values for a given PKey
Definition h5seisimpl.cpp:1246
Provides API to work with volumes.
Definition h5vol.h:15
H5GEO_EXPORT H5Seis * openSeis(h5gt::Group group)
Factory function for opening H5Seis.
Definition h5baseimpl.cpp:2053
Class for creating H5Seis.
Definition h5base.h:165