![]() |
h5geo 0.4.0
C++17 and python API to work with geo-data (seismic, wells, maps, other in process) based on HDF5. Aimed at geoscientists and developers.
|
Provides API to work with seismic. More...
#include <h5seis.h>
Public Member Functions | |
| virtual bool | readSEGYTextHeader (const std::string &segy, h5geo::TextEncoding encoding=static_cast< h5geo::TextEncoding >(0))=0 |
Read text header from SEGY file. | |
| virtual bool | readSEGYBinHeader (const std::string &segy, h5geo::Endian endian=static_cast< h5geo::Endian >(0))=0 |
Read binary header from SEGY file. | |
| 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)=0 |
Read trace headers and trace data from SEGY file. | |
| 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)=0 |
Read trace headers and trace data from SEGY file using Memory Mapping. | |
| virtual bool | writeTextHeader (const char(&txtHdr)[40][80])=0 |
| Write text header. | |
| virtual bool | writeTextHeader (const std::vector< std::string > &txtHdr)=0 |
| Write text header. | |
| virtual bool | writeBinHeader (const double(&binHdr)[30])=0 |
| Write binary header. | |
| virtual bool | writeBinHeader (const std::vector< double > &binHdrVec)=0 |
| Write text header. | |
| virtual bool | writeBinHeader (const Eigen::Ref< const Eigen::VectorXd > &binHdrVec)=0 |
| Write text header. | |
| virtual bool | writeBinHeader (const std::string &hdrName, const double &value, const std::string &unitsFrom="", const std::string &unitsTo="")=0 |
| Write text header. | |
| virtual bool | writeTrace (Eigen::Ref< Eigen::MatrixXf > TRACE, const size_t &fromTrc=0, const size_t &fromSampInd=0, const std::string &dataUnits="")=0 |
Write block of traces starting from trace fromTrc and from sample fromSampInd | |
| virtual bool | writeTrace (Eigen::Ref< Eigen::MatrixXf > TRACE, const Eigen::Ref< const Eigen::VectorX< size_t > > &trcInd, const size_t &fromSampInd=0, const std::string &dataUnits="")=0 |
| Write traces using indexes. | |
| virtual bool | writeTraceHeader (const Eigen::Ref< const Eigen::MatrixXd > &HDR, const size_t &fromTrc=0, const size_t &fromHdrInd=0)=0 |
Write block of trace headers starting from trace fromTrc and from header index fromHdrInd | |
| virtual bool | writeTraceHeader (const std::string &hdrName, Eigen::Ref< Eigen::MatrixXd > hdr, const size_t &fromTrc=0, const std::string &unitsFrom="", const std::string &unitsTo="")=0 |
| Write trace header by name. | |
| virtual bool | writeTraceHeader (const std::string &hdrName, Eigen::Ref< Eigen::MatrixXd > hdr, const Eigen::Ref< const Eigen::VectorX< size_t > > &trcInd, const std::string &unitsFrom="", const std::string &unitsTo="")=0 |
| Write trace header by name and trace indexes. | |
| 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)=0 |
Write XY trace headers (two columns in Eigen column-major matrix) | |
| virtual bool | writeXYTraceHeaders (const std::vector< std::string > &xyHdrNames, Eigen::Ref< Eigen::MatrixX2d > &xy, const Eigen::Ref< const Eigen::VectorX< size_t > > &trcInd, const std::string &lengthUnits="", bool doCoordTransform=false)=0 |
Write XY trace headers (two columns in Eigen column-major matrix) | |
| virtual bool | setNTrc (size_t nTrc)=0 |
| Resize trace and trace header DataSets. | |
| virtual bool | setNSamp (size_t nSamp)=0 |
| Resize trace DataSet. | |
| virtual std::vector< std::string > | getTextHeader ()=0 |
| Get text header. | |
| virtual std::map< std::string, double > | getBinHeader ()=0 |
| Get binary header. | |
| virtual double | getBinHeader (const std::string &hdrName, const std::string &unitsFrom="", const std::string &unitsTo="")=0 |
| Get text header by name. | |
| 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="")=0 |
| Get block of traces. | |
| virtual Eigen::MatrixXf | getTrace (const Eigen::Ref< const Eigen::VectorX< size_t > > &trcInd, const size_t &fromSampInd=0, size_t nSamp=std::numeric_limits< size_t >::max(), const std::string &dataUnits="")=0 |
| Get traces by indexes. | |
| 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 >())=0 |
| Get block of trace headers. | |
| virtual Eigen::VectorXd | getTraceHeader (const std::string &hdrName, const size_t &fromTrc=0, size_t nTrc=1, const std::string &unitsFrom="", const std::string &unitsTo="")=0 |
| Get block of trace header by name. | |
| virtual Eigen::MatrixXd | getTraceHeader (const std::vector< size_t > &trcInd, const std::vector< size_t > &trcHdrInd, const std::vector< std::string > &unitsFrom=std::vector< std::string >(), const std::vector< std::string > &unitsTo=std::vector< std::string >())=0 |
| Get trace headers by indexes. | |
| virtual Eigen::MatrixXd | getTraceHeader (const Eigen::Ref< const Eigen::VectorX< size_t > > &trcInd, const Eigen::Ref< const Eigen::VectorX< size_t > > &trcHdrInd, const std::vector< std::string > &unitsFrom=std::vector< std::string >(), const std::vector< std::string > &unitsTo=std::vector< std::string >())=0 |
| Get trace headers by indexes. | |
| virtual Eigen::MatrixXd | getTraceHeader (const std::vector< std::string > &hdrNames, const std::vector< size_t > &trcInd, const std::vector< std::string > &unitsFrom=std::vector< std::string >(), const std::vector< std::string > &unitsTo=std::vector< std::string >())=0 |
| Get trace header by indexes and name. | |
| virtual Eigen::MatrixXd | getTraceHeader (const std::vector< std::string > &hdrNames, const Eigen::Ref< const Eigen::VectorX< size_t > > &trcInd, const std::vector< std::string > &unitsFrom=std::vector< std::string >(), const std::vector< std::string > &unitsTo=std::vector< std::string >())=0 |
| Get trace headers by indexes and names. | |
| 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)=0 |
Get XY trace headers (two columns in Eigen column-major matrix) | |
| virtual Eigen::MatrixXd | getXYTraceHeaders (const std::vector< std::string > &xyHdrNames, const Eigen::Ref< const Eigen::VectorX< size_t > > &trcInd, const std::string &lengthUnits="", bool doCoordTransform=false)=0 |
Get XY trace headers (two columns in Eigen column-major matrix) | |
| 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)=0 |
| Get sorted data based on precalculated primary sort keys. | |
| virtual ptrdiff_t | getBinHeaderIndex (const std::string &hdrName)=0 |
| Get index (position within 1D dataset) for a given binary header. | |
| virtual ptrdiff_t | getTraceHeaderIndex (const std::string &hdrName)=0 |
| Get index (row/col within 2D dataset) for a given trace header. | |
| virtual Eigen::VectorXd | getSamples (const size_t &trcInd, const std::string &units="")=0 |
| Get vector of equally spaced samples in specified units. | |
| virtual double | getFirstSample (const size_t &trcInd, const std::string &units="")=0 |
| Get first sample. | |
| virtual double | getLastSample (const size_t &trcInd, const std::string &units="")=0 |
| Get last sample. | |
| virtual double | getSampRate (const std::string &units="")=0 |
| Get sampling rate. | |
| virtual size_t | getNSamp ()=0 |
| Get number of samples. | |
| virtual size_t | getNTrc ()=0 |
| Get number of traces. | |
| virtual size_t | getNTrcHdr ()=0 |
| Get number trace headers (usually 78) | |
| virtual size_t | getNBinHdr ()=0 |
| Get number of binary headers. | |
| virtual size_t | getNTextHdrRows ()=0 |
| Get number of text header rows. | |
| virtual Eigen::VectorX< size_t > | getPKeyIndexes (const std::string &pKey, double pMin, double pMax, size_t pStep=1)=0 |
Get trace indexes for given PKey | |
| virtual Eigen::VectorXd | getPKeyValues (const std::string &pKey, const std::string &unitsFrom="", const std::string &unitsTo="")=0 |
Get PKey unique values. | |
| virtual size_t | getPKeySize (const std::string &pKey)=0 |
Get number of unique values for a given PKey | |
| virtual size_t | getPKeySize (const std::string &pKey, double pMin, double pMax, size_t pStep=1)=0 |
Get number of unique values for a given PKey | |
| virtual size_t | getPKeyTraceSize (const std::string &pKey, double pMin, double pMax, size_t pStep=1)=0 |
Get number of traces to be selected for a given PKey | |
| virtual std::vector< std::string > | getPKeyNames ()=0 |
Get names of prepared PKeys (names of prepared sortings PKeys) | |
| virtual std::map< std::string, double > | getTraceHeaderMin ()=0 |
| Get trace header minimal values. | |
| virtual std::map< std::string, double > | getTraceHeaderMax ()=0 |
| Get trace header maximal values. | |
| virtual double | getTraceHeaderMin (const std::string &hdrName, const std::string &unitsFrom="", const std::string &unitsTo="")=0 |
| Get trace header minimal value for a given trace header. | |
| virtual double | getTraceHeaderMax (const std::string &hdrName, const std::string &unitsFrom="", const std::string &unitsTo="")=0 |
| Get trace header maximal value for a given trace header. | |
| virtual H5SeisParam | getParam ()=0 |
| Get parameters that were used to create current seis. | |
| virtual bool | checkTraceLimits (const size_t &fromTrc, size_t &nTrc)=0 |
Check fromTrc, nTrc (passed by reference) and diminish nTrc to fit in data limits (if fromTrc is inside limit) | |
| virtual bool | checkTraceHeaderLimits (const size_t &fromHdr, size_t &nHdr)=0 |
Check fromHdr and nHdr (passed by reference) and diminish nHdr to fit in data limits (if fromTrc is inside limit) | |
| virtual bool | checkSampleLimits (const size_t &fromSampInd, size_t &nSamp)=0 |
Check fromSampInd and nSamp (passed by reference) and diminish nSamp to fit in data limits (if fromSampInd is inside limit) | |
| 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)=0 |
Convenient function to prepare geometry for PRESTACK data. | |
| 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)=0 |
Convenient function to prepare geometry for STACK data. | |
| virtual bool | setDomain (const h5geo::Domain &domain)=0 |
Set domain for the seismic (TVD, TVDSS, TWT, OWT) | |
| virtual bool | setDataType (const h5geo::SeisDataType &seisType)=0 |
Set datatype for the seismic (STACK or PRESTACK) | |
| virtual bool | setSurveyType (const h5geo::SurveyType &surveyType)=0 |
Set survey type for the seismic (TWO_D or THREE_D) | |
| virtual bool | setSRD (double val, const std::string &lengthUnits="")=0 |
| Set Seismic Reference Datum. | |
| virtual bool | setSampRate (double val, const std::string &units="")=0 |
| Set sampling rate. | |
| virtual bool | setFirstSample (double val, const std::string &units="")=0 |
| Set first sample. | |
| virtual h5geo::Domain | getDomain ()=0 |
Get domain (TVD, TVDSS, TWT, OWT) | |
| virtual h5geo::SeisDataType | getDataType ()=0 |
Get datatype for the seismic (STACK or PRESTACK) | |
| virtual h5geo::SurveyType | getSurveyType ()=0 |
Set survey type for the seismic (TWO_D or THREE_D) | |
| virtual double | getSRD (const std::string &lengthUnits="")=0 |
| Get Seismic Reference Datum. | |
| virtual bool | hasPKeySort (const std::string &pKeyName)=0 |
Check if PKey sort is prepared. | |
| virtual bool | removePKeySort (const std::string &pKeyName)=0 |
Remove PKey sorting. | |
| virtual bool | addPKeySort (const std::string &pKeyName)=0 |
| Prepare sorting. | |
| virtual bool | updateTraceHeaderSampRate ()=0 |
| Set trace header samp rate from binary header. | |
| virtual bool | updateTraceHeaderNSamp ()=0 |
| Set trace header number of samples from binary header. | |
| virtual H5SeisContainer * | openSeisContainer ()=0 |
| Open H5SeisContainer where current seismic resides. | |
| virtual std::optional< h5gt::DataSet > | getTextHeaderD ()=0 |
| Get text header DataSet. | |
| virtual std::optional< h5gt::DataSet > | getBinHeaderD ()=0 |
| Get binary header DataSet. | |
| virtual std::optional< h5gt::DataSet > | getTraceHeaderD ()=0 |
| Get trace header DataSet. | |
| virtual std::optional< h5gt::DataSet > | getTraceD ()=0 |
| Get trace DataSet. | |
| virtual std::optional< h5gt::Group > | getSortG ()=0 |
| Get sorting Group. | |
| virtual std::optional< h5gt::Group > | getUValG ()=0 |
| Get sorting unique values Group. | |
| virtual std::optional< h5gt::Group > | getIndexesG ()=0 |
| Get sorting indexes Group. | |
| virtual std::optional< h5gt::Group > | getSEGYG ()=0 |
Get SEGY Group (for mapped H5Seis only) | |
| virtual std::optional< h5gt::DataSet > | getSEGYTextHeaderD ()=0 |
Get SEGY text header DataSet (for mapped H5Seis only) | |
| virtual std::optional< h5gt::DataSet > | getSEGYBinHeader2BytesD ()=0 |
Get SEGY 2-bytes binary header DataSet (for mapped H5Seis only) | |
| virtual std::optional< h5gt::DataSet > | getSEGYBinHeader4BytesD ()=0 |
Get SEGY 4-bytes binary header DataSet (for mapped H5Seis only) | |
| virtual std::optional< h5gt::DataSet > | getSEGYTraceHeader2BytesD ()=0 |
Get SEGY 2-bytes trace header DataSet (for mapped H5Seis only) | |
| virtual std::optional< h5gt::DataSet > | getSEGYTraceHeader4BytesD ()=0 |
Get SEGY 4-bytes trace header DataSet (for mapped H5Seis only) | |
| virtual std::optional< h5gt::DataSet > | getSEGYTraceFloatD ()=0 |
Get SEGY float trace DataSet (for mapped H5Seis only) | |
| virtual bool | updateTraceHeaderLimits (size_t nTrcBuffer=1e7)=0 |
| Calculate and write min/max trace headers. | |
| virtual bool | updatePKeySort (const std::string &pKeyName)=0 |
Update sorting for prepared PKey | |
| virtual Eigen::MatrixXd | calcBoundary (const std::string &lengthUnits="", bool doCoordTransform=false)=0 |
Calculate XY boundary around the survey. | |
| 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)=0 |
Export seismic to H5Vol. | |
| virtual bool | exportToSEGY (const std::string &segyFile, size_t trcBuffer=10000, h5geo::Endian endian=h5geo::Endian::Big, std::function< void(double)> progressCallback=nullptr)=0 |
Public Member Functions inherited from H5BaseObject | |
| virtual H5BasePoints * | openPoints (const std::string &name)=0 |
| Open H5BasePoints derived points. | |
| virtual H5BasePoints * | openPoints (h5gt::Group group)=0 |
| Open H5BasePoints derived points. | |
| virtual H5Horizon * | openHorizon (const std::string &name)=0 |
| virtual H5Horizon * | openHorizon (h5gt::Group group)=0 |
| virtual H5Points1 * | createPoints1 (std::string &name, H5PointsParam &p, h5geo::CreationType createFlag)=0 |
| virtual H5Points1 * | createPoints1 (h5gt::Group group, H5PointsParam &p, h5geo::CreationType createFlag)=0 |
| virtual H5Points2 * | createPoints2 (std::string &name, H5PointsParam &p, h5geo::CreationType createFlag)=0 |
| virtual H5Points2 * | createPoints2 (h5gt::Group group, H5PointsParam &p, h5geo::CreationType createFlag)=0 |
| virtual H5Points3 * | createPoints3 (std::string &name, H5PointsParam &p, h5geo::CreationType createFlag)=0 |
| virtual H5Points3 * | createPoints3 (h5gt::Group group, H5PointsParam &p, h5geo::CreationType createFlag)=0 |
| virtual H5Points4 * | createPoints4 (std::string &name, H5PointsParam &p, h5geo::CreationType createFlag)=0 |
| virtual H5Points4 * | createPoints4 (h5gt::Group group, H5PointsParam &p, h5geo::CreationType createFlag)=0 |
| virtual H5Horizon * | createHorizon (std::string &name, H5HorizonParam &p, h5geo::CreationType createFlag)=0 |
| virtual H5Horizon * | createHorizon (h5gt::Group group, H5HorizonParam &p, h5geo::CreationType createFlag)=0 |
| virtual bool | setSpatialReference (const std::string &str)=0 |
Set spatial reference for current geo-object using authName:code form. | |
| virtual bool | setSpatialReference (const std::string &authName, const std::string &code)=0 |
| Set spatial reference for current geo-object. | |
| virtual bool | setLengthUnits (const std::string &str)=0 |
| Set length units for the current geo-object. | |
| virtual bool | setTemporalUnits (const std::string &str)=0 |
| Set temporal units for the current geo-object. | |
| virtual bool | setAngularUnits (const std::string &str)=0 |
| Set angular units for the current geo-object. | |
| virtual bool | setDataUnits (const std::string &str)=0 |
| Set data units for the current geo-object. | |
| virtual bool | setNullValue (double val)=0 |
| Set NULL value for the current geo-object. | |
| virtual std::string | getSpatialReference ()=0 |
| Get spatial reference for current geo-object. | |
| virtual std::string | getLengthUnits ()=0 |
| Get length units for the current geo-object. | |
| virtual std::string | getTemporalUnits ()=0 |
| Get temporal units for the current geo-object. | |
| virtual std::string | getAngularUnits ()=0 |
| Get angular units for the current geo-object. | |
| virtual std::string | getDataUnits ()=0 |
| Get data units for the current geo-object. | |
| virtual double | getNullValue ()=0 |
| Get NULL value for the current geo-object. | |
| virtual h5gt::File | getH5File () const =0 |
| Get HDF5 file. | |
| virtual h5gt::Group | getObjG () const =0 |
| Get HDF5 Group. | |
| virtual std::string | getName () const =0 |
| Get geo-object's name without path. | |
| virtual std::string | getFullName () const =0 |
| Get geo-object's name with full path to that object. | |
| virtual std::vector< h5gt::Group > | getObjGroupList (const h5geo::ObjectType &objType, bool recursive)=0 |
| Find all geo-objects of specified type within current geo-object and return them as vector of Groups. | |
| virtual std::vector< std::string > | getObjNameList (const h5geo::ObjectType &objType, bool recursive)=0 |
| Find all geo-objects of specified type within current geo-object and return them as vector of names. | |
| virtual size_t | getObjCount (const h5geo::ObjectType &objType, bool recursive)=0 |
| Get number of geo-objects of specified type within current geo-object. | |
| virtual bool | isEqual (H5BaseObject *other) const =0 |
| Check if geo-objects are the same. | |
| virtual bool | operator== (const H5BaseObject &other) const =0 |
| Check if geo-objects are the same (compares HDF5 Groups) | |
| virtual bool | operator!= (const H5BaseObject &other) const =0 |
| Check if geo-objects are not the same (compares HDF5 Groups) | |
Public Member Functions inherited from H5Base | |
| virtual H5Base * | clone ()=0 |
| virtual void | Delete ()=0 |
Provides API to work with seismic.
Seis is complex object that is represented by:
Dont forget to call:
It is designed to be fast and convenient.
SEGY reader is included.
|
pure virtual |
Prepare sorting.
Sorting is needed for any sorting related operations (like H5Seis::getSortedData()).
If you plan to get CDP-DSREG data, you have to call H5Seis::addPKeySort("CDP") first.
Implemented in H5SeisImpl.
|
pure virtual |
Calculate XY boundary around the survey.
Return two cols Eigen matrix. Use it to write as H5Horizon.
Implemented in H5SeisImpl.
|
pure virtual |
Check fromSampInd and nSamp (passed by reference) and diminish nSamp to fit in data limits (if fromSampInd is inside limit)
| fromSampInd | first sample index |
| nSamp | number of samples (to read for example) |
Implemented in H5SeisImpl.
|
pure virtual |
Check fromHdr and nHdr (passed by reference) and diminish nHdr to fit in data limits (if fromTrc is inside limit)
| fromHdr | first header (usually there are 78 headers so the value should be less then this value) |
| nHdr | number of headers (to read for example) |
Implemented in H5SeisImpl.
|
pure virtual |
Check fromTrc, nTrc (passed by reference) and diminish nTrc to fit in data limits (if fromTrc is inside limit)
| fromTrc | first trace (to read for example) |
| nTrc | number of trace (to read for example) |
Implemented in H5SeisImpl.
|
pure virtual |
|
pure virtual |
Convenient function to prepare geometry for PRESTACK data.
| orientation | counter clock angle (in radians) |
Implemented in H5SeisImpl.
|
pure virtual |
Convenient function to prepare geometry for STACK data.
| orientation | counter clock angle (in radians) |
Implemented in H5SeisImpl.
|
pure virtual |
Get binary header.
Implemented in H5SeisImpl.
|
pure virtual |
Get text header by name.
Implemented in H5SeisImpl.
|
pure virtual |
Get binary header DataSet.
Implemented in H5SeisImpl.
|
pure virtual |
Get index (position within 1D dataset) for a given binary header.
Implemented in H5SeisImpl.
|
pure virtual |
Get datatype for the seismic (STACK or PRESTACK)
Implemented in H5SeisImpl.
|
pure virtual |
Get domain (TVD, TVDSS, TWT, OWT)
Implemented in H5SeisImpl.
|
pure virtual |
Get first sample.
Implemented in H5SeisImpl.
|
pure virtual |
Get sorting indexes Group.
Implemented in H5SeisImpl.
|
pure virtual |
Get last sample.
Implemented in H5SeisImpl.
|
pure virtual |
Get number of binary headers.
Implemented in H5SeisImpl.
|
pure virtual |
Get number of samples.
Implemented in H5SeisImpl.
|
pure virtual |
Get number of text header rows.
Implemented in H5SeisImpl.
|
pure virtual |
Get number of traces.
Implemented in H5SeisImpl.
|
pure virtual |
Get number trace headers (usually 78)
Implemented in H5SeisImpl.
|
pure virtual |
Get parameters that were used to create current seis.
Implemented in H5SeisImpl.
|
pure virtual |
Get trace indexes for given PKey
Before using it one should prepare primary sort keys with H5Seis::addPKeySort() method.
| pKey | primary key name |
| pMin | primary key minimal value |
| pMax | primary key maximal value |
| pStep | primary key step (0 and 1 means every pKey; else every n-th selected pKey) |
Implemented in H5SeisImpl.
|
pure virtual |
Get names of prepared PKeys (names of prepared sortings PKeys)
Implemented in H5SeisImpl.
|
pure virtual |
Get number of unique values for a given PKey
Before using it one should prepare primary sort keys with H5Seis::addPKeySort() method.
Implemented in H5SeisImpl.
|
pure virtual |
Get number of unique values for a given PKey
Before using it one should prepare primary sort keys with H5Seis::addPKeySort() method.
Implemented in H5SeisImpl.
|
pure virtual |
Get number of traces to be selected for a given PKey
Before using it one should prepare primary sort keys with H5Seis::addPKeySort() method.
| pKey | primary key name |
| pMin | primary key minimal value |
| pMax | primary key maximal value |
| pStep | primary key step (0 and 1 means every pKey; else every n-th selected pKey) |
Implemented in H5SeisImpl.
|
pure virtual |
Get PKey unique values.
Before using it one should prepare primary sort keys with H5Seis::addPKeySort() method.
Implemented in H5SeisImpl.
|
pure virtual |
Get vector of equally spaced samples in specified units.
Implemented in H5SeisImpl.
|
pure virtual |
Get sampling rate.
Implemented in H5SeisImpl.
|
pure virtual |
Get SEGY 2-bytes binary header DataSet (for mapped H5Seis only)
Implemented in H5SeisImpl.
|
pure virtual |
Get SEGY 4-bytes binary header DataSet (for mapped H5Seis only)
Implemented in H5SeisImpl.
|
pure virtual |
Get SEGY Group (for mapped H5Seis only)
Implemented in H5SeisImpl.
|
pure virtual |
Get SEGY text header DataSet (for mapped H5Seis only)
Implemented in H5SeisImpl.
|
pure virtual |
Get SEGY float trace DataSet (for mapped H5Seis only)
Implemented in H5SeisImpl.
|
pure virtual |
Get SEGY 2-bytes trace header DataSet (for mapped H5Seis only)
Implemented in H5SeisImpl.
|
pure virtual |
Get SEGY 4-bytes trace header DataSet (for mapped H5Seis only)
Implemented in H5SeisImpl.
|
pure virtual |
Get sorted data based on precalculated primary sort keys.
Before using it one should prepare primary sort keys with H5Seis::addPKeySort() method.
| TRACE | not Eigen::Ref<> because Eigen::Ref<> doesn't allow to resize matrices |
| HDR | not Eigen::Ref<> because Eigen::Ref<> doesn't allow to resize matrices |
| keyList | trace header names to be worked with (first is treated as PKey) |
| minList | minimal value for each key |
| maxList | maximal value for each key |
| pStep | retrieve only n-th pkeys (for ex: SP=[1,5,6,8,9], pStep=2 -> SP_out=[1,6,9]) |
| fromSampInd | first sample index to read (in range [0, H5Seis::getNSamp()]) |
| nSamp | number of samples to be read (if 0 then TRACE will be empty). By default all samples |
| dataUnits | tansform data to these units |
| lengthUnits | works only in pair with 'doCoordTransform' |
| doCoordTransform | works only if two header names are passed (one for X and another Y) |
Implemented in H5SeisImpl.
|
pure virtual |
Get sorting Group.
Implemented in H5SeisImpl.
|
pure virtual |
Get Seismic Reference Datum.
Implemented in H5SeisImpl.
|
pure virtual |
Set survey type for the seismic (TWO_D or THREE_D)
Implemented in H5SeisImpl.
|
pure virtual |
Get text header.
Implemented in H5SeisImpl.
|
pure virtual |
Get text header DataSet.
Implemented in H5SeisImpl.
|
pure virtual |
Get traces by indexes.
Return empty matrix if max trcInd exceeds nTrc.
That is done intensionally to keep trcInd size and returned number of traces equal.
Implemented in H5SeisImpl.
|
pure virtual |
Get block of traces.
If nTrc or nSamp exceed max values then these values are changed to max allowed (that is why they are not const)
Implemented in H5SeisImpl.
|
pure virtual |
Get trace DataSet.
Implemented in H5SeisImpl.
|
pure virtual |
Get trace headers by indexes.
Return empty matrix if max trcInd exceeds nTrc.
That is done intensionally to keep trcInd size and returned number of traces in trace headers equal.
Implemented in H5SeisImpl.
|
pure virtual |
Get block of trace headers.
If nTrc or nHdr exceed max values then these values are changed to max allowed (that is why they are not const)
Implemented in H5SeisImpl.
|
pure virtual |
Get block of trace header by name.
If nTrc exceeds max value then this value is changed to max allowed (that is why it is not const)
Implemented in H5SeisImpl.
|
pure virtual |
Get trace headers by indexes.
Return empty matrix if max trcInd exceeds nTrc.
That is done intensionally to keep trcInd size and returned number of traces in trace headers equal.
Implemented in H5SeisImpl.
|
pure virtual |
Get trace headers by indexes and names.
Return empty matrix if max trcInd exceeds nTrc.
That is done intensionally to keep trcInd size and returned number of traces in trace headers equal.
Implemented in H5SeisImpl.
|
pure virtual |
Get trace header by indexes and name.
Return empty matrix if max trcInd exceeds nTrc.
That is done intensionally to keep trcInd size and returned number of traces in trace header equal.
Implemented in H5SeisImpl.
|
pure virtual |
Get trace header DataSet.
Implemented in H5SeisImpl.
|
pure virtual |
Get index (row/col within 2D dataset) for a given trace header.
Implemented in H5SeisImpl.
|
pure virtual |
Get trace header maximal values.
Implemented in H5SeisImpl.
|
pure virtual |
Get trace header maximal value for a given trace header.
Implemented in H5SeisImpl.
|
pure virtual |
Get trace header minimal values.
Implemented in H5SeisImpl.
|
pure virtual |
Get trace header minimal value for a given trace header.
Implemented in H5SeisImpl.
|
pure virtual |
Get sorting unique values Group.
Implemented in H5SeisImpl.
|
pure virtual |
Get XY trace headers (two columns in Eigen column-major matrix)
Same as H5Seis::getTraceHeader() but also able to do a coordinate transformation.
Return empty matrix if max trcInd exceeds nTrc.
That is done intensionally to keep trcInd size and returned number of traces in trace headers equal.
Implemented in H5SeisImpl.
|
pure virtual |
Get XY trace headers (two columns in Eigen column-major matrix)
Same as H5Seis::getTraceHeader() but also able to do a coordinate transformation.
Implemented in H5SeisImpl.
|
pure virtual |
Check if PKey sort is prepared.
Implemented in H5SeisImpl.
|
pure virtual |
Open H5SeisContainer where current seismic resides.
Implemented in H5SeisImpl.
|
pure virtual |
Read binary header from SEGY file.
Implemented in H5SeisImpl.
|
pure virtual |
Read text header from SEGY file.
Implemented in H5SeisImpl.
|
pure virtual |
Read trace headers and trace data from SEGY file.
| segyFiles | segy files to read traces and trace headers |
| formats | segy format for each segy (empty to autodefine) |
| endians | PC endian for each segy (empty to autodefine) |
| trcHdrNamesArr | use only those defined in 'getTraceHeaderShortNames', but you can change their order thus fix probably messed up trace header bytes (empty to use defined in 'getTraceHeaderShortNames' func) |
| trcBuffer | number of traces per thread to read before writing them at once |
| progressCallback | callback function of form void foo(double progress) |
Implemented in H5SeisImpl.
|
pure virtual |
Read trace headers and trace data from SEGY file using Memory Mapping.
| segyFiles | segy files to read traces and trace headers |
| formats | segy format for each segy (empty to autodefine) |
| endians | PC endian for each segy (empty to autodefine) |
| trcHdrNamesArr | use only those defined in 'getTraceHeaderShortNames', but you can change their order thus fix probably messed up trace header bytes (empty to use defined in 'getTraceHeaderShortNames' func) |
| trcBuffer | number of traces per thread to read before writing them at once |
| nThreads | number of threads (to use all threads pass any number <1) |
| progressCallback | callback function of form void foo(double progress) |
Implemented in H5SeisImpl.
|
pure virtual |
Remove PKey sorting.
Implemented in H5SeisImpl.
|
pure virtual |
Set datatype for the seismic (STACK or PRESTACK)
Implemented in H5SeisImpl.
|
pure virtual |
Set domain for the seismic (TVD, TVDSS, TWT, OWT)
Implemented in H5SeisImpl.
|
pure virtual |
Set first sample.
Implemented in H5SeisImpl.
|
pure virtual |
Resize trace DataSet.
Implemented in H5SeisImpl.
|
pure virtual |
Resize trace and trace header DataSets.
Implemented in H5SeisImpl.
|
pure virtual |
Set sampling rate.
Implemented in H5SeisImpl.
|
pure virtual |
Set Seismic Reference Datum.
Implemented in H5SeisImpl.
|
pure virtual |
Set survey type for the seismic (TWO_D or THREE_D)
Implemented in H5SeisImpl.
|
pure virtual |
Update sorting for prepared PKey
Implemented in H5SeisImpl.
|
pure virtual |
Calculate and write min/max trace headers.
Implemented in H5SeisImpl.
|
pure virtual |
Set trace header number of samples from binary header.
Implemented in H5SeisImpl.
|
pure virtual |
Set trace header samp rate from binary header.
Implemented in H5SeisImpl.
|
pure virtual |
Write binary header.
Implemented in H5SeisImpl.
|
pure virtual |
|
pure virtual |
Write text header.
Implemented in H5SeisImpl.
|
pure virtual |
|
pure virtual |
Write text header.
Implemented in H5SeisImpl.
|
pure virtual |
Write text header.
Maximum 40x80 chars are possible (vector of size 40 with string less or equal to 80)
Implemented in H5SeisImpl.
|
pure virtual |
|
pure virtual |
Write block of traces starting from trace fromTrc and from sample fromSampInd
Implemented in H5SeisImpl.
|
pure virtual |
Write block of trace headers starting from trace fromTrc and from header index fromHdrInd
Implemented in H5SeisImpl.
|
pure virtual |
Write trace header by name and trace indexes.
Return true even if max trcInd exceeds nTrc.
Implemented in H5SeisImpl.
|
pure virtual |
Write trace header by name.
Implemented in H5SeisImpl.
|
pure virtual |
Write XY trace headers (two columns in Eigen column-major matrix)
Same as H5Seis::writeTraceHeaders() but also able to do a coordinate transformation.
Return true even if max trcInd exceeds nTrc.
Implemented in H5SeisImpl.
|
pure virtual |
Write XY trace headers (two columns in Eigen column-major matrix)
Same as H5Seis::writeTraceHeaders() but also able to do a coordinate transformation.
Implemented in H5SeisImpl.