地震数据在seg y文件中的传输
segp的Python项目详细描述
Segpy是由Sixton North创建的开源软件,并根据GNU Affero通用公共许可证获得许可。
可选的商业许可条款可从60 North获得,就像您希望将Segpy重新发布为 作为专有封闭源代码产品的一部分,或使用segpy作为一部分提供软件即服务(saas) 一个专有的封闭源代码服务。
什么是赛格皮?
seg-y文件格式是勘探地球物理学家协会开发的几种存储标准之一。 地球物理地震数据。它是一个开放的标准,由SEG技术标准委员会控制。 非营利组织。
本项目的目标是在python 3中实现一个开放的seg-y模块,用于在seg-y文件和 纯python中的python数据结构。
基本用法
下面是一个简短的示例,它将非标准的小端seg-y转换为标准的大端seg-y:
from segpy.reader import create_reader from segpy.writer import write_segy with open('seismic_little.sgy', 'rb') as segy_in_file: # The seg_y_dataset is a lazy-reader, so keep the file open throughout. seg_y_dataset = create_reader(segy_in_file, endian='<') # Non-standard Rev 1 little-endian print(seg_y_dataset.num_traces()) # Write the seg_y_dataset out to another file, in big-endian format with open('seismic_big.sgy', 'wb') as segy_out_file: write_segy(segy_out_file, seg_y_dataset, endian='>') # Standard Rev 1 big-endian
create_reader()函数创建数据集,该数据集懒洋洋地从文件中获取跟踪,这就是为什么 在使用此数据集期间,文件必须保持打开状态以供读取。我们重写默认的endian参数 指定我们正在读取的seg-y文件是非标准的小字节顺序。在最后一行 示例我们将Dataset输出写入另一个文件,这次是使用标准的大端字节顺序。 注意,输入文件必须保持打开状态,因为write_segy()一次只从 输入数据集。这意味着总体内存使用率非常低,程序可以处理任意大的seg-y文件。
贡献
最简单的方法是使用segpy提交缺陷报告或遇到的任何其他问题。拜托 有关详细信息,请参见CONTRIBUTING.rst。
开发
Segpy是由60 North公司创建的,旨在满足其需求。如果需要其他功能,请改进 性能、对早期版本python的可移植性,或修复的特定缺陷(这些缺陷标记为“unfunded” 在github问题跟踪程序中)60个北方有经验的segpy维护人员可以执行 资助开发工作。在http://sixty-north.com向六十号北询问。
Segpy版本
segpy 2.0是对python 3中seg-y阅读器的一个完整的重新构想,代表了与任何和所有旧版本的完全突破。 塞格比的版本。没有试图维护与segpy早期版本的api兼容性,也没有代码 跨版本共享。尽管早期版本的segpy是开源的,但它们从未像现在这样被“发布”。 segpy的早期版本已被弃用,并且完全不受支持。