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.
Loading...
Searching...
No Matches
H5SeisImpl Class Reference
Inheritance diagram for H5SeisImpl:
H5BaseObjectImpl< H5Seis > H5BaseImpl< H5Seis > H5Seis H5BaseObject H5Base

Public Member Functions

virtual bool readSEGYTextHeader (const std::string &segy, h5geo::TextEncoding encoding=static_cast< h5geo::TextEncoding >(0)) override
 Read text header from SEGY file.
 
virtual bool readSEGYBinHeader (const std::string &segy, h5geo::Endian endian=static_cast< h5geo::Endian >(0)) override
 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) override
 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) override
 Read trace headers and trace data from SEGY file using Memory Mapping.
 
virtual bool writeTextHeader (const char(&txtHdr)[40][80]) override
 Write text header.
 
virtual bool writeTextHeader (const std::vector< std::string > &txtHdr) override
 Write text header.
 
virtual bool writeBinHeader (const double(&binHdr)[30]) override
 Write binary header.
 
virtual bool writeBinHeader (const std::vector< double > &binHdrVec) override
 Write text header.
 
virtual bool writeBinHeader (const Eigen::Ref< const Eigen::VectorXd > &binHdrVec) override
 Write text header.
 
virtual bool writeBinHeader (const std::string &hdrName, const double &value, const std::string &unitsFrom="", const std::string &unitsTo="") override
 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="") override
 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="") override
 Write traces using indexes.
 
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
 
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="") override
 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="") override
 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) override
 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) override
 Write XY trace headers (two columns in Eigen column-major matrix)
 
virtual bool setNTrc (size_t nTrc) override
 Resize trace and trace header DataSets.
 
virtual bool setNSamp (size_t nSamp) override
 Resize trace DataSet.
 
virtual std::vector< std::string > getTextHeader () override
 Get text header.
 
virtual std::map< std::string, double > getBinHeader () override
 Get binary header.
 
virtual double getBinHeader (const std::string &hdrName, const std::string &unitsFrom="", const std::string &unitsTo="") override
 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="") override
 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="") override
 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 >()) override
 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="") override
 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 >()) override
 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 >()) override
 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 >()) override
 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 >()) override
 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) override
 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) override
 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) override
 Get sorted data based on precalculated primary sort keys.
 
virtual ptrdiff_t getBinHeaderIndex (const std::string &hdrName) override
 Get index (position within 1D dataset) for a given binary header.
 
virtual ptrdiff_t getTraceHeaderIndex (const std::string &hdrName) override
 Get index (row/col within 2D dataset) for a given trace header.
 
virtual Eigen::VectorXd getSamples (const size_t &trcInd, const std::string &units="") override
 Get vector of equally spaced samples in specified units.
 
virtual double getFirstSample (const size_t &trcInd, const std::string &units="") override
 Get first sample.
 
virtual double getLastSample (const size_t &trcInd, const std::string &units="") override
 Get last sample.
 
virtual double getSampRate (const std::string &units="") override
 Get sampling rate.
 
virtual size_t getNSamp () override
 Get number of samples.
 
virtual size_t getNTrc () override
 Get number of traces.
 
virtual size_t getNTrcHdr () override
 
virtual size_t getNBinHdr () override
 Get number of binary headers.
 
virtual size_t getNTextHdrRows () override
 Get number of text header rows.
 
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
 
virtual Eigen::VectorXd getPKeyValues (const std::string &pKey, const std::string &unitsFrom="", const std::string &unitsTo="") override
 Get PKey unique values.
 
virtual size_t getPKeySize (const std::string &pKey) override
 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) override
 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) override
 Get number of traces to be selected for a given PKey
 
virtual std::vector< std::string > getPKeyNames () override
 Get names of prepared PKeys (names of prepared sortings PKeys)
 
virtual std::map< std::string, double > getTraceHeaderMin () override
 Get trace header minimal values.
 
virtual std::map< std::string, double > getTraceHeaderMax () override
 Get trace header maximal values.
 
virtual double getTraceHeaderMin (const std::string &hdrName, const std::string &unitsFrom="", const std::string &unitsTo="") override
 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="") override
 Get trace header maximal value for a given trace header.
 
virtual H5SeisParam getParam () override
 Get parameters that were used to create current seis.
 
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 inside limit)
 
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 inside limit)
 
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 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) override
 
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
 
virtual bool setDomain (const h5geo::Domain &val) override
 Set domain for the seismic (TVD, TVDSS, TWT, OWT)
 
virtual bool setDataType (const h5geo::SeisDataType &val) override
 Set datatype for the seismic (STACK or PRESTACK)
 
virtual bool setSurveyType (const h5geo::SurveyType &val) override
 Set survey type for the seismic (TWO_D or THREE_D)
 
virtual bool setSRD (double val, const std::string &lengthUnits="") override
 Set Seismic Reference Datum.
 
virtual bool setSampRate (double val, const std::string &units="") override
 Set sampling rate.
 
virtual bool setFirstSample (double val, const std::string &units="") override
 Set first sample.
 
virtual h5geo::Domain getDomain () override
 Get domain (TVD, TVDSS, TWT, OWT)
 
virtual h5geo::SeisDataType getDataType () override
 Get datatype for the seismic (STACK or PRESTACK)
 
virtual h5geo::SurveyType getSurveyType () override
 Set survey type for the seismic (TWO_D or THREE_D)
 
virtual double getSRD (const std::string &lengthUnits="") override
 Get Seismic Reference Datum.
 
virtual bool hasPKeySort (const std::string &pKeyName) override
 Check if PKey sort is prepared.
 
virtual bool removePKeySort (const std::string &pKeyName) override
 Remove PKey sorting.
 
virtual bool addPKeySort (const std::string &pKeyName) override
 Prepare sorting.
 
virtual bool updateTraceHeaderSampRate () override
 Set trace header samp rate from binary header.
 
virtual bool updateTraceHeaderNSamp () override
 Set trace header number of samples from binary header.
 
virtual H5SeisContaineropenSeisContainer () override
 Open H5SeisContainer where current seismic resides.
 
virtual std::optional< h5gt::DataSet > getTextHeaderD () override
 Get text header DataSet.
 
virtual std::optional< h5gt::DataSet > getBinHeaderD () override
 Get binary header DataSet.
 
virtual std::optional< h5gt::DataSet > getTraceHeaderD () override
 Get trace header DataSet.
 
virtual std::optional< h5gt::DataSet > getTraceD () override
 Get trace DataSet.
 
virtual std::optional< h5gt::Group > getSortG () override
 Get sorting Group.
 
virtual std::optional< h5gt::Group > getUValG () override
 Get sorting unique values Group.
 
virtual std::optional< h5gt::Group > getIndexesG () override
 Get sorting indexes Group.
 
virtual std::optional< h5gt::Group > getSEGYG () override
 Get SEGY Group (for mapped H5Seis only)
 
virtual std::optional< h5gt::DataSet > getSEGYTextHeaderD () override
 Get SEGY text header DataSet (for mapped H5Seis only)
 
virtual std::optional< h5gt::DataSet > getSEGYBinHeader2BytesD () override
 Get SEGY 2-bytes binary header DataSet (for mapped H5Seis only)
 
virtual std::optional< h5gt::DataSet > getSEGYBinHeader4BytesD () override
 Get SEGY 4-bytes binary header DataSet (for mapped H5Seis only)
 
virtual std::optional< h5gt::DataSet > getSEGYTraceHeader2BytesD () override
 Get SEGY 2-bytes trace header DataSet (for mapped H5Seis only)
 
virtual std::optional< h5gt::DataSet > getSEGYTraceHeader4BytesD () override
 Get SEGY 4-bytes trace header DataSet (for mapped H5Seis only)
 
virtual std::optional< h5gt::DataSet > getSEGYTraceFloatD () override
 Get SEGY float trace DataSet (for mapped H5Seis only)
 
virtual bool updateTraceHeaderLimits (size_t nTrcBuffer=1e7) override
 Calculate and write min/max trace headers.
 
virtual bool updatePKeySort (const std::string &pKeyName) override
 Update sorting for prepared PKey
 
virtual Eigen::MatrixXd calcBoundary (const std::string &lengthUnits="", bool doCoordTransform=false) override
 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) override
 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) override
 
- Public Member Functions inherited from H5BaseObjectImpl< H5Seis >
virtual H5BasePointsopenPoints (const std::string &name) override
 Open H5BasePoints derived points.
 
virtual H5BasePointsopenPoints (h5gt::Group group) override
 Open H5BasePoints derived points.
 
virtual H5HorizonopenHorizon (const std::string &name) override
 
virtual H5HorizonopenHorizon (h5gt::Group group) override
 
virtual H5Points1createPoints1 (std::string &name, H5PointsParam &p, h5geo::CreationType createFlag) override
 
virtual H5Points1createPoints1 (h5gt::Group group, H5PointsParam &p, h5geo::CreationType createFlag) override
 
virtual H5Points2createPoints2 (std::string &name, H5PointsParam &p, h5geo::CreationType createFlag) override
 
virtual H5Points2createPoints2 (h5gt::Group group, H5PointsParam &p, h5geo::CreationType createFlag) override
 
virtual H5Points3createPoints3 (std::string &name, H5PointsParam &p, h5geo::CreationType createFlag) override
 
virtual H5Points3createPoints3 (h5gt::Group group, H5PointsParam &p, h5geo::CreationType createFlag) override
 
virtual H5Points4createPoints4 (std::string &name, H5PointsParam &p, h5geo::CreationType createFlag) override
 
virtual H5Points4createPoints4 (h5gt::Group group, H5PointsParam &p, h5geo::CreationType createFlag) override
 
virtual H5HorizoncreateHorizon (std::string &name, H5HorizonParam &p, h5geo::CreationType createFlag) override
 
virtual H5HorizoncreateHorizon (h5gt::Group group, H5HorizonParam &p, h5geo::CreationType createFlag) override
 
virtual H5Baseclone () override
 
H5Baseclone ()
 
H5Baseclone ()
 
H5Baseclone ()
 
H5Baseclone ()
 
H5Baseclone ()
 
H5Baseclone ()
 
H5Baseclone ()
 
H5Baseclone ()
 
H5Baseclone ()
 
H5Baseclone ()
 
H5Baseclone ()
 
H5Baseclone ()
 
H5Baseclone ()
 
H5Baseclone ()
 
virtual bool setSpatialReference (const std::string &str) override
 Set spatial reference for current geo-object using authName:code form.
 
virtual bool setSpatialReference (const std::string &authName, const std::string &code) override
 Set spatial reference for current geo-object.
 
virtual bool setLengthUnits (const std::string &str) override
 Set length units for the current geo-object.
 
virtual bool setTemporalUnits (const std::string &str) override
 Set temporal units for the current geo-object.
 
virtual bool setAngularUnits (const std::string &str) override
 Set angular units for the current geo-object.
 
virtual bool setDataUnits (const std::string &str) override
 Set data units for the current geo-object.
 
virtual bool setNullValue (double val) override
 Set NULL value for the current geo-object.
 
virtual std::string getSpatialReference () override
 Get spatial reference for current geo-object.
 
virtual std::string getLengthUnits () override
 Get length units for the current geo-object.
 
virtual std::string getTemporalUnits () override
 Get temporal units for the current geo-object.
 
virtual std::string getAngularUnits () override
 Get angular units for the current geo-object.
 
virtual std::string getDataUnits () override
 Get data units for the current geo-object.
 
virtual double getNullValue () override
 Get NULL value for the current geo-object.
 
virtual h5gt::File getH5File () const override
 Get HDF5 file.
 
virtual h5gt::Group getObjG () const override
 Get HDF5 Group.
 
virtual std::string getName () const override
 Get geo-object's name without path.
 
virtual std::string getFullName () const override
 Get geo-object's name with full path to that object.
 
virtual std::vector< h5gt::Group > getObjGroupList (const h5geo::ObjectType &objType, bool recursive) override
 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) override
 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) override
 Get number of geo-objects of specified type within current geo-object.
 
virtual bool isEqual (H5BaseObject *other) const override
 Check if geo-objects are the same.
 
virtual bool operator== (const H5BaseObject &other) const override
 Check if geo-objects are the same (compares HDF5 Groups)
 
virtual bool operator!= (const H5BaseObject &other) const override
 Check if geo-objects are not the same (compares HDF5 Groups)
 
- Public Member Functions inherited from H5BaseImpl< H5Seis >
virtual void Delete () override
 

Protected Member Functions

 H5SeisImpl (const h5gt::Group &group)
 
virtual Eigen::MatrixXd calcBoundaryStk2D ()
 
virtual Eigen::MatrixXd calcConvexHullBoundary ()
 
- Protected Member Functions inherited from H5BaseObjectImpl< H5Seis >
 H5BaseObjectImpl (const h5gt::Group &group)
 
std::optional< h5gt::Group > getParentG (const h5geo::ObjectType &objType)
 getParent Search for parent of type ObjectType for the objG
 
virtual std::optional< h5gt::Group > getGroupOpt (h5gt::Group &parent, const std::string &groupName) const
 
virtual std::optional< h5gt::DataSet > getDatasetOpt (const h5gt::Group &parent, const std::string &datasetName) const
 
- Protected Member Functions inherited from H5BaseImpl< H5Seis >
virtual std::vector< h5gt::Group > getChildGroupList (h5gt::Group &group, const h5geo::ObjectType &objType, bool recursive=false)
 
virtual std::vector< std::string > getChildNameList (h5gt::Group &group, const h5geo::ObjectType &objType, const std::string &referencePath, bool recursive=false)
 referencePath to get relative path from it (set to empty to get full path)
 
virtual size_t getChildCount (h5gt::Group &group, const h5geo::ObjectType &objType, bool recursive=false)
 
std::optional< h5gt::Group > createObject (std::string &objName, h5gt::File parentFile, const h5geo::ObjectType &objType, void *p, h5geo::CreationType createFlag)
 createObject Creates new object. If CREATE_UNDER_NEW_NAME then objName will be chaged to be unique in its parent file.
 
std::optional< h5gt::Group > createObject (std::string &objName, h5gt::Group parentGroup, const h5geo::ObjectType &objType, void *p, h5geo::CreationType createFlag)
 createObject Creates new object. If CREATE_UNDER_NEW_NAME then objName will be chaged to be unique in its parent group.
 
std::optional< h5gt::Group > createObject (h5gt::Group objG, const h5geo::ObjectType &objType, void *p, h5geo::CreationType createFlag)
 
bool isSuccessor (const h5gt::Group &parentG, const h5gt::Group &childG)
 isSuccessor checks whether childG is successor of parentG
 
bool isSuccessor (const std::string &parent, const std::string &child)
 isSuccessor works only with absolute path!
 

Protected Attributes

h5gt::DataSet traceD
 
h5gt::DataSet traceHeaderD
 
- Protected Attributes inherited from H5BaseObjectImpl< H5Seis >
h5gt::Group objG
 

Friends

class H5SeisContainerImpl
 
class H5BaseObjectImpl< H5Seis >
 
H5Seish5geo::openSeis (h5gt::Group group)
 

Additional Inherited Members

- Static Protected Member Functions inherited from H5BaseImpl< H5Seis >
static std::optional< h5gt::File > createContainer (std::string &fileName, const h5geo::ContainerType &containerType, h5geo::CreationType createFlag)
 
static std::optional< h5gt::File > createContainer (h5gt::File h5File, const h5geo::ContainerType &containerType, h5geo::CreationType createFlag)
 

Member Function Documentation

◆ addPKeySort()

bool H5SeisImpl::addPKeySort ( const std::string & pKeyName)
overridevirtual

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.

Implements H5Seis.

◆ calcBoundary()

Eigen::MatrixXd H5SeisImpl::calcBoundary ( const std::string & lengthUnits = "",
bool doCoordTransform = false )
overridevirtual

Calculate XY boundary around the survey.

Return two cols Eigen matrix. Use it to write as H5Horizon.

Implements H5Seis.

◆ checkSampleLimits()

bool H5SeisImpl::checkSampleLimits ( const size_t & fromSampInd,
size_t & nSamp )
overridevirtual

Check fromSampInd and nSamp (passed by reference) and diminish nSamp to fit in data limits (if fromSampInd is inside limit)

Parameters
fromSampIndfirst sample index
nSampnumber of samples (to read for example)
Returns

Implements H5Seis.

◆ checkTraceHeaderLimits()

bool H5SeisImpl::checkTraceHeaderLimits ( const size_t & fromHdr,
size_t & nHdr )
overridevirtual

Check fromHdr and nHdr (passed by reference) and diminish nHdr to fit in data limits (if fromTrc is inside limit)

Parameters
fromHdrfirst header (usually there are 78 headers so the value should be less then this value)
nHdrnumber of headers (to read for example)
Returns

Implements H5Seis.

◆ checkTraceLimits()

bool H5SeisImpl::checkTraceLimits ( const size_t & fromTrc,
size_t & nTrc )
overridevirtual

Check fromTrc, nTrc (passed by reference) and diminish nTrc to fit in data limits (if fromTrc is inside limit)

Parameters
fromTrcfirst trace (to read for example)
nTrcnumber of trace (to read for example)
Returns

Implements H5Seis.

◆ exportToSEGY()

bool H5SeisImpl::exportToSEGY ( const std::string & segyFile,
size_t trcBuffer = 10000,
h5geo::Endian endian = h5geo::Endian::Big,
std::function< void(double)> progressCallback = nullptr )
overridevirtual

Implements H5Seis.

◆ exportToVol()

bool H5SeisImpl::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 )
overridevirtual

Export seismic to H5Vol.

Note
Selected traces must shape a rectangle.

Implements H5Seis.

◆ generatePRESTKGeometry()

bool H5SeisImpl::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 )
overridevirtual

Generate geometry and set nTrc to match it and set seis datatype to PRESTACK

Implements H5Seis.

◆ generateSTKGeometry()

bool H5SeisImpl::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 )
overridevirtual

Generate geometry and set nTrc to match it and set seis datatype to STACK

Implements H5Seis.

◆ getBinHeader() [1/2]

std::map< std::string, double > H5SeisImpl::getBinHeader ( )
overridevirtual

Get binary header.

Implements H5Seis.

◆ getBinHeader() [2/2]

double H5SeisImpl::getBinHeader ( const std::string & hdrName,
const std::string & unitsFrom = "",
const std::string & unitsTo = "" )
overridevirtual

Get text header by name.

Implements H5Seis.

◆ getBinHeaderD()

std::optional< h5gt::DataSet > H5SeisImpl::getBinHeaderD ( )
overridevirtual

Get binary header DataSet.

Implements H5Seis.

◆ getBinHeaderIndex()

ptrdiff_t H5SeisImpl::getBinHeaderIndex ( const std::string & hdrName)
overridevirtual

Get index (position within 1D dataset) for a given binary header.

Implements H5Seis.

◆ getDataType()

h5geo::SeisDataType H5SeisImpl::getDataType ( )
overridevirtual

Get datatype for the seismic (STACK or PRESTACK)

Implements H5Seis.

◆ getDomain()

h5geo::Domain H5SeisImpl::getDomain ( )
overridevirtual

Get domain (TVD, TVDSS, TWT, OWT)

Implements H5Seis.

◆ getFirstSample()

double H5SeisImpl::getFirstSample ( const size_t & trcInd,
const std::string & units = "" )
overridevirtual

Get first sample.

Implements H5Seis.

◆ getIndexesG()

std::optional< h5gt::Group > H5SeisImpl::getIndexesG ( )
overridevirtual

Get sorting indexes Group.

Implements H5Seis.

◆ getLastSample()

double H5SeisImpl::getLastSample ( const size_t & trcInd,
const std::string & units = "" )
overridevirtual

Get last sample.

Implements H5Seis.

◆ getNBinHdr()

size_t H5SeisImpl::getNBinHdr ( )
overridevirtual

Get number of binary headers.

Implements H5Seis.

◆ getNSamp()

size_t H5SeisImpl::getNSamp ( )
overridevirtual

Get number of samples.

Implements H5Seis.

◆ getNTextHdrRows()

size_t H5SeisImpl::getNTextHdrRows ( )
overridevirtual

Get number of text header rows.

Implements H5Seis.

◆ getNTrc()

size_t H5SeisImpl::getNTrc ( )
overridevirtual

Get number of traces.

Implements H5Seis.

◆ getNTrcHdr()

size_t H5SeisImpl::getNTrcHdr ( )
overridevirtual

usually 78 !

Implements H5Seis.

◆ getParam()

H5SeisParam H5SeisImpl::getParam ( )
overridevirtual

Get parameters that were used to create current seis.

Implements H5Seis.

◆ getPKeyIndexes()

Eigen::VectorX< size_t > H5SeisImpl::getPKeyIndexes ( const std::string & pKey,
double pMin,
double pMax,
size_t pStep = 1 )
overridevirtual

Get trace indexes for given PKey

Before using it one should prepare primary sort keys with H5Seis::addPKeySort() method.

Parameters
pKeyprimary key name
pMinprimary key minimal value
pMaxprimary key maximal value
pStepprimary key step (0 and 1 means every pKey; else every n-th selected pKey)

Implements H5Seis.

◆ getPKeyNames()

std::vector< std::string > H5SeisImpl::getPKeyNames ( )
overridevirtual

Get names of prepared PKeys (names of prepared sortings PKeys)

Implements H5Seis.

◆ getPKeySize() [1/2]

size_t H5SeisImpl::getPKeySize ( const std::string & pKey)
overridevirtual

Get number of unique values for a given PKey

Before using it one should prepare primary sort keys with H5Seis::addPKeySort() method.

Implements H5Seis.

◆ getPKeySize() [2/2]

size_t H5SeisImpl::getPKeySize ( const std::string & pKey,
double pMin,
double pMax,
size_t pStep = 1 )
overridevirtual

Get number of unique values for a given PKey

Before using it one should prepare primary sort keys with H5Seis::addPKeySort() method.

Implements H5Seis.

◆ getPKeyTraceSize()

size_t H5SeisImpl::getPKeyTraceSize ( const std::string & pKey,
double pMin,
double pMax,
size_t pStep = 1 )
overridevirtual

Get number of traces to be selected for a given PKey

Before using it one should prepare primary sort keys with H5Seis::addPKeySort() method.

Parameters
pKeyprimary key name
pMinprimary key minimal value
pMaxprimary key maximal value
pStepprimary key step (0 and 1 means every pKey; else every n-th selected pKey)

Implements H5Seis.

◆ getPKeyValues()

Eigen::VectorXd H5SeisImpl::getPKeyValues ( const std::string & pKey,
const std::string & unitsFrom = "",
const std::string & unitsTo = "" )
overridevirtual

Get PKey unique values.

Before using it one should prepare primary sort keys with H5Seis::addPKeySort() method.

Implements H5Seis.

◆ getSamples()

Eigen::VectorXd H5SeisImpl::getSamples ( const size_t & trcInd,
const std::string & units = "" )
overridevirtual

Get vector of equally spaced samples in specified units.

Implements H5Seis.

◆ getSampRate()

double H5SeisImpl::getSampRate ( const std::string & units = "")
overridevirtual

Get sampling rate.

Implements H5Seis.

◆ getSEGYBinHeader2BytesD()

std::optional< h5gt::DataSet > H5SeisImpl::getSEGYBinHeader2BytesD ( )
overridevirtual

Get SEGY 2-bytes binary header DataSet (for mapped H5Seis only)

Implements H5Seis.

◆ getSEGYBinHeader4BytesD()

std::optional< h5gt::DataSet > H5SeisImpl::getSEGYBinHeader4BytesD ( )
overridevirtual

Get SEGY 4-bytes binary header DataSet (for mapped H5Seis only)

Implements H5Seis.

◆ getSEGYG()

std::optional< h5gt::Group > H5SeisImpl::getSEGYG ( )
overridevirtual

Get SEGY Group (for mapped H5Seis only)

Implements H5Seis.

◆ getSEGYTextHeaderD()

std::optional< h5gt::DataSet > H5SeisImpl::getSEGYTextHeaderD ( )
overridevirtual

Get SEGY text header DataSet (for mapped H5Seis only)

Implements H5Seis.

◆ getSEGYTraceFloatD()

std::optional< h5gt::DataSet > H5SeisImpl::getSEGYTraceFloatD ( )
overridevirtual

Get SEGY float trace DataSet (for mapped H5Seis only)

Implements H5Seis.

◆ getSEGYTraceHeader2BytesD()

std::optional< h5gt::DataSet > H5SeisImpl::getSEGYTraceHeader2BytesD ( )
overridevirtual

Get SEGY 2-bytes trace header DataSet (for mapped H5Seis only)

Implements H5Seis.

◆ getSEGYTraceHeader4BytesD()

std::optional< h5gt::DataSet > H5SeisImpl::getSEGYTraceHeader4BytesD ( )
overridevirtual

Get SEGY 4-bytes trace header DataSet (for mapped H5Seis only)

Implements H5Seis.

◆ getSortedData()

Eigen::VectorX< size_t > H5SeisImpl::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 )
overridevirtual

Get sorted data based on precalculated primary sort keys.

Before using it one should prepare primary sort keys with H5Seis::addPKeySort() method.

Parameters
TRACEnot Eigen::Ref<> because Eigen::Ref<> doesn't allow to resize matrices
HDRnot Eigen::Ref<> because Eigen::Ref<> doesn't allow to resize matrices
keyListtrace header names to be worked with (first is treated as PKey)
minListminimal value for each key
maxListmaximal value for each key
pStepretrieve only n-th pkeys (for ex: SP=[1,5,6,8,9], pStep=2 -> SP_out=[1,6,9])
fromSampIndfirst sample index to read (in range [0, H5Seis::getNSamp()])
nSampnumber of samples to be read (if 0 then TRACE will be empty). By default all samples
dataUnitstansform data to these units
lengthUnitsworks only in pair with 'doCoordTransform'
doCoordTransformworks only if two header names are passed (one for X and another Y)
Returns
vector of trace indexes read

Implements H5Seis.

◆ getSortG()

std::optional< h5gt::Group > H5SeisImpl::getSortG ( )
overridevirtual

Get sorting Group.

Implements H5Seis.

◆ getSRD()

double H5SeisImpl::getSRD ( const std::string & lengthUnits = "")
overridevirtual

Get Seismic Reference Datum.

Implements H5Seis.

◆ getSurveyType()

h5geo::SurveyType H5SeisImpl::getSurveyType ( )
overridevirtual

Set survey type for the seismic (TWO_D or THREE_D)

Implements H5Seis.

◆ getTextHeader()

std::vector< std::string > H5SeisImpl::getTextHeader ( )
overridevirtual

Get text header.

Implements H5Seis.

◆ getTextHeaderD()

std::optional< h5gt::DataSet > H5SeisImpl::getTextHeaderD ( )
overridevirtual

Get text header DataSet.

Implements H5Seis.

◆ getTrace() [1/2]

Eigen::MatrixXf H5SeisImpl::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 = "" )
overridevirtual

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.

Implements H5Seis.

◆ getTrace() [2/2]

Eigen::MatrixXf H5SeisImpl::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 = "" )
overridevirtual

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)

Implements H5Seis.

◆ getTraceD()

std::optional< h5gt::DataSet > H5SeisImpl::getTraceD ( )
overridevirtual

Get trace DataSet.

Implements H5Seis.

◆ getTraceHeader() [1/6]

Eigen::MatrixXd H5SeisImpl::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 >() )
overridevirtual

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.

Implements H5Seis.

◆ getTraceHeader() [2/6]

Eigen::MatrixXd H5SeisImpl::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 >() )
overridevirtual

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)

Implements H5Seis.

◆ getTraceHeader() [3/6]

Eigen::VectorXd H5SeisImpl::getTraceHeader ( const std::string & hdrName,
const size_t & fromTrc = 0,
size_t nTrc = 1,
const std::string & unitsFrom = "",
const std::string & unitsTo = "" )
overridevirtual

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)

Implements H5Seis.

◆ getTraceHeader() [4/6]

Eigen::MatrixXd H5SeisImpl::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 >() )
overridevirtual

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.

Implements H5Seis.

◆ getTraceHeader() [5/6]

Eigen::MatrixXd H5SeisImpl::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 >() )
overridevirtual

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.

Implements H5Seis.

◆ getTraceHeader() [6/6]

Eigen::MatrixXd H5SeisImpl::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 >() )
overridevirtual

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.

Implements H5Seis.

◆ getTraceHeaderD()

std::optional< h5gt::DataSet > H5SeisImpl::getTraceHeaderD ( )
overridevirtual

Get trace header DataSet.

Implements H5Seis.

◆ getTraceHeaderIndex()

ptrdiff_t H5SeisImpl::getTraceHeaderIndex ( const std::string & hdrName)
overridevirtual

Get index (row/col within 2D dataset) for a given trace header.

Implements H5Seis.

◆ getTraceHeaderMax() [1/2]

std::map< std::string, double > H5SeisImpl::getTraceHeaderMax ( )
overridevirtual

Get trace header maximal values.

Implements H5Seis.

◆ getTraceHeaderMax() [2/2]

double H5SeisImpl::getTraceHeaderMax ( const std::string & hdrName,
const std::string & unitsFrom = "",
const std::string & unitsTo = "" )
overridevirtual

Get trace header maximal value for a given trace header.

Implements H5Seis.

◆ getTraceHeaderMin() [1/2]

std::map< std::string, double > H5SeisImpl::getTraceHeaderMin ( )
overridevirtual

Get trace header minimal values.

Implements H5Seis.

◆ getTraceHeaderMin() [2/2]

double H5SeisImpl::getTraceHeaderMin ( const std::string & hdrName,
const std::string & unitsFrom = "",
const std::string & unitsTo = "" )
overridevirtual

Get trace header minimal value for a given trace header.

Implements H5Seis.

◆ getUValG()

std::optional< h5gt::Group > H5SeisImpl::getUValG ( )
overridevirtual

Get sorting unique values Group.

Implements H5Seis.

◆ getXYTraceHeaders() [1/2]

Eigen::MatrixXd H5SeisImpl::getXYTraceHeaders ( const std::vector< std::string > & xyHdrNames,
const Eigen::Ref< const Eigen::VectorX< size_t > > & trcInd,
const std::string & lengthUnits = "",
bool doCoordTransform = false )
overridevirtual

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.

Implements H5Seis.

◆ getXYTraceHeaders() [2/2]

Eigen::MatrixXd H5SeisImpl::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 )
overridevirtual

Get XY trace headers (two columns in Eigen column-major matrix)

Same as H5Seis::getTraceHeader() but also able to do a coordinate transformation.

Implements H5Seis.

◆ hasPKeySort()

bool H5SeisImpl::hasPKeySort ( const std::string & pKeyName)
overridevirtual

Check if PKey sort is prepared.

Implements H5Seis.

◆ openSeisContainer()

H5SeisContainer * H5SeisImpl::openSeisContainer ( )
overridevirtual

Open H5SeisContainer where current seismic resides.

Implements H5Seis.

◆ readSEGYBinHeader()

bool H5SeisImpl::readSEGYBinHeader ( const std::string & segy,
h5geo::Endian endian = static_cast< h5geo::Endian >(0) )
overridevirtual

Read binary header from SEGY file.

Implements H5Seis.

◆ readSEGYTextHeader()

bool H5SeisImpl::readSEGYTextHeader ( const std::string & segy,
h5geo::TextEncoding encoding = static_cast< h5geo::TextEncoding >(0) )
overridevirtual

Read text header from SEGY file.

Implements H5Seis.

◆ readSEGYTraces()

bool H5SeisImpl::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 )
overridevirtual

Read trace headers and trace data from SEGY file.

Parameters
segyFilessegy files to read traces and trace headers
formatssegy format for each segy (empty to autodefine)
endiansPC endian for each segy (empty to autodefine)
trcHdrNamesArruse 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)
trcBuffernumber of traces per thread to read before writing them at once
progressCallbackcallback function of form void foo(double progress)

Implements H5Seis.

◆ readSEGYTracesMMap()

bool H5SeisImpl::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 )
overridevirtual

Read trace headers and trace data from SEGY file using Memory Mapping.

Parameters
segyFilessegy files to read traces and trace headers
formatssegy format for each segy (empty to autodefine)
endiansPC endian for each segy (empty to autodefine)
trcHdrNamesArruse 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)
trcBuffernumber of traces per thread to read before writing them at once
nThreadsnumber of threads (to use all threads pass any number <1)
progressCallbackcallback function of form void foo(double progress)
Note
Memory Mappings works only if the SEGY file resides on the internal hardware

Implements H5Seis.

◆ removePKeySort()

bool H5SeisImpl::removePKeySort ( const std::string & pKeyName)
overridevirtual

Remove PKey sorting.

Implements H5Seis.

◆ setDataType()

bool H5SeisImpl::setDataType ( const h5geo::SeisDataType & seisType)
overridevirtual

Set datatype for the seismic (STACK or PRESTACK)

Implements H5Seis.

◆ setDomain()

bool H5SeisImpl::setDomain ( const h5geo::Domain & domain)
overridevirtual

Set domain for the seismic (TVD, TVDSS, TWT, OWT)

Implements H5Seis.

◆ setFirstSample()

bool H5SeisImpl::setFirstSample ( double val,
const std::string & units = "" )
overridevirtual

Set first sample.

Implements H5Seis.

◆ setNSamp()

bool H5SeisImpl::setNSamp ( size_t nSamp)
overridevirtual

Resize trace DataSet.

Implements H5Seis.

◆ setNTrc()

bool H5SeisImpl::setNTrc ( size_t nTrc)
overridevirtual

Resize trace and trace header DataSets.

Implements H5Seis.

◆ setSampRate()

bool H5SeisImpl::setSampRate ( double val,
const std::string & units = "" )
overridevirtual

Set sampling rate.

Implements H5Seis.

◆ setSRD()

bool H5SeisImpl::setSRD ( double val,
const std::string & lengthUnits = "" )
overridevirtual

Set Seismic Reference Datum.

Implements H5Seis.

◆ setSurveyType()

bool H5SeisImpl::setSurveyType ( const h5geo::SurveyType & surveyType)
overridevirtual

Set survey type for the seismic (TWO_D or THREE_D)

Implements H5Seis.

◆ updatePKeySort()

bool H5SeisImpl::updatePKeySort ( const std::string & pKeyName)
overridevirtual

Update sorting for prepared PKey

Implements H5Seis.

◆ updateTraceHeaderLimits()

bool H5SeisImpl::updateTraceHeaderLimits ( size_t nTrcBuffer = 1e7)
overridevirtual

Calculate and write min/max trace headers.

Implements H5Seis.

◆ updateTraceHeaderNSamp()

bool H5SeisImpl::updateTraceHeaderNSamp ( )
overridevirtual

Set trace header number of samples from binary header.

Implements H5Seis.

◆ updateTraceHeaderSampRate()

bool H5SeisImpl::updateTraceHeaderSampRate ( )
overridevirtual

Set trace header samp rate from binary header.

Implements H5Seis.

◆ writeBinHeader() [1/4]

bool H5SeisImpl::writeBinHeader ( const double(&) binHdr[30])
overridevirtual

Write binary header.

Implements H5Seis.

◆ writeBinHeader() [2/4]

bool H5SeisImpl::writeBinHeader ( const Eigen::Ref< const Eigen::VectorXd > & binHdrVec)
overridevirtual

Write text header.

Vector length should be equal to H5Seis::getNBinHdr()

Implements H5Seis.

◆ writeBinHeader() [3/4]

bool H5SeisImpl::writeBinHeader ( const std::string & hdrName,
const double & value,
const std::string & unitsFrom = "",
const std::string & unitsTo = "" )
overridevirtual

Write text header.

Implements H5Seis.

◆ writeBinHeader() [4/4]

bool H5SeisImpl::writeBinHeader ( const std::vector< double > & binHdrVec)
overridevirtual

Write text header.

Vector length should be equal to H5Seis::getNBinHdr()

Implements H5Seis.

◆ writeTextHeader() [1/2]

bool H5SeisImpl::writeTextHeader ( const char(&) txtHdr[40][80])
overridevirtual

Write text header.

Implements H5Seis.

◆ writeTextHeader() [2/2]

bool H5SeisImpl::writeTextHeader ( const std::vector< std::string > & txtHdr)
overridevirtual

Write text header.

Maximum 40x80 chars are possible (vector of size 40 with string less or equal to 80)

Implements H5Seis.

◆ writeTrace() [1/2]

bool H5SeisImpl::writeTrace ( Eigen::Ref< Eigen::MatrixXf > TRACE,
const Eigen::Ref< const Eigen::VectorX< size_t > > & trcInd,
const size_t & fromSampInd = 0,
const std::string & dataUnits = "" )
overridevirtual

Write traces using indexes.

Return true even if max trcInd exceeds nTrc.

Implements H5Seis.

◆ writeTrace() [2/2]

bool H5SeisImpl::writeTrace ( Eigen::Ref< Eigen::MatrixXf > TRACE,
const size_t & fromTrc = 0,
const size_t & fromSampInd = 0,
const std::string & dataUnits = "" )
overridevirtual

Write block of traces starting from trace fromTrc and from sample fromSampInd

Implements H5Seis.

◆ writeTraceHeader() [1/3]

bool H5SeisImpl::writeTraceHeader ( const Eigen::Ref< const Eigen::MatrixXd > & HDR,
const size_t & fromTrc = 0,
const size_t & fromHdrInd = 0 )
overridevirtual

Write block of trace headers starting from trace fromTrc and from header index fromHdrInd

Implements H5Seis.

◆ writeTraceHeader() [2/3]

bool H5SeisImpl::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 = "" )
overridevirtual

Write trace header by name and trace indexes.

Return true even if max trcInd exceeds nTrc.

Implements H5Seis.

◆ writeTraceHeader() [3/3]

bool H5SeisImpl::writeTraceHeader ( const std::string & hdrName,
Eigen::Ref< Eigen::MatrixXd > hdr,
const size_t & fromTrc = 0,
const std::string & unitsFrom = "",
const std::string & unitsTo = "" )
overridevirtual

Write trace header by name.

Implements H5Seis.

◆ writeXYTraceHeaders() [1/2]

bool H5SeisImpl::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 )
overridevirtual

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.

Implements H5Seis.

◆ writeXYTraceHeaders() [2/2]

bool H5SeisImpl::writeXYTraceHeaders ( const std::vector< std::string > & xyHdrNames,
Eigen::Ref< Eigen::MatrixX2d > & xy,
const size_t & fromTrc = 0,
const std::string & lengthUnits = "",
bool doCoordTransform = false )
overridevirtual

Write XY trace headers (two columns in Eigen column-major matrix)

Same as H5Seis::writeTraceHeaders() but also able to do a coordinate transformation.

Implements H5Seis.


The documentation for this class was generated from the following files: