segysak.segy.segy_freeloader

segysak.segy.segy_freeloader(segyfile, vert_domain='TWT', data_type='AMP', return_geometry=False, silent=False, extra_byte_fields=None, head_df=None, segyio_kwargs=None, **dim_kwargs)

Freeform loader for SEG-Y data. This loader allows you to load SEG-Y into an xarray.Dataset using an arbitrary number of header locations to create othogonal dimensions. This is an eager loader and will transfer the entire SEG-Y and requested header information to memory.

From the dimension header locations specified the freeloader will try to create a Dataset where each trace is assigned to a dimension.

Parameters
  • segyfile (string) – The SEG-Y file/path.

  • vert_domain (str, optional) – One of (‘TWT’, ‘DEPTH’). Defaults to ‘TWT’.

  • data_type (str, optional) – Defaults to “AMP”.

  • return_geometry (bool, optional) – If true, just returned the empty dataset based upon the calcuated header geometry. Defaults to False.

  • silent (bool, optional) – Turn off progress bars. Defaults to False.

  • extra_byte_fields (dict, optional) – Additional header information to load into the Dataset. Defaults to None.

  • head_df (pandas.DataFrame) – The DataFrame output from segy_header_scrape. This DataFrame can be filtered by the user to load select trace sets. Trace loading is based upon the DataFrame index.

  • segyio_kwargs (dict, optional) – Extra keyword arguments for segyio.open

  • **dim_kwargs – Dimension names and byte location pairs.