Note
Get this example as a Jupyter Notebook ipynb
[ ]:
SEGY to Vector DataFrames and Back¶
The connection of segysak to xarray
greatly simplifies the process of vectorising segy 3D data and returning it to SEGY. To do this, one can use the close relationship between pandas
and xarray
.
Loading Data¶
We start by loading data normally using the segy_loader
utility. For this example we will use the Volve example sub-cube.
[1]:
import pathlib
from IPython.display import display
from segysak.segy import segy_loader, well_known_byte_locs, segy_writer
volve_3d_path = pathlib.Path("data/volve10r12-full-twt-sub3d.sgy")
print("3D", volve_3d_path.exists())
volve_3d = segy_loader(volve_3d_path, **well_known_byte_locs("petrel_3d"))
3D True
/opt/hostedtoolcache/Python/3.8.6/x64/lib/python3.8/site-packages/segysak-0.1.dev1-py3.8.egg/segysak/segy/_segy_headers.py:9: TqdmExperimentalWarning: Using `tqdm.autonotebook.tqdm` in notebook mode. Use `tqdm.tqdm` instead to force console mode (e.g. in jupyter console)
from tqdm.autonotebook import tqdm
Loading as 3D
Fast direction is CDP
Vectorisation¶
Once the data is loaded it can be converted to a pandas.DataFrame
directly from the loaded Dataset
. The Dataframe is multi-index and contains columns for each variable in the originally loaded dataset. This includes the seismic amplitude as data
and the cdp_x
and cdp_y
locations. If you require smaller volumes from the input data, you can use xarray selection methods prior to conversion to a DataFrame.
[2]:
volve_3d_df = volve_3d.to_dataframe()
display(volve_3d_df)
data | cdp_x | cdp_y | |||
---|---|---|---|---|---|
iline | twt | xline | |||
10090 | 4.0 | 2150 | 0.020575 | 436400.50000 | 6477447.0 |
2151 | 0.012326 | 436388.37500 | 6477450.0 | ||
2152 | -0.000016 | 436376.21875 | 6477452.5 | ||
2153 | -0.013610 | 436364.12500 | 6477456.0 | ||
2154 | -0.022972 | 436352.00000 | 6477459.0 | ||
... | ... | ... | ... | ... | ... |
10150 | 3400.0 | 2347 | 0.000000 | 434192.62500 | 6478770.5 |
2348 | 0.000000 | 434180.50000 | 6478773.5 | ||
2349 | 0.000000 | 434168.37500 | 6478776.0 | ||
2350 | 0.000000 | 434156.21875 | 6478779.5 | ||
2351 | 0.000000 | 434144.12500 | 6478782.5 |
10473700 rows × 3 columns
We can remove the multi-index by resetting the index of the DataFrame. Vectorized workflows such as machine learning and then be easily applied to the DataFrame.
[3]:
volve_3d_df_reindex = volve_3d_df.reset_index()
display(volve_3d_df_reindex)
iline | twt | xline | data | cdp_x | cdp_y | |
---|---|---|---|---|---|---|
0 | 10090 | 4.0 | 2150 | 0.020575 | 436400.50000 | 6477447.0 |
1 | 10090 | 4.0 | 2151 | 0.012326 | 436388.37500 | 6477450.0 |
2 | 10090 | 4.0 | 2152 | -0.000016 | 436376.21875 | 6477452.5 |
3 | 10090 | 4.0 | 2153 | -0.013610 | 436364.12500 | 6477456.0 |
4 | 10090 | 4.0 | 2154 | -0.022972 | 436352.00000 | 6477459.0 |
... | ... | ... | ... | ... | ... | ... |
10473695 | 10150 | 3400.0 | 2347 | 0.000000 | 434192.62500 | 6478770.5 |
10473696 | 10150 | 3400.0 | 2348 | 0.000000 | 434180.50000 | 6478773.5 |
10473697 | 10150 | 3400.0 | 2349 | 0.000000 | 434168.37500 | 6478776.0 |
10473698 | 10150 | 3400.0 | 2350 | 0.000000 | 434156.21875 | 6478779.5 |
10473699 | 10150 | 3400.0 | 2351 | 0.000000 | 434144.12500 | 6478782.5 |
10473700 rows × 6 columns
Return to Xarray¶
It is possible to return the DataFrame to the Dataset for output to SEGY. To do this the multi-index must be reset. Afterward, pandas
provides the to_xarray
method.
[4]:
volve_3d_df_multi = volve_3d_df_reindex.set_index(["iline", "xline", "twt"])
display(volve_3d_df_multi)
volve_3d_ds = volve_3d_df_multi.to_xarray()
display(volve_3d_ds)
data | cdp_x | cdp_y | |||
---|---|---|---|---|---|
iline | xline | twt | |||
10090 | 2150 | 4.0 | 0.020575 | 436400.50000 | 6477447.0 |
2151 | 4.0 | 0.012326 | 436388.37500 | 6477450.0 | |
2152 | 4.0 | -0.000016 | 436376.21875 | 6477452.5 | |
2153 | 4.0 | -0.013610 | 436364.12500 | 6477456.0 | |
2154 | 4.0 | -0.022972 | 436352.00000 | 6477459.0 | |
... | ... | ... | ... | ... | ... |
10150 | 2347 | 3400.0 | 0.000000 | 434192.62500 | 6478770.5 |
2348 | 3400.0 | 0.000000 | 434180.50000 | 6478773.5 | |
2349 | 3400.0 | 0.000000 | 434168.37500 | 6478776.0 | |
2350 | 3400.0 | 0.000000 | 434156.21875 | 6478779.5 | |
2351 | 3400.0 | 0.000000 | 434144.12500 | 6478782.5 |
10473700 rows × 3 columns
<xarray.Dataset> Dimensions: (iline: 61, twt: 850, xline: 202) Coordinates: * iline (iline) int64 10090 10091 10092 10093 ... 10147 10148 10149 10150 * xline (xline) int64 2150 2151 2152 2153 2154 ... 2347 2348 2349 2350 2351 * twt (twt) float64 4.0 8.0 12.0 16.0 ... 3.392e+03 3.396e+03 3.4e+03 Data variables: data (iline, xline, twt) float32 0.02057 0.02204 0.01966 ... 0.0 0.0 0.0 cdp_x (iline, xline, twt) float32 4.364e+05 4.364e+05 ... 4.341e+05 cdp_y (iline, xline, twt) float32 6.477e+06 6.477e+06 ... 6.479e+06
- iline: 61
- twt: 850
- xline: 202
- iline(iline)int6410090 10091 10092 ... 10149 10150
array([10090, 10091, 10092, 10093, 10094, 10095, 10096, 10097, 10098, 10099, 10100, 10101, 10102, 10103, 10104, 10105, 10106, 10107, 10108, 10109, 10110, 10111, 10112, 10113, 10114, 10115, 10116, 10117, 10118, 10119, 10120, 10121, 10122, 10123, 10124, 10125, 10126, 10127, 10128, 10129, 10130, 10131, 10132, 10133, 10134, 10135, 10136, 10137, 10138, 10139, 10140, 10141, 10142, 10143, 10144, 10145, 10146, 10147, 10148, 10149, 10150])
- xline(xline)int642150 2151 2152 ... 2349 2350 2351
array([2150, 2151, 2152, ..., 2349, 2350, 2351])
- twt(twt)float644.0 8.0 12.0 ... 3.396e+03 3.4e+03
array([ 4., 8., 12., ..., 3392., 3396., 3400.])
- data(iline, xline, twt)float320.02057 0.02204 0.01966 ... 0.0 0.0
array([[[ 2.05745399e-02, 2.20407024e-02, 1.96589418e-02, ..., 0.00000000e+00, 0.00000000e+00, 0.00000000e+00], [ 1.23256370e-02, 1.59417503e-02, 1.38800517e-02, ..., 0.00000000e+00, 0.00000000e+00, 0.00000000e+00], [-1.63372169e-05, 4.92771342e-03, 3.24293785e-03, ..., 0.00000000e+00, 0.00000000e+00, 0.00000000e+00], ..., [ 5.47898412e-02, 5.22681139e-02, 5.00054434e-02, ..., 0.00000000e+00, 0.00000000e+00, 0.00000000e+00], [ 6.27492070e-02, 6.00568764e-02, 5.75365834e-02, ..., 0.00000000e+00, 0.00000000e+00, 0.00000000e+00], [ 6.91987872e-02, 6.67222738e-02, 6.40410781e-02, ..., 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]], [[-3.46487835e-02, -3.38801444e-02, -3.20093483e-02, ..., 0.00000000e+00, 0.00000000e+00, 0.00000000e+00], [-4.10056897e-02, -4.02579159e-02, -3.83855253e-02, ..., 0.00000000e+00, 0.00000000e+00, 0.00000000e+00], [-5.01492284e-02, -4.94211540e-02, -4.75146063e-02, ..., 0.00000000e+00, 0.00000000e+00, 0.00000000e+00], ... 0.00000000e+00, 0.00000000e+00, 0.00000000e+00], [-8.89039040e-03, -9.03325155e-03, -8.77474993e-03, ..., 0.00000000e+00, 0.00000000e+00, 0.00000000e+00], [-8.80905986e-03, -9.18869302e-03, -8.81006569e-03, ..., 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]], [[ 2.17335932e-02, 1.93170868e-02, 2.07530260e-02, ..., 0.00000000e+00, 0.00000000e+00, 0.00000000e+00], [ 2.12477669e-02, 1.89855732e-02, 2.04903930e-02, ..., 0.00000000e+00, 0.00000000e+00, 0.00000000e+00], [ 2.13435888e-02, 1.91475898e-02, 2.07546689e-02, ..., 0.00000000e+00, 0.00000000e+00, 0.00000000e+00], ..., [ 6.19068742e-03, 5.15908375e-03, 6.23933598e-03, ..., 0.00000000e+00, 0.00000000e+00, 0.00000000e+00], [ 7.53349811e-03, 6.49160147e-03, 7.51641765e-03, ..., 0.00000000e+00, 0.00000000e+00, 0.00000000e+00], [ 9.05360654e-03, 7.92511553e-03, 8.82008299e-03, ..., 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]]], dtype=float32)
- cdp_x(iline, xline, twt)float324.364e+05 4.364e+05 ... 4.341e+05
array([[[436400.5 , 436400.5 , 436400.5 , ..., 436400.5 , 436400.5 , 436400.5 ], [436388.38, 436388.38, 436388.38, ..., 436388.38, 436388.38, 436388.38], [436376.22, 436376.22, 436376.22, ..., 436376.22, 436376.22, 436376.22], ..., [433986.9 , 433986.9 , 433986.9 , ..., 433986.9 , 433986.9 , 433986.9 ], [433974.78, 433974.78, 433974.78, ..., 433974.78, 433974.78, 433974.78], [433962.66, 433962.66, 433962.66, ..., 433962.66, 433962.66, 433962.66]], [[436403.5 , 436403.5 , 436403.5 , ..., 436403.5 , 436403.5 , 436403.5 ], [436391.38, 436391.38, 436391.38, ..., 436391.38, 436391.38, 436391.38], [436379.28, 436379.28, 436379.28, ..., 436379.28, 436379.28, 436379.28], ... [434165.34, 434165.34, 434165.34, ..., 434165.34, 434165.34, 434165.34], [434153.22, 434153.22, 434153.22, ..., 434153.22, 434153.22, 434153.22], [434141.12, 434141.12, 434141.12, ..., 434141.12, 434141.12, 434141.12]], [[436582. , 436582. , 436582. , ..., 436582. , 436582. , 436582. ], [436569.84, 436569.84, 436569.84, ..., 436569.84, 436569.84, 436569.84], [436557.72, 436557.72, 436557.72, ..., 436557.72, 436557.72, 436557.72], ..., [434168.38, 434168.38, 434168.38, ..., 434168.38, 434168.38, 434168.38], [434156.22, 434156.22, 434156.22, ..., 434156.22, 434156.22, 434156.22], [434144.12, 434144.12, 434144.12, ..., 434144.12, 434144.12, 434144.12]]], dtype=float32)
- cdp_y(iline, xline, twt)float326.477e+06 6.477e+06 ... 6.479e+06
array([[[6477447. , 6477447. , 6477447. , ..., 6477447. , 6477447. , 6477447. ], [6477450. , 6477450. , 6477450. , ..., 6477450. , 6477450. , 6477450. ], [6477452.5, 6477452.5, 6477452.5, ..., 6477452.5, 6477452.5, 6477452.5], ..., [6478048.5, 6478048.5, 6478048.5, ..., 6478048.5, 6478048.5, 6478048.5], [6478051.5, 6478051.5, 6478051.5, ..., 6478051.5, 6478051.5, 6478051.5], [6478055. , 6478055. , 6478055. , ..., 6478055. , 6478055. , 6478055. ]], [[6477459. , 6477459. , 6477459. , ..., 6477459. , 6477459. , 6477459. ], [6477462.5, 6477462.5, 6477462.5, ..., 6477462.5, 6477462.5, 6477462.5], [6477465. , 6477465. , 6477465. , ..., 6477465. , 6477465. , 6477465. ], ... [6478764.5, 6478764.5, 6478764.5, ..., 6478764.5, 6478764.5, 6478764.5], [6478767. , 6478767. , 6478767. , ..., 6478767. , 6478767. , 6478767. ], [6478770.5, 6478770.5, 6478770.5, ..., 6478770.5, 6478770.5, 6478770.5]], [[6478174.5, 6478174.5, 6478174.5, ..., 6478174.5, 6478174.5, 6478174.5], [6478178. , 6478178. , 6478178. , ..., 6478178. , 6478178. , 6478178. ], [6478181. , 6478181. , 6478181. , ..., 6478181. , 6478181. , 6478181. ], ..., [6478776. , 6478776. , 6478776. , ..., 6478776. , 6478776. , 6478776. ], [6478779.5, 6478779.5, 6478779.5, ..., 6478779.5, 6478779.5, 6478779.5], [6478782.5, 6478782.5, 6478782.5, ..., 6478782.5, 6478782.5, 6478782.5]]], dtype=float32)
The resulting dataset requires some changes to make it compatible again for export to SEGY. Firstly, the attributes need to be set. The simplest way is to copy these from the original SEGY input. Otherwise they can be set manually. segysak
specifically needs the sample_rate
and the coord_scalar
attributes.
[5]:
volve_3d_ds.attrs = volve_3d.attrs
display(volve_3d_ds.attrs)
{'ns': None,
'sample_rate': 4.0,
'text': Text HeaderC 1 SEGY OUTPUT FROM Petrel 2017.2 Saturday, June 06 2020 10:15:00
C 2 Name: ST10010ZDC12-PZ-PSDM-KIRCH-FULL-T.MIG_FIN.POST_STACK.3D.JS-017534
ÝCroC 3
C 4 First inline: 10090 Last inline: 10150
C 5 First xline: 2150 Last xline: 2351
C 6 CRS: ED50-UTM31 ("MENTOR:ED50-UTM31:European 1950 Based UTM, Zone 31 North,
C 7 X min: 433955.09 max: 436589.56 delta: 2634.47
C 8 Y min: 6477439.46 max: 6478790.23 delta: 1350.77
C 9 Time min: -3402.00 max: -2.00 delta: 3400.00
C10 Lat min: 58.25'52.8804"N max: 58.26'37.9493"N delta: 0.00'45.0689"
C11 Long min: 1.52'7.1906"E max: 1.54'50.9616"E delta: 0.02'43.7710"
C12 Trace min: -3400.00 max: -4.00 delta: 3396.00
C13 Seismic (template) min: -58.55 max: 54.55 delta: 113.10
C14 Amplitude (data) min: -58.55 max: 54.55 delta: 113.10
C15 Trace sample format: IEEE floating point
C16 Coordinate scale factor: 100.00000
C17
C18 Binary header locations:
C19 Sample interval : bytes 17-18
C20 Number of samples per trace : bytes 21-22
C21 Trace date format : bytes 25-26
C22
C23 Trace header locations:
C24 Inline number : bytes 5-8
C25 Xline number : bytes 21-24
C26 Coordinate scale factor : bytes 71-72
C27 X coordinate : bytes 73-76
C28 Y coordinate : bytes 77-80
C29 Trace start time/depth : bytes 109-110
C30 Number of samples per trace : bytes 115-116
C31 Sample interval : bytes 117-118
C32
C33
C34
C35
C36
C37
C38
C39
C40 END EBCDIC
,
'measurement_system': 'm',
'd3_domain': None,
'epsg': None,
'corner_points': None,
'corner_points_xy': None,
'source_file': 'volve10r12-full-twt-sub3d.sgy',
'srd': None,
'datatype': None,
'percentiles': [-6.971982623347994,
-6.520540334073793,
-1.4914261935601356,
-5.19284718476843e-05,
1.4461416544023797,
6.346408873777661,
6.888088920417217],
'coord_scalar': -100.0}
The cdp_x
and cdp_y
positions must be reduced to 2D along the vertical axis “twt” and set as coordinates.
[6]:
volve_3d_ds["cdp_x"] = volve_3d_ds["cdp_x"].mean(dim=["twt"])
volve_3d_ds["cdp_y"] = volve_3d_ds["cdp_y"].mean(dim=["twt"])
volve_3d_ds = volve_3d_ds.set_coords(["cdp_x", "cdp_y"])
volve_3d_ds
[6]:
<xarray.Dataset> Dimensions: (iline: 61, twt: 850, xline: 202) Coordinates: * iline (iline) int64 10090 10091 10092 10093 ... 10147 10148 10149 10150 * xline (xline) int64 2150 2151 2152 2153 2154 ... 2347 2348 2349 2350 2351 * twt (twt) float64 4.0 8.0 12.0 16.0 ... 3.392e+03 3.396e+03 3.4e+03 cdp_x (iline, xline) float32 4.364e+05 4.364e+05 ... 4.342e+05 4.341e+05 cdp_y (iline, xline) float32 6.477e+06 6.477e+06 ... 6.479e+06 6.479e+06 Data variables: data (iline, xline, twt) float32 0.02057 0.02204 0.01966 ... 0.0 0.0 0.0 Attributes: ns: None sample_rate: 4.0 text: C 1 SEGY OUTPUT FROM Petrel 2017.2 Saturday, June 06... measurement_system: m d3_domain: None epsg: None corner_points: None corner_points_xy: None source_file: volve10r12-full-twt-sub3d.sgy srd: None datatype: None percentiles: [-6.971982623347994, -6.520540334073793, -1.49142619... coord_scalar: -100.0
- iline: 61
- twt: 850
- xline: 202
- iline(iline)int6410090 10091 10092 ... 10149 10150
array([10090, 10091, 10092, 10093, 10094, 10095, 10096, 10097, 10098, 10099, 10100, 10101, 10102, 10103, 10104, 10105, 10106, 10107, 10108, 10109, 10110, 10111, 10112, 10113, 10114, 10115, 10116, 10117, 10118, 10119, 10120, 10121, 10122, 10123, 10124, 10125, 10126, 10127, 10128, 10129, 10130, 10131, 10132, 10133, 10134, 10135, 10136, 10137, 10138, 10139, 10140, 10141, 10142, 10143, 10144, 10145, 10146, 10147, 10148, 10149, 10150])
- xline(xline)int642150 2151 2152 ... 2349 2350 2351
array([2150, 2151, 2152, ..., 2349, 2350, 2351])
- twt(twt)float644.0 8.0 12.0 ... 3.396e+03 3.4e+03
array([ 4., 8., 12., ..., 3392., 3396., 3400.])
- cdp_x(iline, xline)float324.364e+05 4.364e+05 ... 4.341e+05
array([[436400.53, 436388.44, 436376.16, ..., 433986.94, 433974.84, 433962.66], [436403.5 , 436391.47, 436379.34, ..., 433989.94, 433977.8 , 433965.66], [436406.5 , 436394.47, 436382.34, ..., 433992.97, 433980.84, 433968.7 ], ..., [436575.97, 436563.84, 436551.66, ..., 434162.34, 434150.2 , 434138.06], [436578.94, 436566.84, 436554.66, ..., 434165.34, 434153.16, 434141.06], [436582.03, 436569.8 , 436557.66, ..., 434168.47, 434156.16, 434144.03]], dtype=float32)
- cdp_y(iline, xline)float326.477e+06 6.477e+06 ... 6.479e+06
array([[6477447. , 6477449.5, 6477453. , ..., 6478048.5, 6478051. , 6478055.5], [6477459. , 6477464. , 6477465. , ..., 6478060.5, 6478064.5, 6478066.5], [6477471. , 6477474.5, 6477477. , ..., 6478073. , 6478076.5, 6478079.5], ..., [6478151.5, 6478153. , 6478157. , ..., 6478753. , 6478755. , 6478759.5], [6478162.5, 6478165.5, 6478168.5, ..., 6478765. , 6478767.5, 6478771. ], [6478175. , 6478177. , 6478180.5, ..., 6478775.5, 6478779.5, 6478783. ]], dtype=float32)
- data(iline, xline, twt)float320.02057 0.02204 0.01966 ... 0.0 0.0
array([[[ 2.05745399e-02, 2.20407024e-02, 1.96589418e-02, ..., 0.00000000e+00, 0.00000000e+00, 0.00000000e+00], [ 1.23256370e-02, 1.59417503e-02, 1.38800517e-02, ..., 0.00000000e+00, 0.00000000e+00, 0.00000000e+00], [-1.63372169e-05, 4.92771342e-03, 3.24293785e-03, ..., 0.00000000e+00, 0.00000000e+00, 0.00000000e+00], ..., [ 5.47898412e-02, 5.22681139e-02, 5.00054434e-02, ..., 0.00000000e+00, 0.00000000e+00, 0.00000000e+00], [ 6.27492070e-02, 6.00568764e-02, 5.75365834e-02, ..., 0.00000000e+00, 0.00000000e+00, 0.00000000e+00], [ 6.91987872e-02, 6.67222738e-02, 6.40410781e-02, ..., 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]], [[-3.46487835e-02, -3.38801444e-02, -3.20093483e-02, ..., 0.00000000e+00, 0.00000000e+00, 0.00000000e+00], [-4.10056897e-02, -4.02579159e-02, -3.83855253e-02, ..., 0.00000000e+00, 0.00000000e+00, 0.00000000e+00], [-5.01492284e-02, -4.94211540e-02, -4.75146063e-02, ..., 0.00000000e+00, 0.00000000e+00, 0.00000000e+00], ... 0.00000000e+00, 0.00000000e+00, 0.00000000e+00], [-8.89039040e-03, -9.03325155e-03, -8.77474993e-03, ..., 0.00000000e+00, 0.00000000e+00, 0.00000000e+00], [-8.80905986e-03, -9.18869302e-03, -8.81006569e-03, ..., 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]], [[ 2.17335932e-02, 1.93170868e-02, 2.07530260e-02, ..., 0.00000000e+00, 0.00000000e+00, 0.00000000e+00], [ 2.12477669e-02, 1.89855732e-02, 2.04903930e-02, ..., 0.00000000e+00, 0.00000000e+00, 0.00000000e+00], [ 2.13435888e-02, 1.91475898e-02, 2.07546689e-02, ..., 0.00000000e+00, 0.00000000e+00, 0.00000000e+00], ..., [ 6.19068742e-03, 5.15908375e-03, 6.23933598e-03, ..., 0.00000000e+00, 0.00000000e+00, 0.00000000e+00], [ 7.53349811e-03, 6.49160147e-03, 7.51641765e-03, ..., 0.00000000e+00, 0.00000000e+00, 0.00000000e+00], [ 9.05360654e-03, 7.92511553e-03, 8.82008299e-03, ..., 0.00000000e+00, 0.00000000e+00, 0.00000000e+00]]], dtype=float32)
- ns :
- None
- sample_rate :
- 4.0
- text :
- C 1 SEGY OUTPUT FROM Petrel 2017.2 Saturday, June 06 2020 10:15:00 C 2 Name: ST10010ZDC12-PZ-PSDM-KIRCH-FULL-T.MIG_FIN.POST_STACK.3D.JS-017534 ÝCroC 3 C 4 First inline: 10090 Last inline: 10150 C 5 First xline: 2150 Last xline: 2351 C 6 CRS: ED50-UTM31 ("MENTOR:ED50-UTM31:European 1950 Based UTM, Zone 31 North, C 7 X min: 433955.09 max: 436589.56 delta: 2634.47 C 8 Y min: 6477439.46 max: 6478790.23 delta: 1350.77 C 9 Time min: -3402.00 max: -2.00 delta: 3400.00 C10 Lat min: 58.25'52.8804"N max: 58.26'37.9493"N delta: 0.00'45.0689" C11 Long min: 1.52'7.1906"E max: 1.54'50.9616"E delta: 0.02'43.7710" C12 Trace min: -3400.00 max: -4.00 delta: 3396.00 C13 Seismic (template) min: -58.55 max: 54.55 delta: 113.10 C14 Amplitude (data) min: -58.55 max: 54.55 delta: 113.10 C15 Trace sample format: IEEE floating point C16 Coordinate scale factor: 100.00000 C17 C18 Binary header locations: C19 Sample interval : bytes 17-18 C20 Number of samples per trace : bytes 21-22 C21 Trace date format : bytes 25-26 C22 C23 Trace header locations: C24 Inline number : bytes 5-8 C25 Xline number : bytes 21-24 C26 Coordinate scale factor : bytes 71-72 C27 X coordinate : bytes 73-76 C28 Y coordinate : bytes 77-80 C29 Trace start time/depth : bytes 109-110 C30 Number of samples per trace : bytes 115-116 C31 Sample interval : bytes 117-118 C32 C33 C34 C35 C36 C37 C38 C39 C40 END EBCDIC
- measurement_system :
- m
- d3_domain :
- None
- epsg :
- None
- corner_points :
- None
- corner_points_xy :
- None
- source_file :
- volve10r12-full-twt-sub3d.sgy
- srd :
- None
- datatype :
- None
- percentiles :
- [-6.971982623347994, -6.520540334073793, -1.4914261935601356, -5.19284718476843e-05, 1.4461416544023797, 6.346408873777661, 6.888088920417217]
- coord_scalar :
- -100.0
Afterwards, use the segy_writer
utility as normal to return to SEGY.
[7]:
segy_writer(volve_3d_ds, "test.segy")