From b8bbcf57f9b76d86e9457bfc89426baf99b55bf3 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Tue, 7 May 2024 16:24:07 +0000 Subject: [PATCH] Deployed 5ed077b to 0.5.dev46+unknown with MkDocs 1.6.0 and mike 2.1.1 --- 0.5.dev46+unknown/404.html | 1467 ++++ 0.5.dev46+unknown/LICENSE.html | 2115 +++++ 0.5.dev46+unknown/LICENSE.md | 674 ++ 0.5.dev46+unknown/api.html | 1520 ++++ 0.5.dev46+unknown/api.md | 6 + 0.5.dev46+unknown/api/segy_inspecting.html | 2499 ++++++ 0.5.dev46+unknown/api/segy_inspecting.md | 11 + 0.5.dev46+unknown/api/segy_loading.html | 3528 +++++++++ 0.5.dev46+unknown/api/segy_loading.md | 10 + 0.5.dev46+unknown/api/segy_text.html | 2205 ++++++ 0.5.dev46+unknown/api/segy_text.md | 12 + 0.5.dev46+unknown/api/segy_writing.html | 2301 ++++++ 0.5.dev46+unknown/api/segy_writing.md | 9 + 0.5.dev46+unknown/api/segy_xarray.html | 1510 ++++ 0.5.dev46+unknown/api/segy_xarray.md | 0 0.5.dev46+unknown/api/xarray_accessor.html | 5823 ++++++++++++++ 0.5.dev46+unknown/api/xarray_accessor.md | 15 + 0.5.dev46+unknown/api/xarray_new.html | 2662 +++++++ 0.5.dev46+unknown/api/xarray_new.md | 12 + 0.5.dev46+unknown/assets/_mkdocstrings.css | 119 + 0.5.dev46+unknown/assets/images/favicon.png | Bin 0 -> 1870 bytes .../assets/javascripts/bundle.a7c05c9e.min.js | 29 + .../javascripts/bundle.a7c05c9e.min.js.map | 7 + .../javascripts/lunr/min/lunr.ar.min.js | 1 + .../javascripts/lunr/min/lunr.da.min.js | 18 + .../javascripts/lunr/min/lunr.de.min.js | 18 + .../javascripts/lunr/min/lunr.du.min.js | 18 + .../javascripts/lunr/min/lunr.el.min.js | 1 + .../javascripts/lunr/min/lunr.es.min.js | 18 + .../javascripts/lunr/min/lunr.fi.min.js | 18 + .../javascripts/lunr/min/lunr.fr.min.js | 18 + .../javascripts/lunr/min/lunr.he.min.js | 1 + .../javascripts/lunr/min/lunr.hi.min.js | 1 + .../javascripts/lunr/min/lunr.hu.min.js | 18 + .../javascripts/lunr/min/lunr.hy.min.js | 1 + .../javascripts/lunr/min/lunr.it.min.js | 18 + .../javascripts/lunr/min/lunr.ja.min.js | 1 + .../javascripts/lunr/min/lunr.jp.min.js | 1 + .../javascripts/lunr/min/lunr.kn.min.js | 1 + .../javascripts/lunr/min/lunr.ko.min.js | 1 + .../javascripts/lunr/min/lunr.multi.min.js | 1 + .../javascripts/lunr/min/lunr.nl.min.js | 18 + .../javascripts/lunr/min/lunr.no.min.js | 18 + .../javascripts/lunr/min/lunr.pt.min.js | 18 + .../javascripts/lunr/min/lunr.ro.min.js | 18 + .../javascripts/lunr/min/lunr.ru.min.js | 18 + .../javascripts/lunr/min/lunr.sa.min.js | 1 + .../lunr/min/lunr.stemmer.support.min.js | 1 + .../javascripts/lunr/min/lunr.sv.min.js | 18 + .../javascripts/lunr/min/lunr.ta.min.js | 1 + .../javascripts/lunr/min/lunr.te.min.js | 1 + .../javascripts/lunr/min/lunr.th.min.js | 1 + .../javascripts/lunr/min/lunr.tr.min.js | 18 + .../javascripts/lunr/min/lunr.vi.min.js | 1 + .../javascripts/lunr/min/lunr.zh.min.js | 1 + .../assets/javascripts/lunr/tinyseg.js | 206 + .../assets/javascripts/lunr/wordcut.js | 6708 ++++++++++++++++ .../workers/search.b8dbb3d2.min.js | 42 + .../workers/search.b8dbb3d2.min.js.map | 7 + .../assets/stylesheets/main.66ac8b77.min.css | 1 + .../stylesheets/main.66ac8b77.min.css.map | 1 + .../stylesheets/palette.06af60db.min.css | 1 + .../stylesheets/palette.06af60db.min.css.map | 1 + 0.5.dev46+unknown/cli/about.html | 1555 ++++ 0.5.dev46+unknown/cli/about.md | 47 + 0.5.dev46+unknown/cli/command-line-ref.html | 1702 ++++ 0.5.dev46+unknown/cli/command-line-ref.md | 35 + 0.5.dev46+unknown/code_of_conduct.html | 1619 ++++ 0.5.dev46+unknown/code_of_conduct.md | 78 + 0.5.dev46+unknown/conf.py | 190 + 0.5.dev46+unknown/examples/QuickOverview.html | 4094 ++++++++++ .../examples/QuickOverview.ipynb | 2164 ++++++ ...example_amplitude_extraction_displays.html | 3535 +++++++++ ...xample_amplitude_extraction_displays.ipynb | 1127 +++ .../example_extract_arbitrary_line.html | 3649 +++++++++ .../example_extract_arbitrary_line.ipynb | 1247 +++ .../example_extract_data_on_a_horizon.html | 3890 ++++++++++ .../example_extract_data_on_a_horizon.ipynb | 1844 +++++ .../examples/example_merge_surveys.html | 6865 +++++++++++++++++ .../examples/example_merge_surveys.ipynb | 4469 +++++++++++ .../examples/example_segy_headers.html | 4474 +++++++++++ .../examples/example_segy_headers.ipynb | 2896 +++++++ .../examples/example_segysak_basics.html | 3987 ++++++++++ .../examples/example_segysak_basics.ipynb | 1762 +++++ .../examples/example_segysak_dask.html | 4141 ++++++++++ .../examples/example_segysak_dask.ipynb | 2094 +++++ .../example_segysak_segy_vectorisation.html | 4116 ++++++++++ .../example_segysak_segy_vectorisation.ipynb | 2109 +++++ .../example_working_with_3d_gathers.html | 4882 ++++++++++++ .../example_working_with_3d_gathers.ipynb | 2950 +++++++ 0.5.dev46+unknown/examples_about.html | 1510 ++++ 0.5.dev46+unknown/examples_about.md | 0 0.5.dev46+unknown/figures/logo.png | Bin 0 -> 104225 bytes 0.5.dev46+unknown/figures/segysak_logo.svg | 1471 ++++ 0.5.dev46+unknown/figures/segysak_logo2.svg | 203 + 0.5.dev46+unknown/history.html | 1589 ++++ 0.5.dev46+unknown/history.md | 14 + 0.5.dev46+unknown/index.html | 1737 +++++ 0.5.dev46+unknown/index.md | 127 + 0.5.dev46+unknown/installation.html | 1613 ++++ 0.5.dev46+unknown/installation.md | 26 + 0.5.dev46+unknown/meta/faq.html | 1628 ++++ 0.5.dev46+unknown/meta/faq.md | 27 + 0.5.dev46+unknown/objects.inv | Bin 0 -> 958 bytes 0.5.dev46+unknown/overrides/main.html | 18 + 0.5.dev46+unknown/quickstart.html | 1519 ++++ 0.5.dev46+unknown/quickstart.md | 0 0.5.dev46+unknown/search/search_index.json | 1 + 0.5.dev46+unknown/seisnc-standard.html | 1685 ++++ 0.5.dev46+unknown/seisnc-standard.md | 73 + 0.5.dev46+unknown/seisnc.html | 1519 ++++ 0.5.dev46+unknown/seisnc.md | 0 0.5.dev46+unknown/sitemap.xml | 163 + 0.5.dev46+unknown/sitemap.xml.gz | Bin 0 -> 537 bytes 0.5.dev46+unknown/tutorial.html | 1521 ++++ 0.5.dev46+unknown/tutorial.md | 11 + 0.5.dev46+unknown/why-segysak.html | 1547 ++++ 0.5.dev46+unknown/why-segysak.md | 26 + dev | 2 +- versions.json | 9 +- 120 files changed, 123345 insertions(+), 3 deletions(-) create mode 100644 0.5.dev46+unknown/404.html create mode 100644 0.5.dev46+unknown/LICENSE.html create mode 100644 0.5.dev46+unknown/LICENSE.md create mode 100644 0.5.dev46+unknown/api.html create mode 100644 0.5.dev46+unknown/api.md create mode 100644 0.5.dev46+unknown/api/segy_inspecting.html create mode 100644 0.5.dev46+unknown/api/segy_inspecting.md create mode 100644 0.5.dev46+unknown/api/segy_loading.html create mode 100644 0.5.dev46+unknown/api/segy_loading.md create mode 100644 0.5.dev46+unknown/api/segy_text.html create mode 100644 0.5.dev46+unknown/api/segy_text.md create mode 100644 0.5.dev46+unknown/api/segy_writing.html create mode 100644 0.5.dev46+unknown/api/segy_writing.md create mode 100644 0.5.dev46+unknown/api/segy_xarray.html create mode 100644 0.5.dev46+unknown/api/segy_xarray.md create mode 100644 0.5.dev46+unknown/api/xarray_accessor.html create mode 100644 0.5.dev46+unknown/api/xarray_accessor.md create mode 100644 0.5.dev46+unknown/api/xarray_new.html create mode 100644 0.5.dev46+unknown/api/xarray_new.md create mode 100644 0.5.dev46+unknown/assets/_mkdocstrings.css create mode 100644 0.5.dev46+unknown/assets/images/favicon.png create mode 100644 0.5.dev46+unknown/assets/javascripts/bundle.a7c05c9e.min.js create mode 100644 0.5.dev46+unknown/assets/javascripts/bundle.a7c05c9e.min.js.map create mode 100644 0.5.dev46+unknown/assets/javascripts/lunr/min/lunr.ar.min.js create mode 100644 0.5.dev46+unknown/assets/javascripts/lunr/min/lunr.da.min.js create mode 100644 0.5.dev46+unknown/assets/javascripts/lunr/min/lunr.de.min.js create mode 100644 0.5.dev46+unknown/assets/javascripts/lunr/min/lunr.du.min.js create mode 100644 0.5.dev46+unknown/assets/javascripts/lunr/min/lunr.el.min.js create mode 100644 0.5.dev46+unknown/assets/javascripts/lunr/min/lunr.es.min.js create mode 100644 0.5.dev46+unknown/assets/javascripts/lunr/min/lunr.fi.min.js create mode 100644 0.5.dev46+unknown/assets/javascripts/lunr/min/lunr.fr.min.js create mode 100644 0.5.dev46+unknown/assets/javascripts/lunr/min/lunr.he.min.js create mode 100644 0.5.dev46+unknown/assets/javascripts/lunr/min/lunr.hi.min.js create mode 100644 0.5.dev46+unknown/assets/javascripts/lunr/min/lunr.hu.min.js create mode 100644 0.5.dev46+unknown/assets/javascripts/lunr/min/lunr.hy.min.js create mode 100644 0.5.dev46+unknown/assets/javascripts/lunr/min/lunr.it.min.js create mode 100644 0.5.dev46+unknown/assets/javascripts/lunr/min/lunr.ja.min.js create mode 100644 0.5.dev46+unknown/assets/javascripts/lunr/min/lunr.jp.min.js create mode 100644 0.5.dev46+unknown/assets/javascripts/lunr/min/lunr.kn.min.js create mode 100644 0.5.dev46+unknown/assets/javascripts/lunr/min/lunr.ko.min.js create mode 100644 0.5.dev46+unknown/assets/javascripts/lunr/min/lunr.multi.min.js create mode 100644 0.5.dev46+unknown/assets/javascripts/lunr/min/lunr.nl.min.js create mode 100644 0.5.dev46+unknown/assets/javascripts/lunr/min/lunr.no.min.js create mode 100644 0.5.dev46+unknown/assets/javascripts/lunr/min/lunr.pt.min.js create mode 100644 0.5.dev46+unknown/assets/javascripts/lunr/min/lunr.ro.min.js create mode 100644 0.5.dev46+unknown/assets/javascripts/lunr/min/lunr.ru.min.js create mode 100644 0.5.dev46+unknown/assets/javascripts/lunr/min/lunr.sa.min.js create mode 100644 0.5.dev46+unknown/assets/javascripts/lunr/min/lunr.stemmer.support.min.js create mode 100644 0.5.dev46+unknown/assets/javascripts/lunr/min/lunr.sv.min.js create mode 100644 0.5.dev46+unknown/assets/javascripts/lunr/min/lunr.ta.min.js create mode 100644 0.5.dev46+unknown/assets/javascripts/lunr/min/lunr.te.min.js create mode 100644 0.5.dev46+unknown/assets/javascripts/lunr/min/lunr.th.min.js create mode 100644 0.5.dev46+unknown/assets/javascripts/lunr/min/lunr.tr.min.js create mode 100644 0.5.dev46+unknown/assets/javascripts/lunr/min/lunr.vi.min.js create mode 100644 0.5.dev46+unknown/assets/javascripts/lunr/min/lunr.zh.min.js create mode 100644 0.5.dev46+unknown/assets/javascripts/lunr/tinyseg.js create mode 100644 0.5.dev46+unknown/assets/javascripts/lunr/wordcut.js create mode 100644 0.5.dev46+unknown/assets/javascripts/workers/search.b8dbb3d2.min.js create mode 100644 0.5.dev46+unknown/assets/javascripts/workers/search.b8dbb3d2.min.js.map create mode 100644 0.5.dev46+unknown/assets/stylesheets/main.66ac8b77.min.css create mode 100644 0.5.dev46+unknown/assets/stylesheets/main.66ac8b77.min.css.map create mode 100644 0.5.dev46+unknown/assets/stylesheets/palette.06af60db.min.css create mode 100644 0.5.dev46+unknown/assets/stylesheets/palette.06af60db.min.css.map create mode 100644 0.5.dev46+unknown/cli/about.html create mode 100644 0.5.dev46+unknown/cli/about.md create mode 100644 0.5.dev46+unknown/cli/command-line-ref.html create mode 100644 0.5.dev46+unknown/cli/command-line-ref.md create mode 100644 0.5.dev46+unknown/code_of_conduct.html create mode 100644 0.5.dev46+unknown/code_of_conduct.md create mode 100644 0.5.dev46+unknown/conf.py create mode 100644 0.5.dev46+unknown/examples/QuickOverview.html create mode 100644 0.5.dev46+unknown/examples/QuickOverview.ipynb create mode 100644 0.5.dev46+unknown/examples/example_amplitude_extraction_displays.html create mode 100644 0.5.dev46+unknown/examples/example_amplitude_extraction_displays.ipynb create mode 100644 0.5.dev46+unknown/examples/example_extract_arbitrary_line.html create mode 100644 0.5.dev46+unknown/examples/example_extract_arbitrary_line.ipynb create mode 100644 0.5.dev46+unknown/examples/example_extract_data_on_a_horizon.html create mode 100644 0.5.dev46+unknown/examples/example_extract_data_on_a_horizon.ipynb create mode 100644 0.5.dev46+unknown/examples/example_merge_surveys.html create mode 100644 0.5.dev46+unknown/examples/example_merge_surveys.ipynb create mode 100644 0.5.dev46+unknown/examples/example_segy_headers.html create mode 100644 0.5.dev46+unknown/examples/example_segy_headers.ipynb create mode 100644 0.5.dev46+unknown/examples/example_segysak_basics.html create mode 100644 0.5.dev46+unknown/examples/example_segysak_basics.ipynb create mode 100644 0.5.dev46+unknown/examples/example_segysak_dask.html create mode 100644 0.5.dev46+unknown/examples/example_segysak_dask.ipynb create mode 100644 0.5.dev46+unknown/examples/example_segysak_segy_vectorisation.html create mode 100644 0.5.dev46+unknown/examples/example_segysak_segy_vectorisation.ipynb create mode 100644 0.5.dev46+unknown/examples/example_working_with_3d_gathers.html create mode 100644 0.5.dev46+unknown/examples/example_working_with_3d_gathers.ipynb create mode 100644 0.5.dev46+unknown/examples_about.html create mode 100644 0.5.dev46+unknown/examples_about.md create mode 100644 0.5.dev46+unknown/figures/logo.png create mode 100644 0.5.dev46+unknown/figures/segysak_logo.svg create mode 100644 0.5.dev46+unknown/figures/segysak_logo2.svg create mode 100644 0.5.dev46+unknown/history.html create mode 100644 0.5.dev46+unknown/history.md create mode 100644 0.5.dev46+unknown/index.html create mode 100644 0.5.dev46+unknown/index.md create mode 100644 0.5.dev46+unknown/installation.html create mode 100644 0.5.dev46+unknown/installation.md create mode 100644 0.5.dev46+unknown/meta/faq.html create mode 100644 0.5.dev46+unknown/meta/faq.md create mode 100644 0.5.dev46+unknown/objects.inv create mode 100644 0.5.dev46+unknown/overrides/main.html create mode 100644 0.5.dev46+unknown/quickstart.html create mode 100644 0.5.dev46+unknown/quickstart.md create mode 100644 0.5.dev46+unknown/search/search_index.json create mode 100644 0.5.dev46+unknown/seisnc-standard.html create mode 100644 0.5.dev46+unknown/seisnc-standard.md create mode 100644 0.5.dev46+unknown/seisnc.html create mode 100644 0.5.dev46+unknown/seisnc.md create mode 100644 0.5.dev46+unknown/sitemap.xml create mode 100644 0.5.dev46+unknown/sitemap.xml.gz create mode 100644 0.5.dev46+unknown/tutorial.html create mode 100644 0.5.dev46+unknown/tutorial.md create mode 100644 0.5.dev46+unknown/why-segysak.html create mode 100644 0.5.dev46+unknown/why-segysak.md diff --git a/0.5.dev46+unknown/404.html b/0.5.dev46+unknown/404.html new file mode 100644 index 0000000..b61e606 --- /dev/null +++ b/0.5.dev46+unknown/404.html @@ -0,0 +1,1467 @@ + + + +
+ + + + + + + + + + + + + + + + + + + GNU GENERAL PUBLIC LICENSE
+ Version 3, 29 June 2007
+
Copyright (C) 2007 Free Software Foundation, Inc. https://fsf.org/ + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed.
+ Preamble
+
The GNU General Public License is a free, copyleft license for +software and other kinds of works.
+The licenses for most software and other practical works are designed +to take away your freedom to share and change the works. By contrast, +the GNU General Public License is intended to guarantee your freedom to +share and change all versions of a program--to make sure it remains free +software for all its users. We, the Free Software Foundation, use the +GNU General Public License for most of our software; it applies also to +any other work released this way by its authors. You can apply it to +your programs, too.
+When we speak of free software, we are referring to freedom, not +price. Our General Public Licenses are designed to make sure that you +have the freedom to distribute copies of free software (and charge for +them if you wish), that you receive source code or can get it if you +want it, that you can change the software or use pieces of it in new +free programs, and that you know you can do these things.
+To protect your rights, we need to prevent others from denying you +these rights or asking you to surrender the rights. Therefore, you have +certain responsibilities if you distribute copies of the software, or if +you modify it: responsibilities to respect the freedom of others.
+For example, if you distribute copies of such a program, whether +gratis or for a fee, you must pass on to the recipients the same +freedoms that you received. You must make sure that they, too, receive +or can get the source code. And you must show them these terms so they +know their rights.
+Developers that use the GNU GPL protect your rights with two steps: +(1) assert copyright on the software, and (2) offer you this License +giving you legal permission to copy, distribute and/or modify it.
+For the developers' and authors' protection, the GPL clearly explains +that there is no warranty for this free software. For both users' and +authors' sake, the GPL requires that modified versions be marked as +changed, so that their problems will not be attributed erroneously to +authors of previous versions.
+Some devices are designed to deny users access to install or run +modified versions of the software inside them, although the manufacturer +can do so. This is fundamentally incompatible with the aim of +protecting users' freedom to change the software. The systematic +pattern of such abuse occurs in the area of products for individuals to +use, which is precisely where it is most unacceptable. Therefore, we +have designed this version of the GPL to prohibit the practice for those +products. If such problems arise substantially in other domains, we +stand ready to extend this provision to those domains in future versions +of the GPL, as needed to protect the freedom of users.
+Finally, every program is threatened constantly by software patents. +States should not allow patents to restrict development and use of +software on general-purpose computers, but in those that do, we wish to +avoid the special danger that patents applied to a free program could +make it effectively proprietary. To prevent this, the GPL assures that +patents cannot be used to render the program non-free.
+The precise terms and conditions for copying, distribution and +modification follow.
+ TERMS AND CONDITIONS
+
"This License" refers to version 3 of the GNU General Public License.
+"Copyright" also means copyright-like laws that apply to other kinds of +works, such as semiconductor masks.
+"The Program" refers to any copyrightable work licensed under this +License. Each licensee is addressed as "you". "Licensees" and +"recipients" may be individuals or organizations.
+To "modify" a work means to copy from or adapt all or part of the work +in a fashion requiring copyright permission, other than the making of an +exact copy. The resulting work is called a "modified version" of the +earlier work or a work "based on" the earlier work.
+A "covered work" means either the unmodified Program or a work based +on the Program.
+To "propagate" a work means to do anything with it that, without +permission, would make you directly or secondarily liable for +infringement under applicable copyright law, except executing it on a +computer or modifying a private copy. Propagation includes copying, +distribution (with or without modification), making available to the +public, and in some countries other activities as well.
+To "convey" a work means any kind of propagation that enables other +parties to make or receive copies. Mere interaction with a user through +a computer network, with no transfer of a copy, is not conveying.
+An interactive user interface displays "Appropriate Legal Notices" +to the extent that it includes a convenient and prominently visible +feature that (1) displays an appropriate copyright notice, and (2) +tells the user that there is no warranty for the work (except to the +extent that warranties are provided), that licensees may convey the +work under this License, and how to view a copy of this License. If +the interface presents a list of user commands or options, such as a +menu, a prominent item in the list meets this criterion.
+The "source code" for a work means the preferred form of the work +for making modifications to it. "Object code" means any non-source +form of a work.
+A "Standard Interface" means an interface that either is an official +standard defined by a recognized standards body, or, in the case of +interfaces specified for a particular programming language, one that +is widely used among developers working in that language.
+The "System Libraries" of an executable work include anything, other +than the work as a whole, that (a) is included in the normal form of +packaging a Major Component, but which is not part of that Major +Component, and (b) serves only to enable use of the work with that +Major Component, or to implement a Standard Interface for which an +implementation is available to the public in source code form. A +"Major Component", in this context, means a major essential component +(kernel, window system, and so on) of the specific operating system +(if any) on which the executable work runs, or a compiler used to +produce the work, or an object code interpreter used to run it.
+The "Corresponding Source" for a work in object code form means all +the source code needed to generate, install, and (for an executable +work) run the object code and to modify the work, including scripts to +control those activities. However, it does not include the work's +System Libraries, or general-purpose tools or generally available free +programs which are used unmodified in performing those activities but +which are not part of the work. For example, Corresponding Source +includes interface definition files associated with source files for +the work, and the source code for shared libraries and dynamically +linked subprograms that the work is specifically designed to require, +such as by intimate data communication or control flow between those +subprograms and other parts of the work.
+The Corresponding Source need not include anything that users +can regenerate automatically from other parts of the Corresponding +Source.
+The Corresponding Source for a work in source code form is that +same work.
+All rights granted under this License are granted for the term of +copyright on the Program, and are irrevocable provided the stated +conditions are met. This License explicitly affirms your unlimited +permission to run the unmodified Program. The output from running a +covered work is covered by this License only if the output, given its +content, constitutes a covered work. This License acknowledges your +rights of fair use or other equivalent, as provided by copyright law.
+You may make, run and propagate covered works that you do not +convey, without conditions so long as your license otherwise remains +in force. You may convey covered works to others for the sole purpose +of having them make modifications exclusively for you, or provide you +with facilities for running those works, provided that you comply with +the terms of this License in conveying all material for which you do +not control copyright. Those thus making or running the covered works +for you must do so exclusively on your behalf, under your direction +and control, on terms that prohibit them from making any copies of +your copyrighted material outside their relationship with you.
+Conveying under any other circumstances is permitted solely under +the conditions stated below. Sublicensing is not allowed; section 10 +makes it unnecessary.
+No covered work shall be deemed part of an effective technological +measure under any applicable law fulfilling obligations under article +11 of the WIPO copyright treaty adopted on 20 December 1996, or +similar laws prohibiting or restricting circumvention of such +measures.
+When you convey a covered work, you waive any legal power to forbid +circumvention of technological measures to the extent such circumvention +is effected by exercising rights under this License with respect to +the covered work, and you disclaim any intention to limit operation or +modification of the work as a means of enforcing, against the work's +users, your or third parties' legal rights to forbid circumvention of +technological measures.
+You may convey verbatim copies of the Program's source code as you +receive it, in any medium, provided that you conspicuously and +appropriately publish on each copy an appropriate copyright notice; +keep intact all notices stating that this License and any +non-permissive terms added in accord with section 7 apply to the code; +keep intact all notices of the absence of any warranty; and give all +recipients a copy of this License along with the Program.
+You may charge any price or no price for each copy that you convey, +and you may offer support or warranty protection for a fee.
+You may convey a work based on the Program, or the modifications to +produce it from the Program, in the form of source code under the +terms of section 4, provided that you also meet all of these conditions:
+a) The work must carry prominent notices stating that you modified
+it, and giving a relevant date.
+
+b) The work must carry prominent notices stating that it is
+released under this License and any conditions added under section
+7. This requirement modifies the requirement in section 4 to
+"keep intact all notices".
+
+c) You must license the entire work, as a whole, under this
+License to anyone who comes into possession of a copy. This
+License will therefore apply, along with any applicable section 7
+additional terms, to the whole of the work, and all its parts,
+regardless of how they are packaged. This License gives no
+permission to license the work in any other way, but it does not
+invalidate such permission if you have separately received it.
+
+d) If the work has interactive user interfaces, each must display
+Appropriate Legal Notices; however, if the Program has interactive
+interfaces that do not display Appropriate Legal Notices, your
+work need not make them do so.
+
A compilation of a covered work with other separate and independent +works, which are not by their nature extensions of the covered work, +and which are not combined with it such as to form a larger program, +in or on a volume of a storage or distribution medium, is called an +"aggregate" if the compilation and its resulting copyright are not +used to limit the access or legal rights of the compilation's users +beyond what the individual works permit. Inclusion of a covered work +in an aggregate does not cause this License to apply to the other +parts of the aggregate.
+You may convey a covered work in object code form under the terms +of sections 4 and 5, provided that you also convey the +machine-readable Corresponding Source under the terms of this License, +in one of these ways:
+a) Convey the object code in, or embodied in, a physical product
+(including a physical distribution medium), accompanied by the
+Corresponding Source fixed on a durable physical medium
+customarily used for software interchange.
+
+b) Convey the object code in, or embodied in, a physical product
+(including a physical distribution medium), accompanied by a
+written offer, valid for at least three years and valid for as
+long as you offer spare parts or customer support for that product
+model, to give anyone who possesses the object code either (1) a
+copy of the Corresponding Source for all the software in the
+product that is covered by this License, on a durable physical
+medium customarily used for software interchange, for a price no
+more than your reasonable cost of physically performing this
+conveying of source, or (2) access to copy the
+Corresponding Source from a network server at no charge.
+
+c) Convey individual copies of the object code with a copy of the
+written offer to provide the Corresponding Source. This
+alternative is allowed only occasionally and noncommercially, and
+only if you received the object code with such an offer, in accord
+with subsection 6b.
+
+d) Convey the object code by offering access from a designated
+place (gratis or for a charge), and offer equivalent access to the
+Corresponding Source in the same way through the same place at no
+further charge. You need not require recipients to copy the
+Corresponding Source along with the object code. If the place to
+copy the object code is a network server, the Corresponding Source
+may be on a different server (operated by you or a third party)
+that supports equivalent copying facilities, provided you maintain
+clear directions next to the object code saying where to find the
+Corresponding Source. Regardless of what server hosts the
+Corresponding Source, you remain obligated to ensure that it is
+available for as long as needed to satisfy these requirements.
+
+e) Convey the object code using peer-to-peer transmission, provided
+you inform other peers where the object code and Corresponding
+Source of the work are being offered to the general public at no
+charge under subsection 6d.
+
A separable portion of the object code, whose source code is excluded +from the Corresponding Source as a System Library, need not be +included in conveying the object code work.
+A "User Product" is either (1) a "consumer product", which means any +tangible personal property which is normally used for personal, family, +or household purposes, or (2) anything designed or sold for incorporation +into a dwelling. In determining whether a product is a consumer product, +doubtful cases shall be resolved in favor of coverage. For a particular +product received by a particular user, "normally used" refers to a +typical or common use of that class of product, regardless of the status +of the particular user or of the way in which the particular user +actually uses, or expects or is expected to use, the product. A product +is a consumer product regardless of whether the product has substantial +commercial, industrial or non-consumer uses, unless such uses represent +the only significant mode of use of the product.
+"Installation Information" for a User Product means any methods, +procedures, authorization keys, or other information required to install +and execute modified versions of a covered work in that User Product from +a modified version of its Corresponding Source. The information must +suffice to ensure that the continued functioning of the modified object +code is in no case prevented or interfered with solely because +modification has been made.
+If you convey an object code work under this section in, or with, or +specifically for use in, a User Product, and the conveying occurs as +part of a transaction in which the right of possession and use of the +User Product is transferred to the recipient in perpetuity or for a +fixed term (regardless of how the transaction is characterized), the +Corresponding Source conveyed under this section must be accompanied +by the Installation Information. But this requirement does not apply +if neither you nor any third party retains the ability to install +modified object code on the User Product (for example, the work has +been installed in ROM).
+The requirement to provide Installation Information does not include a +requirement to continue to provide support service, warranty, or updates +for a work that has been modified or installed by the recipient, or for +the User Product in which it has been modified or installed. Access to a +network may be denied when the modification itself materially and +adversely affects the operation of the network or violates the rules and +protocols for communication across the network.
+Corresponding Source conveyed, and Installation Information provided, +in accord with this section must be in a format that is publicly +documented (and with an implementation available to the public in +source code form), and must require no special password or key for +unpacking, reading or copying.
+"Additional permissions" are terms that supplement the terms of this +License by making exceptions from one or more of its conditions. +Additional permissions that are applicable to the entire Program shall +be treated as though they were included in this License, to the extent +that they are valid under applicable law. If additional permissions +apply only to part of the Program, that part may be used separately +under those permissions, but the entire Program remains governed by +this License without regard to the additional permissions.
+When you convey a copy of a covered work, you may at your option +remove any additional permissions from that copy, or from any part of +it. (Additional permissions may be written to require their own +removal in certain cases when you modify the work.) You may place +additional permissions on material, added by you to a covered work, +for which you have or can give appropriate copyright permission.
+Notwithstanding any other provision of this License, for material you +add to a covered work, you may (if authorized by the copyright holders of +that material) supplement the terms of this License with terms:
+a) Disclaiming warranty or limiting liability differently from the
+terms of sections 15 and 16 of this License; or
+
+b) Requiring preservation of specified reasonable legal notices or
+author attributions in that material or in the Appropriate Legal
+Notices displayed by works containing it; or
+
+c) Prohibiting misrepresentation of the origin of that material, or
+requiring that modified versions of such material be marked in
+reasonable ways as different from the original version; or
+
+d) Limiting the use for publicity purposes of names of licensors or
+authors of the material; or
+
+e) Declining to grant rights under trademark law for use of some
+trade names, trademarks, or service marks; or
+
+f) Requiring indemnification of licensors and authors of that
+material by anyone who conveys the material (or modified versions of
+it) with contractual assumptions of liability to the recipient, for
+any liability that these contractual assumptions directly impose on
+those licensors and authors.
+
All other non-permissive additional terms are considered "further +restrictions" within the meaning of section 10. If the Program as you +received it, or any part of it, contains a notice stating that it is +governed by this License along with a term that is a further +restriction, you may remove that term. If a license document contains +a further restriction but permits relicensing or conveying under this +License, you may add to a covered work material governed by the terms +of that license document, provided that the further restriction does +not survive such relicensing or conveying.
+If you add terms to a covered work in accord with this section, you +must place, in the relevant source files, a statement of the +additional terms that apply to those files, or a notice indicating +where to find the applicable terms.
+Additional terms, permissive or non-permissive, may be stated in the +form of a separately written license, or stated as exceptions; +the above requirements apply either way.
+You may not propagate or modify a covered work except as expressly +provided under this License. Any attempt otherwise to propagate or +modify it is void, and will automatically terminate your rights under +this License (including any patent licenses granted under the third +paragraph of section 11).
+However, if you cease all violation of this License, then your +license from a particular copyright holder is reinstated (a) +provisionally, unless and until the copyright holder explicitly and +finally terminates your license, and (b) permanently, if the copyright +holder fails to notify you of the violation by some reasonable means +prior to 60 days after the cessation.
+Moreover, your license from a particular copyright holder is +reinstated permanently if the copyright holder notifies you of the +violation by some reasonable means, this is the first time you have +received notice of violation of this License (for any work) from that +copyright holder, and you cure the violation prior to 30 days after +your receipt of the notice.
+Termination of your rights under this section does not terminate the +licenses of parties who have received copies or rights from you under +this License. If your rights have been terminated and not permanently +reinstated, you do not qualify to receive new licenses for the same +material under section 10.
+You are not required to accept this License in order to receive or +run a copy of the Program. Ancillary propagation of a covered work +occurring solely as a consequence of using peer-to-peer transmission +to receive a copy likewise does not require acceptance. However, +nothing other than this License grants you permission to propagate or +modify any covered work. These actions infringe copyright if you do +not accept this License. Therefore, by modifying or propagating a +covered work, you indicate your acceptance of this License to do so.
+Each time you convey a covered work, the recipient automatically +receives a license from the original licensors, to run, modify and +propagate that work, subject to this License. You are not responsible +for enforcing compliance by third parties with this License.
+An "entity transaction" is a transaction transferring control of an +organization, or substantially all assets of one, or subdividing an +organization, or merging organizations. If propagation of a covered +work results from an entity transaction, each party to that +transaction who receives a copy of the work also receives whatever +licenses to the work the party's predecessor in interest had or could +give under the previous paragraph, plus a right to possession of the +Corresponding Source of the work from the predecessor in interest, if +the predecessor has it or can get it with reasonable efforts.
+You may not impose any further restrictions on the exercise of the +rights granted or affirmed under this License. For example, you may +not impose a license fee, royalty, or other charge for exercise of +rights granted under this License, and you may not initiate litigation +(including a cross-claim or counterclaim in a lawsuit) alleging that +any patent claim is infringed by making, using, selling, offering for +sale, or importing the Program or any portion of it.
+A "contributor" is a copyright holder who authorizes use under this +License of the Program or a work on which the Program is based. The +work thus licensed is called the contributor's "contributor version".
+A contributor's "essential patent claims" are all patent claims +owned or controlled by the contributor, whether already acquired or +hereafter acquired, that would be infringed by some manner, permitted +by this License, of making, using, or selling its contributor version, +but do not include claims that would be infringed only as a +consequence of further modification of the contributor version. For +purposes of this definition, "control" includes the right to grant +patent sublicenses in a manner consistent with the requirements of +this License.
+Each contributor grants you a non-exclusive, worldwide, royalty-free +patent license under the contributor's essential patent claims, to +make, use, sell, offer for sale, import and otherwise run, modify and +propagate the contents of its contributor version.
+In the following three paragraphs, a "patent license" is any express +agreement or commitment, however denominated, not to enforce a patent +(such as an express permission to practice a patent or covenant not to +sue for patent infringement). To "grant" such a patent license to a +party means to make such an agreement or commitment not to enforce a +patent against the party.
+If you convey a covered work, knowingly relying on a patent license, +and the Corresponding Source of the work is not available for anyone +to copy, free of charge and under the terms of this License, through a +publicly available network server or other readily accessible means, +then you must either (1) cause the Corresponding Source to be so +available, or (2) arrange to deprive yourself of the benefit of the +patent license for this particular work, or (3) arrange, in a manner +consistent with the requirements of this License, to extend the patent +license to downstream recipients. "Knowingly relying" means you have +actual knowledge that, but for the patent license, your conveying the +covered work in a country, or your recipient's use of the covered work +in a country, would infringe one or more identifiable patents in that +country that you have reason to believe are valid.
+If, pursuant to or in connection with a single transaction or +arrangement, you convey, or propagate by procuring conveyance of, a +covered work, and grant a patent license to some of the parties +receiving the covered work authorizing them to use, propagate, modify +or convey a specific copy of the covered work, then the patent license +you grant is automatically extended to all recipients of the covered +work and works based on it.
+A patent license is "discriminatory" if it does not include within +the scope of its coverage, prohibits the exercise of, or is +conditioned on the non-exercise of one or more of the rights that are +specifically granted under this License. You may not convey a covered +work if you are a party to an arrangement with a third party that is +in the business of distributing software, under which you make payment +to the third party based on the extent of your activity of conveying +the work, and under which the third party grants, to any of the +parties who would receive the covered work from you, a discriminatory +patent license (a) in connection with copies of the covered work +conveyed by you (or copies made from those copies), or (b) primarily +for and in connection with specific products or compilations that +contain the covered work, unless you entered into that arrangement, +or that patent license was granted, prior to 28 March 2007.
+Nothing in this License shall be construed as excluding or limiting +any implied license or other defenses to infringement that may +otherwise be available to you under applicable patent law.
+If conditions are imposed on you (whether by court order, agreement or +otherwise) that contradict the conditions of this License, they do not +excuse you from the conditions of this License. If you cannot convey a +covered work so as to satisfy simultaneously your obligations under this +License and any other pertinent obligations, then as a consequence you may +not convey it at all. For example, if you agree to terms that obligate you +to collect a royalty for further conveying from those to whom you convey +the Program, the only way you could satisfy both those terms and this +License would be to refrain entirely from conveying the Program.
+Notwithstanding any other provision of this License, you have +permission to link or combine any covered work with a work licensed +under version 3 of the GNU Affero General Public License into a single +combined work, and to convey the resulting work. The terms of this +License will continue to apply to the part which is the covered work, +but the special requirements of the GNU Affero General Public License, +section 13, concerning interaction through a network will apply to the +combination as such.
+The Free Software Foundation may publish revised and/or new versions of +the GNU General Public License from time to time. Such new versions will +be similar in spirit to the present version, but may differ in detail to +address new problems or concerns.
+Each version is given a distinguishing version number. If the +Program specifies that a certain numbered version of the GNU General +Public License "or any later version" applies to it, you have the +option of following the terms and conditions either of that numbered +version or of any later version published by the Free Software +Foundation. If the Program does not specify a version number of the +GNU General Public License, you may choose any version ever published +by the Free Software Foundation.
+If the Program specifies that a proxy can decide which future +versions of the GNU General Public License can be used, that proxy's +public statement of acceptance of a version permanently authorizes you +to choose that version for the Program.
+Later license versions may give you additional or different +permissions. However, no additional obligations are imposed on any +author or copyright holder as a result of your choosing to follow a +later version.
+THERE IS NO WARRANTY FOR THE PROGRAM, TO THE EXTENT PERMITTED BY +APPLICABLE LAW. EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT +HOLDERS AND/OR OTHER PARTIES PROVIDE THE PROGRAM "AS IS" WITHOUT WARRANTY +OF ANY KIND, EITHER EXPRESSED OR IMPLIED, INCLUDING, BUT NOT LIMITED TO, +THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR +PURPOSE. THE ENTIRE RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM +IS WITH YOU. SHOULD THE PROGRAM PROVE DEFECTIVE, YOU ASSUME THE COST OF +ALL NECESSARY SERVICING, REPAIR OR CORRECTION.
+IN NO EVENT UNLESS REQUIRED BY APPLICABLE LAW OR AGREED TO IN WRITING +WILL ANY COPYRIGHT HOLDER, OR ANY OTHER PARTY WHO MODIFIES AND/OR CONVEYS +THE PROGRAM AS PERMITTED ABOVE, BE LIABLE TO YOU FOR DAMAGES, INCLUDING ANY +GENERAL, SPECIAL, INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE +USE OR INABILITY TO USE THE PROGRAM (INCLUDING BUT NOT LIMITED TO LOSS OF +DATA OR DATA BEING RENDERED INACCURATE OR LOSSES SUSTAINED BY YOU OR THIRD +PARTIES OR A FAILURE OF THE PROGRAM TO OPERATE WITH ANY OTHER PROGRAMS), +EVEN IF SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF +SUCH DAMAGES.
+If the disclaimer of warranty and limitation of liability provided +above cannot be given local legal effect according to their terms, +reviewing courts shall apply local law that most closely approximates +an absolute waiver of all civil liability in connection with the +Program, unless a warranty or assumption of liability accompanies a +copy of the Program in return for a fee.
+ END OF TERMS AND CONDITIONS
+
+ How to Apply These Terms to Your New Programs
+
If you develop a new program, and you want it to be of the greatest +possible use to the public, the best way to achieve this is to make it +free software which everyone can redistribute and change under these terms.
+To do so, attach the following notices to the program. It is safest +to attach them to the start of each source file to most effectively +state the exclusion of warranty; and each file should have at least +the "copyright" line and a pointer to where the full notice is found.
+<one line to give the program's name and a brief idea of what it does.>
+Copyright (C) <year> <name of author>
+
+This program is free software: you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation, either version 3 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program. If not, see <https://www.gnu.org/licenses/>.
+
Also add information on how to contact you by electronic and paper mail.
+If the program does terminal interaction, make it output a short +notice like this when it starts in an interactive mode:
+<program> Copyright (C) <year> <name of author>
+This program comes with ABSOLUTELY NO WARRANTY; for details type `show w'.
+This is free software, and you are welcome to redistribute it
+under certain conditions; type `show c' for details.
+
The hypothetical commands show w' and
show c' should show the appropriate
+parts of the General Public License. Of course, your program's commands
+might be different; for a GUI interface, you would use an "about box".
You should also get your employer (if you work as a programmer) or school, +if any, to sign a "copyright disclaimer" for the program, if necessary. +For more information on this, and how to apply and follow the GNU GPL, see +https://www.gnu.org/licenses/.
+The GNU General Public License does not permit incorporating your program +into proprietary programs. If your program is a subroutine library, you +may consider it more useful to permit linking proprietary applications with +the library. If this is what you want to do, use the GNU Lesser General +Public License instead of this License. But first, please read +https://www.gnu.org/licenses/why-not-lgpl.html.
+ + + + + + + + + + + + + + +This set of pages provides an auto-generated summary of the segysak
package API.
+For more details and examples, refer to the relevant chapters in the User Guide part of the
+documentation.
segy_header_scrape(segyfile, partial_scan=None, silent=False, bytes_filter=None, chunk=100000, **segyio_kwargs)
+
+Scape all data from segy trace headers
+ + + +Parameters:
+Name | +Type | +Description | +Default | +
---|---|---|---|
segyfile |
+
+ str
+ |
+
+
+
+ SEG-Y File path + |
+ + required + | +
partial_scan |
+
+ int
+ |
+
+
+
+ Setting partial scan to a positive int will scan only +that many traces. Defaults to None. + |
+
+ None
+ |
+
silent |
+
+ bool
+ |
+
+
+
+ Disable progress bar. + |
+
+ False
+ |
+
bytes_filter |
+
+ list
+ |
+
+
+
+ List of byte locations to load exclusively. + |
+
+ None
+ |
+
chunk |
+
+ int
+ |
+
+
+
+ Number of traces to read in one go. + |
+
+ 100000
+ |
+
Returns:
+Type | +Description | +
---|---|
+ DataFrame
+ |
+
+
+
+ pandas.DataFrame: Raw header information in table for scanned traces. + |
+
segysak/segy/_segy_headers.py
Python | |
---|---|
66 + 67 + 68 + 69 + 70 + 71 + 72 + 73 + 74 + 75 + 76 + 77 + 78 + 79 + 80 + 81 + 82 + 83 + 84 + 85 + 86 + 87 + 88 + 89 + 90 + 91 + 92 + 93 + 94 + 95 + 96 + 97 + 98 + 99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +125 +126 +127 +128 +129 +130 +131 |
|
segy_bin_scrape(segyfile, **segyio_kwargs)
+
+Scrape binary header
+ + + +Parameters:
+Name | +Type | +Description | +Default | +
---|---|---|---|
segyfile |
+
+ str
+ |
+
+
+
+ SEG-Y File path + |
+ + required + | +
Returns:
+Type | +Description | +
---|---|
+ Dict
+ |
+
+
+
+ Binary header + |
+
segysak/segy/_segy_headers.py
Python | |
---|---|
51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 |
|
segy_header_scan(segyfile, max_traces_scan=1000, silent=False, **segyio_kwargs)
+
+Perform a scan of the segy file headers and return ranges.
+To get the complete raw header values see segy_header_scrape
Parameters:
+Name | +Type | +Description | +Default | +
---|---|---|---|
segyfile |
+
+ str
+ |
+
+
+
+ Segy File Path + |
+ + required + | +
max_traces_scan |
+
+ int
+ |
+
+
+
+ Number of traces to scan. +For scan all traces set to <= 0. Defaults to 1000. + |
+
+ 1000
+ |
+
silent |
+
+ bool
+ |
+
+
+
+ Disable progress bar. + |
+
+ False
+ |
+
Returns:
+Type | +Description | +
---|---|
+ DataFrame
+ |
+
+
+
+ Uses pandas describe to return statistics of your headers. + |
+
segysak/segy/_segy_headers.py
Python | |
---|---|
17 +18 +19 +20 +21 +22 +23 +24 +25 +26 +27 +28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 |
|
get_segy_texthead(segyfile, ext_headers=False, no_richstr=False, **segyio_kwargs)
+
+Return the ebcidc
+ + + +Parameters:
+Name | +Type | +Description | +Default | +
---|---|---|---|
segyfile |
+
+ str
+ |
+
+
+
+ Segy File Path + |
+ + required + | +
ext_headers |
+
+ bool
+ |
+
+
+
+ Return EBCIDC and extended headers in list. +Defaults to False + |
+
+ False
+ |
+
no_richstr |
+
+ bool
+ |
+
+
+
+ Defaults to False. If true the returned string +will not be updated for pretty HTML printing. + |
+
+ False
+ |
+
segyio_kwargs |
+ + | +
+
+
+ Key word arguments to pass to segyio.open + |
+
+ {}
+ |
+
Returns: + str: Returns the EBCIDC text as a formatted paragraph.
+ +segysak/segy/_segy_text.py
Python | |
---|---|
28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 |
|
header_as_dimensions(head_df, dims)
+
+Convert dim_kwargs to a diction of dimensions. Also useful for checking +geometry is correct and unique for each trace in a segy file header.
+ + + +Parameters:
+Name | +Type | +Description | +Default | +
---|---|---|---|
head_df |
+
+ DataFrame
+ |
+
+
+
+ The header DataFrame from |
+ + required + | +
dims |
+
+ tuple
+ |
+
+
+
+ Dimension names (str) as per head_df. + |
+ + required + | +
segysak/segy/_segy_headers.py
Python | |
---|---|
134 +135 +136 +137 +138 +139 +140 +141 +142 +143 +144 +145 +146 +147 +148 +149 +150 +151 +152 +153 +154 +155 |
|
segy_loader(segyfile, cdp=None, iline=None, xline=None, cdp_x=None, cdp_y=None, offset=None, vert_domain='TWT', data_type='AMP', ix_crop=None, cdp_crop=None, xy_crop=None, z_crop=None, return_geometry=False, silent=False, extra_byte_fields=None, head_df=None, **segyio_kwargs)
+
+Load SEG-Y file into xarray.Dataset
+The output dataset has the following structure + Dimensions: + cdp/iline - CDP or Inline axis + xline - Xline axis + twt/depth - The vertical axis + offset - Offset/Angle Axis + Coordinates: + iline - The inline numbering + xline - The xline numbering + cdp_x - Eastings + cdp_y - Northings + cdp - Trace Number for 2d + Variables + data - The data volume + Attributes: + ns - number of samples vertical + sample_rate - sample rate in ms/m + test - text header + measurement_system : m/ft + source_file : segy source + srd : seismic reference datum + percentiles : data amplitude percentiles + coord_scalar : from trace headers
+ + + +Parameters:
+Name | +Type | +Description | +Default | +
---|---|---|---|
segyfile |
+
+ str
+ |
+
+
+
+ Input segy file path + |
+ + required + | +
cdp |
+
+ int
+ |
+
+
+
+ The CDP byte location, usually 21. + |
+
+ None
+ |
+
iline |
+
+ int
+ |
+
+
+
+ Inline byte location, usually 189 + |
+
+ None
+ |
+
xline |
+
+ int
+ |
+
+
+
+ Cross-line byte location, usually 193 + |
+
+ None
+ |
+
cdp_x |
+
+ int
+ |
+
+
+
+ UTMX byte location, usually 181 + |
+
+ None
+ |
+
cdp_y |
+
+ int
+ |
+
+
+
+ UTMY byte location, usually 185 + |
+
+ None
+ |
+
offset |
+
+ int
+ |
+
+
+
+ Offset/angle byte location + |
+
+ None
+ |
+
vert_domain |
+
+ str
+ |
+
+
+
+ Vertical sampling domain. One of ['TWT', 'DEPTH']. Defaults to 'TWT'. + |
+
+ 'TWT'
+ |
+
data_type |
+
+ str
+ |
+
+
+
+ Data type ['AMP', 'VEL']. Defaults to 'AMP'. + |
+
+ 'AMP'
+ |
+
ix_crop |
+
+ list
+ |
+
+
+
+ List of minimum and maximum inline and crossline to output. +Has the form '[min_il, max_il, min_xl, max_xl]'. Ignored for 2D data. + |
+
+ None
+ |
+
cdp_crop |
+
+ list
+ |
+
+
+
+ List of minimum and maximum cmp values to output. +Has the form '[min_cmp, max_cmp]'. Ignored for 3D data. + |
+
+ None
+ |
+
xy_crop |
+
+ list
+ |
+
+
+
+ List of minimum and maximum cdp_x and cdp_y to output. +Has the form '[min_x, max_x, min_y, max_y]'. Ignored for 2D data. + |
+
+ None
+ |
+
z_crop |
+
+ list
+ |
+
+
+
+ List of minimum and maximum vertical samples to output. +Has the form '[min, max]'. + |
+
+ None
+ |
+
return_geometry |
+
+ bool
+ |
+
+
+
+ If true returns an xarray.dataset which doesn't contain data but mirrors +the input volume header information. + |
+
+ False
+ |
+
silent |
+
+ bool
+ |
+
+
+
+ Disable progress bar. + |
+
+ False
+ |
+
extra_byte_fields |
+
+ list / mapping
+ |
+
+
+
+ A list of int or mapping of byte fields that should be returned as variables in the dataset. + |
+
+ None
+ |
+
head_df |
+
+ DataFrame
+ |
+
+
+
+ The DataFrame output from |
+
+ None
+ |
+
**segyio_kwargs |
+ + | +
+
+
+ Extra keyword arguments for segyio.open + |
+
+ {}
+ |
+
Returns:
+Type | +Description | +
---|---|
+ | +
+
+
+ xarray.Dataset: If ncfile keyword is specified returns open handle to disk netcdf4, +otherwise the data in memory. If return_geometry is True does not load trace data and +returns headers in geometry. + |
+
segysak/segy/_segy_loader.py
Python | |
---|---|
1027 +1028 +1029 +1030 +1031 +1032 +1033 +1034 +1035 +1036 +1037 +1038 +1039 +1040 +1041 +1042 +1043 +1044 +1045 +1046 +1047 +1048 +1049 +1050 +1051 +1052 +1053 +1054 +1055 +1056 +1057 +1058 +1059 +1060 +1061 +1062 +1063 +1064 +1065 +1066 +1067 +1068 +1069 +1070 +1071 +1072 +1073 +1074 +1075 +1076 +1077 +1078 +1079 +1080 +1081 +1082 +1083 +1084 +1085 +1086 +1087 +1088 +1089 +1090 +1091 +1092 +1093 +1094 +1095 +1096 +1097 +1098 +1099 +1100 +1101 +1102 +1103 +1104 +1105 +1106 +1107 +1108 +1109 +1110 +1111 +1112 +1113 +1114 +1115 +1116 +1117 +1118 +1119 +1120 +1121 +1122 +1123 +1124 +1125 +1126 +1127 +1128 +1129 +1130 +1131 +1132 +1133 +1134 +1135 +1136 +1137 +1138 +1139 +1140 +1141 +1142 +1143 +1144 +1145 +1146 +1147 +1148 +1149 +1150 +1151 +1152 +1153 +1154 +1155 +1156 +1157 +1158 +1159 +1160 +1161 +1162 +1163 +1164 +1165 +1166 +1167 +1168 +1169 +1170 +1171 +1172 +1173 +1174 +1175 +1176 +1177 +1178 +1179 +1180 +1181 +1182 +1183 +1184 +1185 +1186 |
|
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:
+Name | +Type | +Description | +Default | +
---|---|---|---|
segyfile |
+
+ string
+ |
+
+
+
+ The SEG-Y file/path. + |
+ + required + | +
vert_domain |
+
+ str
+ |
+
+
+
+ One of ('TWT', 'DEPTH'). Defaults to 'TWT'. + |
+
+ 'TWT'
+ |
+
data_type |
+
+ str
+ |
+
+
+
+ Defaults to "AMP". + |
+
+ 'AMP'
+ |
+
return_geometry |
+
+ bool
+ |
+
+
+
+ If true, just returned the empty +dataset based upon the calcuated header geometry. Defaults to False. + |
+
+ False
+ |
+
silent |
+
+ bool
+ |
+
+
+
+ Turn off progress bars. Defaults to False. + |
+
+ False
+ |
+
extra_byte_fields |
+
+ dict
+ |
+
+
+
+ Additional header information to +load into the Dataset. Defaults to None. + |
+
+ None
+ |
+
head_df |
+
+ DataFrame
+ |
+
+
+
+ The DataFrame output from |
+
+ None
+ |
+
segyio_kwargs |
+
+ dict
+ |
+
+
+
+ Extra keyword arguments for segyio.open + |
+
+ None
+ |
+
**dim_kwargs |
+ + | +
+
+
+ Dimension names and byte location pairs. + |
+
+ {}
+ |
+
segysak/segy/_segy_loader.py
Python | |
---|---|
895 + 896 + 897 + 898 + 899 + 900 + 901 + 902 + 903 + 904 + 905 + 906 + 907 + 908 + 909 + 910 + 911 + 912 + 913 + 914 + 915 + 916 + 917 + 918 + 919 + 920 + 921 + 922 + 923 + 924 + 925 + 926 + 927 + 928 + 929 + 930 + 931 + 932 + 933 + 934 + 935 + 936 + 937 + 938 + 939 + 940 + 941 + 942 + 943 + 944 + 945 + 946 + 947 + 948 + 949 + 950 + 951 + 952 + 953 + 954 + 955 + 956 + 957 + 958 + 959 + 960 + 961 + 962 + 963 + 964 + 965 + 966 + 967 + 968 + 969 + 970 + 971 + 972 + 973 + 974 + 975 + 976 + 977 + 978 + 979 + 980 + 981 + 982 + 983 + 984 + 985 + 986 + 987 + 988 + 989 + 990 + 991 + 992 + 993 + 994 + 995 + 996 + 997 + 998 + 999 +1000 +1001 +1002 +1003 +1004 +1005 +1006 +1007 +1008 +1009 +1010 +1011 +1012 +1013 +1014 +1015 +1016 +1017 +1018 +1019 +1020 +1021 +1022 +1023 +1024 |
|
segy_converter(segyfile, ncfile, cdp=None, iline=None, xline=None, cdp_x=None, cdp_y=None, offset=None, vert_domain='TWT', data_type='AMP', ix_crop=None, cdp_crop=None, xy_crop=None, z_crop=None, return_geometry=False, silent=False, extra_byte_fields=None, **segyio_kwargs)
+
+Convert SEG-Y data to NetCDF4 File
+The output ncfile has the following structure + Dimensions: + cdp/iline - CDP or Inline axis + xline - Xline axis + twt/depth - The vertical axis + offset - Offset/Angle Axis + Coordinates: + iline - The inline numbering + xline - The xline numbering + cdp_x - Eastings + cdp_y - Northings + cdp - Trace Number for 2d + Variables + data - The data volume + Attributes: + ns - number of samples vertical + sample_rate - sample rate in ms/m + test - text header + measurement_system : m/ft + source_file : segy source + srd : seismic reference datum + percentiles : data amplitude percentiles + coord_scalar : from trace headers
+ + + +Parameters:
+Name | +Type | +Description | +Default | +
---|---|---|---|
segyfile |
+
+ str
+ |
+
+
+
+ Input segy file path + |
+ + required + | +
ncfile |
+
+ str
+ |
+
+
+
+ Output SEISNC file path. If none the loaded data will be +returned in memory as an xarray.Dataset. + |
+ + required + | +
cdp |
+
+ int
+ |
+
+
+
+ The CDP byte location, usually 21. + |
+
+ None
+ |
+
iline |
+
+ int
+ |
+
+
+
+ Inline byte location, usually 189 + |
+
+ None
+ |
+
xline |
+
+ int
+ |
+
+
+
+ Cross-line byte location, usually 193 + |
+
+ None
+ |
+
cdp_x |
+
+ int
+ |
+
+
+
+ UTMX byte location, usually 181 + |
+
+ None
+ |
+
cdp_y |
+
+ int
+ |
+
+
+
+ UTMY byte location, usually 185 + |
+
+ None
+ |
+
offset |
+
+ int
+ |
+
+
+
+ Offset/angle byte location + |
+
+ None
+ |
+
vert_domain |
+
+ str
+ |
+
+
+
+ Vertical sampling domain. One of ['TWT', 'DEPTH']. Defaults to 'TWT'. + |
+
+ 'TWT'
+ |
+
data_type |
+
+ str
+ |
+
+
+
+ Data type ['AMP', 'VEL']. Defaults to 'AMP'. + |
+
+ 'AMP'
+ |
+
ix_crop |
+
+ list
+ |
+
+
+
+ List of minimum and maximum inline and crossline to output. +Has the form '[min_il, max_il, min_xl, max_xl]'. Ignored for 2D data. + |
+
+ None
+ |
+
cdp_crop |
+
+ list
+ |
+
+
+
+ List of minimum and maximum cmp values to output. +Has the form '[min_cmp, max_cmp]'. Ignored for 3D data. + |
+
+ None
+ |
+
xy_crop |
+
+ list
+ |
+
+
+
+ List of minimum and maximum cdp_x and cdp_y to output. +Has the form '[min_x, max_x, min_y, max_y]'. Ignored for 2D data. + |
+
+ None
+ |
+
z_crop |
+
+ list
+ |
+
+
+
+ List of minimum and maximum vertical samples to output. +Has the form '[min, max]'. + |
+
+ None
+ |
+
return_geometry |
+
+ bool
+ |
+
+
+
+ If true returns an xarray.dataset which doesn't contain data but mirrors +the input volume header information. + |
+
+ False
+ |
+
silent |
+
+ bool
+ |
+
+
+
+ Disable progress bar. + |
+
+ False
+ |
+
extra_byte_fields |
+
+ list / mapping
+ |
+
+
+
+ A list of int or mapping of byte fields that should be returned as variables in the dataset.a + |
+
+ None
+ |
+
**segyio_kwargs |
+ + | +
+
+
+ Extra keyword arguments for segyio.open + |
+
+ {}
+ |
+
segysak/segy/_segy_loader.py
Python | |
---|---|
1189 +1190 +1191 +1192 +1193 +1194 +1195 +1196 +1197 +1198 +1199 +1200 +1201 +1202 +1203 +1204 +1205 +1206 +1207 +1208 +1209 +1210 +1211 +1212 +1213 +1214 +1215 +1216 +1217 +1218 +1219 +1220 +1221 +1222 +1223 +1224 +1225 +1226 +1227 +1228 +1229 +1230 +1231 +1232 +1233 +1234 +1235 +1236 +1237 +1238 +1239 +1240 +1241 +1242 +1243 +1244 +1245 +1246 +1247 +1248 +1249 +1250 +1251 +1252 +1253 +1254 +1255 +1256 +1257 +1258 +1259 +1260 +1261 +1262 +1263 +1264 +1265 +1266 +1267 +1268 +1269 +1270 +1271 +1272 +1273 +1274 +1275 +1276 +1277 +1278 +1279 +1280 +1281 +1282 +1283 +1284 +1285 +1286 +1287 +1288 +1289 +1290 +1291 +1292 +1293 +1294 +1295 +1296 +1297 +1298 +1299 +1300 +1301 +1302 +1303 +1304 +1305 +1306 +1307 +1308 +1309 +1310 +1311 +1312 +1313 +1314 +1315 +1316 +1317 +1318 +1319 +1320 +1321 +1322 +1323 +1324 +1325 +1326 +1327 +1328 +1329 +1330 +1331 +1332 +1333 +1334 +1335 +1336 +1337 +1338 +1339 +1340 +1341 +1342 +1343 +1344 +1345 +1346 +1347 +1348 +1349 +1350 +1351 +1352 +1353 +1354 +1355 |
|
well_known_byte_locs(name)
+
+Return common bytes position kwargs_dict for segy_loader and segy_converter.
+Returns a dict containing the byte locations for well known SEG-Y variants in the wild.
+ + + +Parameters:
+Name | +Type | +Description | +Default | +
---|---|---|---|
name |
+
+ str
+ |
+
+
+
+ Takes one of keys from KNOWN_BYTES + |
+ + required + | +
Returns:
+Name | Type | +Description | +
---|---|---|
dict | + | +
+
+
+ A dictionary of SEG-Y byte positions. + |
+
Example:
+Use the output of this function to unpack arguments into segy_loader
++ +++++seismic = segy_loader(filepath, **well_known_byte_locs('petrel_3d'))
+
segysak/segy/_segy_loader.py
Python | |
---|---|
691 +692 +693 +694 +695 +696 +697 +698 +699 +700 +701 +702 +703 +704 +705 +706 +707 +708 +709 +710 +711 +712 +713 +714 |
|
Use these functions to view or modify existing SEGY text headers or create new +segysak compatable text headers.
+ + +get_segy_texthead(segyfile, ext_headers=False, no_richstr=False, **segyio_kwargs)
+
+Return the ebcidc
+ + + +Parameters:
+Name | +Type | +Description | +Default | +
---|---|---|---|
segyfile |
+
+ str
+ |
+
+
+
+ Segy File Path + |
+ + required + | +
ext_headers |
+
+ bool
+ |
+
+
+
+ Return EBCIDC and extended headers in list. +Defaults to False + |
+
+ False
+ |
+
no_richstr |
+
+ bool
+ |
+
+
+
+ Defaults to False. If true the returned string +will not be updated for pretty HTML printing. + |
+
+ False
+ |
+
segyio_kwargs |
+ + | +
+
+
+ Key word arguments to pass to segyio.open + |
+
+ {}
+ |
+
Returns: + str: Returns the EBCIDC text as a formatted paragraph.
+ +segysak/segy/_segy_text.py
Python | |
---|---|
28 +29 +30 +31 +32 +33 +34 +35 +36 +37 +38 +39 +40 +41 +42 +43 +44 +45 +46 +47 +48 +49 +50 +51 +52 +53 +54 +55 +56 +57 +58 +59 +60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 |
|
put_segy_texthead(segyfile, ebcidc, line_counter=True, **segyio_kwargs)
+
+Puts a text header (ebcidc) into a segyfile.
+ + + +Parameters:
+Name | +Type | +Description | +Default | +
---|---|---|---|
segyfile |
+
+ str
+ |
+
+
+
+ The path to the file to update. + |
+ + required + | +
ebcidc |
+
+ (str, list, dict, bytes)
+ |
+
+
+
+ A standard string, new lines will be preserved. +A list or lines to add. +A dict with numeric keys for line numbers e.g. {1: 'line 1'}. +A pre-encoded byte header to add to the segyfile directly. + |
+ + required + | +
line_counter |
+
+ (bool, opt)
+ |
+
+
+
+ Add a line counter with format "CXX " to the start of each line. +This reduces the maximum content per line to 76 chars. + |
+
+ True
+ |
+
segysak/segy/_segy_text.py
Python | |
---|---|
109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +125 +126 +127 +128 +129 +130 +131 +132 +133 +134 +135 +136 +137 +138 +139 +140 +141 +142 +143 +144 +145 +146 +147 +148 +149 +150 +151 +152 +153 +154 +155 +156 +157 +158 |
|
create_default_texthead(override=None)
+
+Returns a simple default textual header dictionary.
+Basic fields are auto populated and a dictionary indexing lines 1-40 can +be passed to override keyword for adjustment. By default lines 6-34 are +empty.
+ + + +Parameters:
+Name | +Type | +Description | +Default | +
---|---|---|---|
override |
+
+ dict
+ |
+
+
+
+ Overide any line . Defaults to None. + |
+
+ None
+ |
+
Returns:
+Type | +Description | +
---|---|
+ dict
+ |
+
+
+
+ Dictionary with keys 1-40 for textual header of segy file + |
+
++++++create_default_texthead(override={7:'Hello', 8:'World!'}) +{1: 'segysak SEG-Y Output', +2: 'Data created by: username ', +3: '', +4: 'DATA FORMAT: SEG-Y; DATE: 2019-06-09 15:14:00', +5: 'DATA DESCRIPTION: SEG-Y format data output from segysak', +6: '', +7: 'Hello', +8: 'World!', +9: '', +... +34: '', +35: '* BYTE LOCATION OF KEY HEADERS *', +36: 'CMP UTM-X 181-184, ALL COORDS X100, CMP UTM-Y 185-188', +37: 'INLINE 189-193, XLINE 194-198, ', +38: '', +39: '', +40: 'END TEXTUAL HEADER'}
+
segysak/segy/_segy_text.py
Python | |
---|---|
188 +189 +190 +191 +192 +193 +194 +195 +196 +197 +198 +199 +200 +201 +202 +203 +204 +205 +206 +207 +208 +209 +210 +211 +212 +213 +214 +215 +216 +217 +218 +219 +220 +221 +222 +223 +224 +225 +226 +227 +228 +229 +230 +231 +232 +233 +234 +235 |
|
segy_writer(seisnc, segyfile, trace_header_map=None, il_chunks=None, dimension=None, silent=False, use_text=False)
+
+Convert siesnc format (NetCDF4) to SEGY.
+ + + +Parameters:
+Name | +Type | +Description | +Default | +
---|---|---|---|
seisnc |
+
+ (Dataset, string)
+ |
+
+
+
+ The input SEISNC file either a path or the in memory xarray.Dataset + |
+ + required + | +
segyfile |
+
+ string
+ |
+
+
+
+ The output SEG-Y file + |
+ + required + | +
trace_header_map |
+
+ dict
+ |
+
+
+
+ Defaults to None. A dictionary of seisnc variables +and byte locations. The variable will be written to the trace headers in the +assigned byte location. By default CMP=23, cdp_x=181, cdp_y=185, iline=189, +xline=193. + |
+
+ None
+ |
+
il_chunks |
+
+ int
+ |
+
+
+
+ The size of data to work on - if you have memory +limitations. Defaults to 10. This is primarily used for large 3D and ignored for 2D data. + |
+
+ None
+ |
+
dimension |
+
+ str
+ |
+
+
+
+ Data dimension to output, defaults to 'twt' or 'depth' whichever is present + |
+
+ None
+ |
+
silent |
+
+ bool
+ |
+
+
+
+ Turn off progress reporting. Defaults to False. + |
+
+ False
+ |
+
use_text |
+
+ bool
+ |
+
+
+
+ Use the seisnc text for the EBCIDC output. This text usally comes from +the loaded SEG-Y file and may not match the segysak SEG-Y output. Defaults to False and writes +the default segysak EBCIDC + |
+
+ False
+ |
+
segysak/segy/_segy_writer.py
Python | |
---|---|
739 +740 +741 +742 +743 +744 +745 +746 +747 +748 +749 +750 +751 +752 +753 +754 +755 +756 +757 +758 +759 +760 +761 +762 +763 +764 +765 +766 +767 +768 +769 +770 +771 +772 +773 +774 +775 +776 +777 +778 +779 +780 +781 +782 +783 +784 +785 +786 +787 |
|
segy_freewriter(seisnc, segyfile, data_array='data', trace_header_map=None, use_text=False, dead_trace_key=None, vert_dimension='twt', chunk_spec=None, silent=False, **dim_kwargs)
+
+Convert siesnc format (NetCDF4) to SEG-Y.
+ + + +Parameters:
+Name | +Type | +Description | +Default | +
---|---|---|---|
seisnc |
+
+ (Dataset, string)
+ |
+
+
+
+ The input SEISNC file either a path or the in memory xarray.Dataset + |
+ + required + | +
segyfile |
+
+ string
+ |
+
+
+
+ The output SEG-Y file + |
+ + required + | +
data_array |
+
+ string
+ |
+
+
+
+ The Dataset variable name for the output volume. + |
+
+ 'data'
+ |
+
trace_header_map |
+
+ dict
+ |
+
+
+
+ Defaults to None. A dictionary of seisnc variables +and byte locations. The variable will be written to the trace headers in the +assigned byte location. By default CMP=23, cdp_x=181, cdp_y=185, iline=189, +xline=193. + |
+
+ None
+ |
+
use_text |
+
+ book
+ |
+
+
+
+ Use the seisnc text for the EBCIDC output. This text usally comes from +the loaded SEG-Y file and may not match the segysak SEG-Y output. Defaults to False and writes +the default segysak EBCIDC + |
+
+ False
+ |
+
dead_trace_key |
+
+ str
+ |
+
+
+
+ The key for the Dataset variable to use for trace output filter. + |
+
+ None
+ |
+
vert_dimension |
+
+ str
+ |
+
+
+
+ Data dimension to output, defaults to 'twt' or 'depth' whichever +is present. + |
+
+ 'twt'
+ |
+
chunk_spec |
+
+ dict
+ |
+
+
+
+ Xarray open_dataset chunking spec. + |
+
+ None
+ |
+
silent |
+
+ bool
+ |
+
+
+
+ Turn off progress reporting. Defaults to False. + |
+
+ False
+ |
+
dim_kwargs |
+
+ int
+ |
+
+
+
+ The dimension/byte location pairs to output dimensions to. The number of dim_kwargs should be +equal to the number of dimensions on the output data_array. The sort order will be as per the order passed +to the function. + |
+
+ {}
+ |
+
segysak/segy/_segy_freewriter.py
Python | |
---|---|
225 +226 +227 +228 +229 +230 +231 +232 +233 +234 +235 +236 +237 +238 +239 +240 +241 +242 +243 +244 +245 +246 +247 +248 +249 +250 +251 +252 +253 +254 +255 +256 +257 +258 +259 +260 +261 +262 +263 +264 +265 +266 +267 +268 +269 +270 +271 +272 +273 +274 +275 +276 +277 +278 +279 +280 +281 +282 +283 |
|
output_byte_locs(name)
+
+Return common bytes position variable_dict for segy_writer.
+ + + +Parameters:
+Name | +Type | +Description | +Default | +
---|---|---|---|
name |
+
+ str
+ |
+
+
+
+ One of [standard_3d, petrel_3d] + |
+ + required + | +
Returns:
+Name | Type | +Description | +
---|---|---|
dict | + | +
+
+
+ A dictionary of SEG-Y byte positions and default seisnc variable +pairs. + |
+
++++++segywriter(ncfile, 'segyfile.sgy', trace_header_map=output_byte_loc('petrel')) +
+
segysak/segy/_segy_writer.py
Python | |
---|---|
127 +128 +129 +130 +131 +132 +133 +134 +135 +136 +137 +138 +139 +140 +141 +142 +143 +144 +145 +146 |
|
Accessor modules are accessed as namespaces within the Xarray.Dataset objects
+created by SEGY-SAK. When segysak
is imported, all xarray.Dataset
objects will
+contain the .seis
and .seisio
namespaces.
SeisIO
+
+
+segysak/_accessor.py
Python | |
---|---|
24 + 25 + 26 + 27 + 28 + 29 + 30 + 31 + 32 + 33 + 34 + 35 + 36 + 37 + 38 + 39 + 40 + 41 + 42 + 43 + 44 + 45 + 46 + 47 + 48 + 49 + 50 + 51 + 52 + 53 + 54 + 55 + 56 + 57 + 58 + 59 + 60 + 61 + 62 + 63 + 64 + 65 + 66 + 67 + 68 + 69 + 70 + 71 + 72 + 73 + 74 + 75 + 76 + 77 + 78 + 79 + 80 + 81 + 82 + 83 + 84 + 85 + 86 + 87 + 88 + 89 + 90 + 91 + 92 + 93 + 94 + 95 + 96 + 97 + 98 + 99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 |
|
to_netcdf(seisnc, **kwargs)
+
+Output to netcdf4 with specs for seisnc.
+ + + +Parameters:
+Name | +Type | +Description | +Default | +
---|---|---|---|
seisnc |
+
+ string / path - like
+ |
+
+
+
+ The output file path. Preferably with .seisnc extension. + |
+ + required + | +
**kwargs |
+ + | +
+
+
+ As per xarray function to_netcdf. + |
+
+ {}
+ |
+
segysak/_accessor.py
Python | |
---|---|
60 +61 +62 +63 +64 +65 +66 +67 +68 +69 +70 +71 +72 +73 +74 +75 +76 +77 +78 +79 +80 +81 +82 +83 |
|
to_subsurface()
+
+Convert seismic data to a subsurface StructuredData Object
+ + + +Raises:
+Type | +Description | +
---|---|
+ err
+ |
+
+
+
+ [description] + |
+
+ NotImplementedError
+ |
+
+
+
+ [description] + |
+
Returns:
+Type | +Description | +
---|---|
+ | +
+
+
+ subsurface.structs.base_structures.StructuredData: subsurface struct + |
+
segysak/_accessor.py
Python | |
---|---|
85 + 86 + 87 + 88 + 89 + 90 + 91 + 92 + 93 + 94 + 95 + 96 + 97 + 98 + 99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 |
|
SeisGeom
+
+
+segysak/_accessor.py
Python | |
---|---|
212 +213 +214 +215 +216 +217 +218 +219 +220 +221 +222 +223 +224 +225 +226 +227 +228 +229 +230 +231 +232 +233 +234 +235 +236 +237 +238 +239 +240 +241 +242 +243 +244 +245 +246 +247 +248 +249 +250 +251 +252 +253 +254 +255 +256 +257 +258 +259 +260 +261 +262 +263 +264 +265 +266 +267 +268 +269 +270 +271 +272 +273 +274 +275 +276 +277 +278 +279 +280 +281 +282 +283 +284 +285 +286 +287 +288 +289 +290 +291 +292 +293 +294 +295 +296 +297 +298 +299 +300 +301 +302 +303 +304 +305 +306 +307 +308 +309 +310 +311 +312 +313 +314 +315 +316 +317 +318 +319 +320 +321 +322 +323 +324 +325 +326 +327 +328 +329 +330 +331 +332 +333 +334 +335 +336 +337 +338 +339 +340 +341 +342 +343 +344 +345 +346 +347 +348 +349 +350 +351 +352 +353 +354 +355 +356 +357 +358 +359 +360 +361 +362 +363 +364 +365 +366 +367 +368 +369 +370 +371 +372 +373 +374 +375 +376 +377 +378 +379 +380 +381 +382 +383 +384 +385 +386 +387 +388 +389 +390 +391 +392 +393 +394 +395 +396 +397 +398 +399 +400 +401 +402 +403 +404 +405 +406 +407 +408 +409 +410 +411 +412 +413 +414 +415 +416 +417 +418 +419 +420 +421 +422 +423 +424 +425 +426 +427 +428 +429 +430 +431 +432 +433 +434 +435 +436 +437 +438 +439 +440 +441 +442 +443 +444 +445 +446 +447 +448 +449 +450 +451 +452 +453 +454 +455 +456 +457 +458 +459 +460 +461 +462 +463 +464 +465 +466 +467 +468 +469 +470 +471 +472 +473 +474 +475 +476 +477 +478 +479 +480 +481 +482 +483 +484 +485 +486 +487 +488 +489 +490 +491 +492 +493 +494 +495 +496 +497 +498 +499 +500 +501 +502 +503 +504 +505 +506 +507 +508 +509 +510 +511 +512 +513 +514 +515 +516 +517 +518 +519 +520 +521 +522 +523 +524 +525 +526 +527 +528 +529 +530 +531 +532 +533 +534 +535 +536 +537 +538 +539 +540 +541 +542 +543 +544 +545 +546 +547 +548 +549 +550 +551 +552 +553 +554 +555 +556 +557 +558 +559 +560 +561 +562 +563 +564 +565 +566 +567 +568 +569 +570 +571 +572 +573 +574 +575 +576 +577 +578 +579 +580 +581 +582 +583 +584 +585 +586 +587 +588 +589 +590 +591 +592 +593 +594 +595 +596 +597 +598 +599 +600 +601 +602 +603 +604 +605 +606 +607 +608 +609 +610 +611 +612 +613 +614 +615 +616 +617 +618 +619 +620 +621 +622 +623 +624 +625 +626 +627 +628 +629 +630 +631 +632 +633 +634 +635 +636 +637 +638 +639 +640 +641 +642 +643 +644 +645 +646 +647 +648 +649 +650 +651 +652 +653 +654 +655 +656 +657 +658 +659 +660 +661 +662 +663 +664 +665 +666 +667 +668 +669 +670 +671 +672 +673 +674 +675 +676 +677 +678 +679 +680 +681 +682 +683 +684 +685 +686 +687 +688 +689 +690 +691 +692 +693 +694 +695 +696 +697 +698 +699 +700 +701 +702 +703 +704 +705 +706 +707 +708 +709 +710 +711 +712 +713 +714 +715 +716 +717 +718 +719 +720 +721 +722 +723 +724 +725 +726 +727 +728 +729 +730 +731 +732 +733 +734 +735 +736 +737 +738 +739 +740 +741 +742 +743 +744 +745 +746 +747 +748 +749 +750 +751 +752 +753 +754 +755 +756 +757 +758 +759 +760 +761 +762 +763 +764 +765 +766 +767 +768 +769 +770 +771 +772 +773 +774 +775 +776 +777 +778 +779 +780 +781 +782 +783 +784 +785 +786 +787 +788 +789 +790 +791 +792 +793 +794 +795 +796 +797 +798 +799 +800 +801 +802 +803 +804 +805 +806 +807 +808 +809 +810 +811 +812 +813 +814 +815 +816 +817 +818 +819 +820 +821 +822 +823 +824 +825 +826 +827 +828 +829 +830 +831 +832 +833 +834 +835 +836 +837 +838 +839 +840 +841 +842 +843 +844 +845 +846 +847 +848 +849 +850 +851 +852 +853 +854 +855 +856 |
|
humanbytes
+
+
+ property
+
+
+Prints Human Friendly size of Dataset to return the bytes as an
+int use xarray.Dataset.nbytes
Returns:
+Name | Type | +Description | +
---|---|---|
str | + | +
+
+
+ Human readable size of dataset. + |
+
calc_corner_points()
+
+Calculate the corner points of the geometry or end points of a 2D line.
+This puts two properties in the seisnc attrs with the calculated il/xl and +cdp_x and cdp_y if available.
+ +ds.attrs['corner_points'] +ds.attrs['corner_points_xy']
+segysak/_accessor.py
Python | |
---|---|
592 +593 +594 +595 +596 +597 +598 +599 +600 +601 +602 +603 +604 +605 +606 +607 +608 +609 +610 +611 +612 +613 +614 +615 +616 +617 +618 +619 +620 +621 +622 +623 +624 +625 +626 +627 +628 +629 +630 +631 +632 +633 +634 +635 +636 +637 +638 +639 +640 +641 +642 +643 +644 +645 +646 +647 +648 |
|
fill_cdpna()
+
+Fills NaN cdp locations by fitting known cdp x and y values to the +local grid using a planar surface relationshipt.
+ +segysak/_accessor.py
Python | |
---|---|
734 +735 +736 +737 +738 +739 +740 +741 +742 +743 +744 +745 +746 |
|
get_affine_transform()
+
+Calculate the forward iline/xline -> cdp_x, cdp_y Affine transform +for Matplotlib using corner point geometry.
+ + + +Returns:
+Type | +Description | +
---|---|
+ | +
+
+
+ matplotlib.transforms.Affine2D: + |
+
Raises:
+Type | +Description | +
---|---|
+ ValueError
+ |
+
+
+
+ If Dataset is not 3D + |
+
segysak/_accessor.py
Python | |
---|---|
762 +763 +764 +765 +766 +767 +768 +769 +770 +771 +772 +773 +774 +775 +776 +777 +778 +779 +780 +781 +782 +783 +784 +785 +786 +787 +788 +789 +790 +791 +792 +793 +794 +795 +796 +797 +798 +799 +800 +801 +802 +803 +804 +805 +806 +807 +808 +809 +810 +811 +812 +813 +814 +815 +816 +817 +818 +819 +820 +821 +822 |
|
get_dead_trace_map(scan=None, zeros_as_nan=False)
+
+Scan the vertical axis of a volume to find traces that are all NaN +and return an DataArray which maps the all dead traces.
+Faster scans can be performed by setting scan to an int or list of int +representing horizontal slice indexes to use for the scan.
+ + + +Parameters:
+Name | +Type | +Description | +Default | +
---|---|---|---|
scan |
+
+ int/list of int
+ |
+
+
+
+ Horizontal indexes to scan. +Defaults to None (scan full volume). + |
+
+ None
+ |
+
zeros_as_nan |
+
+ bool
+ |
+
+
+
+ Treat zeros as NaN during scan. + |
+
+ False
+ |
+
Returns:
+Type | +Description | +
---|---|
+ | +
+
+
+ xarray.DataArray: boolean dead trace map. + |
+
segysak/_accessor.py
Python | |
---|---|
824 +825 +826 +827 +828 +829 +830 +831 +832 +833 +834 +835 +836 +837 +838 +839 +840 +841 +842 +843 +844 +845 +846 +847 +848 +849 +850 +851 +852 +853 +854 +855 +856 |
|
get_measurement_system()
+
+Return measurement_system if present, else None
+ +segysak/_accessor.py
Python | |
---|---|
466 +467 +468 +469 +470 +471 |
|
grid_rotation()
+
+Calculate the rotation of the grid using the sum under the curve method.
+(x2 − x1)(y2 + y1)
+Returns a value >0 if the rotation of points along inline is clockwise.
+ +segysak/_accessor.py
Python | |
---|---|
748 +749 +750 +751 +752 +753 +754 +755 +756 +757 +758 +759 +760 |
|
interp_line(cdp_x, cdp_y, extra=None, bin_spacing_hint=10, line_method='slinear', xysel_method='linear')
+
+Select data at x and y coordinates
+ + + +Parameters:
+Name | +Type | +Description | +Default | +
---|---|---|---|
bin_spacing_hint |
+
+ number
+ |
+
+
+
+ a bin spacing to stay close to, in cdp world units. Default: 10 + |
+
+ 10
+ |
+
line_method |
+
+ string
+ |
+
+
+
+ valid values for the kind argument in scipy.interpolate.interp1d + |
+
+ 'slinear'
+ |
+
xysel_method |
+
+ string
+ |
+
+
+
+ valid values for DataArray.interp + |
+
+ 'linear'
+ |
+
Returns:
+Type | +Description | +
---|---|
+ | +
+
+
+ xarray.Dataset: Interpolated traces along the arbitrary line + |
+
segysak/_accessor.py
Python | |
---|---|
650 +651 +652 +653 +654 +655 +656 +657 +658 +659 +660 +661 +662 +663 +664 +665 +666 +667 +668 +669 +670 +671 +672 +673 +674 +675 +676 +677 +678 +679 +680 +681 +682 +683 +684 +685 |
|
is_2d()
+
+Returns True if the dataset is 2D peformant else False
+ +segysak/_accessor.py
Python | |
---|---|
394 +395 +396 +397 +398 +399 +400 +401 +402 +403 +404 |
|
is_2dgath()
+
+Returns True if the dataset is 2D peformant and has offset or angle else False
+ +segysak/_accessor.py
Python | |
---|---|
422 +423 +424 +425 +426 +427 +428 |
|
is_3d()
+
+Returns True if the dataset is 3D peformant else False
+ +segysak/_accessor.py
Python | |
---|---|
406 +407 +408 +409 +410 +411 +412 +413 +414 +415 +416 +417 +418 +419 +420 |
|
is_3dgath()
+
+Returns True if the dataset is 3D peformant and has offset or angle else False
+ +segysak/_accessor.py
Python | |
---|---|
430 +431 +432 +433 +434 +435 +436 |
|
is_depth()
+
+Check if seisnc volume is in depth
+ +segysak/_accessor.py
Python | |
---|---|
452 +453 +454 +455 |
|
is_empty()
+
+Check if empty
+ +segysak/_accessor.py
Python | |
---|---|
457 +458 +459 +460 +461 +462 +463 +464 |
|
is_twt()
+
+Check if seisnc volume is in twt
+ +segysak/_accessor.py
Python | |
---|---|
447 +448 +449 +450 |
|
plot_bounds(ax=None)
+
+Plot survey bbounding box to a new or existing axis
+ + + +Parameters:
+Name | +Type | +Description | +Default | +
---|---|---|---|
ax |
+ + | +
+
+
+ (optional) axis to plot to + |
+
+ None
+ |
+
Returns:
+Type | +Description | +
---|---|
+ | +
+
+
+ matplotlib axis used + |
+
segysak/_accessor.py
Python | |
---|---|
687 +688 +689 +690 +691 +692 +693 +694 +695 +696 +697 +698 +699 +700 +701 +702 +703 +704 +705 +706 +707 +708 +709 +710 +711 +712 +713 +714 |
|
subsample_dims(**dim_kwargs)
+
+Return a dictionary of subsampled dims suitable for xarray.interp.
+This tool halves
+ + + +Parameters:
+Name | +Type | +Description | +Default | +
---|---|---|---|
dim_kwargs |
+ + | +
+
+
+ dimension names as keyword arguments with values of how +many times we should divide the dimension by 2. + |
+
+ {}
+ |
+
segysak/_accessor.py
Python | |
---|---|
716 +717 +718 +719 +720 +721 +722 +723 +724 +725 +726 +727 +728 +729 +730 +731 +732 |
|
surface_from_points(points, attr, left=('cdp_x', 'cdp_y'), right=None, key=None, method='linear')
+
+Sample a 2D point set with an attribute (like Z) to the seisnc +geometry using interpolation.
+ + + +Parameters:
+Name | +Type | +Description | +Default | +
---|---|---|---|
points |
+
+ array - like
+ |
+
+
+
+ Nx2 array-like of points with coordinates +corresponding to coord1 and coord2. + |
+ + required + | +
attr |
+
+ (array - like, str)
+ |
+
+
+
+ If str points should be a DataFrame where +attr is the column name of the attribute to be interpolated to +the seisnc geometry. Else attr is a 1D array of length N. + |
+ + required + | +
left |
+
+ tuple
+ |
+
+
+
+ Length 2 tuple of coordinate dimensions to interpolate to. + |
+
+ ('cdp_x', 'cdp_y')
+ |
+
right |
+
+ tuple
+ |
+
+
+
+ If points is DataFrame right is a length 2 +tuple of column keys corresponding to coordinates in argument left. + |
+
+ None
+ |
+
method |
+
+ str
+ |
+
+
+
+ The interpolation method to use for griddata from scipy. +Defaults to 'linear' + |
+
+ 'linear'
+ |
+
Returns:
+Type | +Description | +
---|---|
+ | +
+
+
+ xr.Dataset: Surface with geometry specified in left. + |
+
segysak/_accessor.py
Python | |
---|---|
486 +487 +488 +489 +490 +491 +492 +493 +494 +495 +496 +497 +498 +499 +500 +501 +502 +503 +504 +505 +506 +507 +508 +509 +510 +511 +512 +513 +514 +515 +516 +517 +518 +519 +520 +521 +522 +523 +524 +525 +526 +527 +528 +529 +530 +531 +532 +533 +534 +535 +536 +537 +538 +539 +540 +541 +542 +543 +544 +545 +546 +547 +548 +549 +550 +551 +552 +553 +554 +555 +556 +557 +558 +559 +560 +561 +562 +563 +564 +565 +566 +567 +568 +569 +570 +571 +572 +573 +574 +575 +576 +577 +578 +579 +580 +581 +582 +583 |
|
xysel(cdp_x, cdp_y, method='nearest', sample_dim_name='cdp')
+
+Select data at x and y coordinates
+ + + +Parameters:
+Name | +Type | +Description | +Default | +
---|---|---|---|
method |
+
+ str
+ |
+
+
+
+ Same as methods for xarray.Dataset.interp + |
+
+ 'nearest'
+ |
+
sample_dim_name |
+
+ str
+ |
+
+
+
+ The name to give the output sampling dimension. + |
+
+ 'cdp'
+ |
+
Returns:
+Type | +Description | +
---|---|
+ | +
+
+
+ xarray.Dataset: At selected coordinates. + |
+
segysak/_accessor.py
Python | |
---|---|
283 +284 +285 +286 +287 +288 +289 +290 +291 +292 +293 +294 +295 +296 +297 +298 +299 +300 +301 +302 +303 +304 +305 +306 +307 +308 +309 +310 +311 +312 +313 +314 +315 +316 +317 +318 +319 +320 +321 +322 +323 +324 +325 +326 +327 +328 +329 +330 +331 +332 +333 +334 +335 +336 +337 +338 +339 +340 +341 +342 +343 +344 +345 +346 +347 +348 +349 +350 +351 +352 +353 +354 +355 +356 +357 +358 +359 +360 +361 +362 +363 +364 |
|
zeros_like()
+
+Create a new dataset with the same attributes and coordinates and +dimensions but with data filled by zeros.
+ +segysak/_accessor.py
Python | |
---|---|
473 +474 +475 +476 +477 +478 +479 +480 +481 +482 +483 +484 |
|
These methods help to create datasets with appropriate coordinates for seismic +data.
+ + +create3d_dataset(dims, first_sample=0, sample_rate=1, first_iline=1, iline_step=1, first_xline=1, xline_step=1, first_offset=None, offset_step=None, vert_domain='TWT', vert_units=None)
+
+Create a regular 3D seismic dataset from basic grid geometry with optional +offset dimension for pre-stack data.
+ + + +Parameters:
+Name | +Type | +Description | +Default | +
---|---|---|---|
dims |
+
+ tuple of int
+ |
+
+
+
+ The dimensions of the dataset to create (iline, xline, vertical). +If first_offset is specified then (iline, xline, vertical, offset) + |
+ + required + | +
first_sample |
+
+ int
+ |
+
+
+
+ The first vertical sample. Defaults to 0. + |
+
+ 0
+ |
+
sample_rate |
+
+ int
+ |
+
+
+
+ The vertical sample rate. Defaults to 1. + |
+
+ 1
+ |
+
first_iline |
+
+ int
+ |
+
+
+
+ First inline number. Defaults to 1. + |
+
+ 1
+ |
+
iline_step |
+
+ int
+ |
+
+
+
+ Inline increment. Defaults to 1. + |
+
+ 1
+ |
+
first_xline |
+
+ int
+ |
+
+
+
+ First crossline number. Defaults to 1. + |
+
+ 1
+ |
+
xline_step |
+
+ int
+ |
+
+
+
+ Crossline increment. Defaults to 1. + |
+
+ 1
+ |
+
first_offset |
+
+ int / float
+ |
+
+
+
+ If not none, the offset dimension will be added starting +at first offset. Defaults to None. + |
+
+ None
+ |
+
offset_step |
+
+ (int, float)
+ |
+
+
+
+ Required if first_offset is specified. The offset increment. + |
+
+ None
+ |
+
vert_domain |
+
+ str
+ |
+
+
+
+ Vertical domain, one of ('DEPTH', 'TWT'). Defaults to 'TWT'. + |
+
+ 'TWT'
+ |
+
vert_units(str, |
+
+ optional
+ |
+
+
+
+ Measurement system of of vertical coordinates. +One of ('ms', 's', 'm', 'km', 'ft'): Defaults to None for unknown. + |
+ + required + | +
segysak/_seismic_dataset.py
Python | |
---|---|
154 +155 +156 +157 +158 +159 +160 +161 +162 +163 +164 +165 +166 +167 +168 +169 +170 +171 +172 +173 +174 +175 +176 +177 +178 +179 +180 +181 +182 +183 +184 +185 +186 +187 +188 +189 +190 +191 +192 +193 +194 +195 +196 +197 +198 +199 +200 +201 +202 +203 +204 +205 +206 +207 +208 +209 +210 +211 +212 +213 +214 +215 +216 +217 +218 +219 +220 +221 +222 +223 +224 +225 +226 +227 +228 +229 +230 +231 +232 +233 +234 +235 +236 +237 +238 +239 +240 +241 +242 +243 |
|
create2d_dataset(dims, first_sample=0, sample_rate=1, first_cdp=1, cdp_step=1, first_offset=None, offset_step=None, vert_domain='TWT', vert_units=None)
+
+Create a regular 2D seismic dataset from basic geometry.
+ + + +Parameters:
+Name | +Type | +Description | +Default | +
---|---|---|---|
dims |
+
+ tuple of int
+ |
+
+
+
+ The dimensions of the dataset to create (ncdp, vertical). +If first_offset is specified then (ncdp, vertical, offset) + |
+ + required + | +
first_sample |
+
+ int
+ |
+
+
+
+ The first vertical sample. Defaults to 0. + |
+
+ 0
+ |
+
sample_rate |
+
+ int
+ |
+
+
+
+ The vertical sample rate. Defaults to 1. + |
+
+ 1
+ |
+
first_cdp |
+
+ int
+ |
+
+
+
+ First CDP number. Defaults to 1. + |
+
+ 1
+ |
+
cdp_step |
+
+ int
+ |
+
+
+
+ CDP increment. Defaults to 1. + |
+
+ 1
+ |
+
first_offset |
+
+ int / float
+ |
+
+
+
+ If not none, the offset dimension will be added starting +at first offset. Defaults to None. + |
+
+ None
+ |
+
offset_step |
+
+ (int, float)
+ |
+
+
+
+ Required if first_offset is specified. The offset increment. + |
+
+ None
+ |
+
vert_domain |
+
+ str
+ |
+
+
+
+ Vertical domain, one of ('DEPTH', 'TWT'). Defaults to 'TWT'. + |
+
+ 'TWT'
+ |
+
vert_units(str, |
+
+ optional
+ |
+
+
+
+ Measurement system of of vertical coordinates. +One of ('ms', 's', 'm', 'km', 'ft'): Defaults to None for unknown. + |
+ + required + | +
segysak/_seismic_dataset.py
Python | |
---|---|
246 +247 +248 +249 +250 +251 +252 +253 +254 +255 +256 +257 +258 +259 +260 +261 +262 +263 +264 +265 +266 +267 +268 +269 +270 +271 +272 +273 +274 +275 +276 +277 +278 +279 +280 +281 +282 +283 +284 +285 +286 +287 +288 +289 +290 +291 +292 +293 +294 +295 +296 +297 +298 +299 +300 +301 +302 +303 +304 +305 |
|
create_seismic_dataset(twt=None, depth=None, cdp=None, iline=None, xline=None, offset=None, segysak_attr=True, **dim_args)
+
+Create a blank seismic dataset by setting the dimension sizes (d#) or by passing +arrays for known dimensions.
+iline and xline must be specified together and are mutually exclusive to cdp argument.
+ + + +Parameters:
+Name | +Type | +Description | +Default | +
---|---|---|---|
twt |
+
+ int / array - like
+ |
+
+
+
+ Two-way time vertical sampling coordinates. +Cannot be used with depth argument. Defaults to None. + |
+
+ None
+ |
+
depth |
+
+ int / array - like
+ |
+
+
+
+ Depth vertical sampling coordinates. +Cannot be used with twt argument. Defaults to None. + |
+
+ None
+ |
+
cdp |
+
+ int / array - like
+ |
+
+
+
+ The CDP numbering for 2D data, cannot be used +with iline or xline. Use for 2D seismic data. Defaults to None. + |
+
+ None
+ |
+
iline |
+
+ int / array - like
+ |
+
+
+
+ The iline numbering, cannot be +used with cdp argument. Use for 3D seismic data. Defaults to None. + |
+
+ None
+ |
+
xline |
+
+ int / array - like
+ |
+
+
+
+ The xline numbering, cannot be +used with cdp argument. Use for 3D seismic data. Defaults to None. + |
+
+ None
+ |
+
offset |
+
+ int / array - like
+ |
+
+
+
+ The offset. This will fill dimension d4. +Use for pre-stack data. Defaults to None. + |
+
+ None
+ |
+
segysak_attr |
+
+ bool
+ |
+
+
+
+ Add SEGYSAK attributes to the Dataset + |
+
+ True
+ |
+
dim_args |
+
+ int / array - like
+ |
+
+
+
+ Other dimensions you would like in your dataset. The key will be the dimension name. + |
+
+ {}
+ |
+
Returns:
+Type | +Description | +
---|---|
+ | +
+
+
+ xarray.Dataset: A dataset with the defined dimensions of input setup to work with seisnc standards. + |
+
segysak/_seismic_dataset.py
Python | |
---|---|
33 + 34 + 35 + 36 + 37 + 38 + 39 + 40 + 41 + 42 + 43 + 44 + 45 + 46 + 47 + 48 + 49 + 50 + 51 + 52 + 53 + 54 + 55 + 56 + 57 + 58 + 59 + 60 + 61 + 62 + 63 + 64 + 65 + 66 + 67 + 68 + 69 + 70 + 71 + 72 + 73 + 74 + 75 + 76 + 77 + 78 + 79 + 80 + 81 + 82 + 83 + 84 + 85 + 86 + 87 + 88 + 89 + 90 + 91 + 92 + 93 + 94 + 95 + 96 + 97 + 98 + 99 +100 +101 +102 +103 +104 +105 +106 +107 +108 +109 +110 +111 +112 +113 +114 +115 +116 +117 +118 +119 +120 +121 +122 +123 +124 +125 |
|