# 地震数据处理
**Repository Path**: likehao554/Seismic-data-processing
## Basic Information
- **Project Name**: 地震数据处理
- **Description**: 地震数据处理开发-项目介绍
- **Primary Language**: Unknown
- **License**: Not specified
- **Default Branch**: master
- **Homepage**: None
- **GVP Project**: No
## Statistics
- **Stars**: 0
- **Forks**: 0
- **Created**: 2023-03-20
- **Last Updated**: 2024-12-31
## Categories & Tags
**Categories**: Uncategorized
**Tags**: None
## README
# 地震数据处理
## 项目简介
偏移成像技术能够高效地处理地震资料,但是传统的操作方法仍然是单一的通过命令提示符运行程序得出结果,各个模块之前不能够很好的整合在一起,这就给没有操作经验的工作人员带来一定的学习成本。弹性全波形反演与逆时偏移成像软件目前在国内乃至国际上仍然是空白,地震数据的处理、解决复杂成像的问题也为油气开发提供了可靠保障,在国家层面来说软件与核心技术的本土化也具有重要的战略意义。研究院经过长时间的积累,已经形成了自己的一套技术体系,如何把这些技术集成一款便于操作的图形化界面软件是目前需要解决的问题。仿照东方物探公司的GeoEast软件平台,把实验室的研究成果集成为地质数据处理解释一体化软件系统,核心是设计出合理的操作流程,通过界面驱动可执行程序,完成对地质数据的可视化处理。
### 技术选型
Python、PyQt5、Qt Designer
### 核心内容
1.与地质专家沟通交流,确定业务需求,了解基本的地质知识,选择合适的技术路线,将功能模块进行拆分,设计时降低模块之间耦合度,便于后期功能拓展。
2.根据实际情况,程序划分为了八个模块:首页、工作台选择、预读、偏移、叠加、参数文件读取、节点选择、程序运行监测。根据每个模块的业务需求文档、设计文档,进行编码。。
### 个人收获:
在跨领域工作中,团队合作是不可或缺的一部分,双方要积极参与讨论和决策,加强沟通,共同解决问题。
积累了工业软件平台的开发经验,提高了系统设计的前瞻性思维能力。
### 完成工作
本项目完成了后台程序文件资源管理、2D与3D预处理、生成参数文件、生成选择炮号的测试文件、获取服务器节点并通过cpu或gpu运行、实时监测程序运行并可视化、显示成像结果、展示日志信息等功能。选用Python与PyQt5编程语言,总体来看程序可以分为底层、平台层、应用层三个层次。底层(界面层)是在QtDesigner中通过对不同的组件进行组合形成ui文件,通过PyUIC命令将其转化为python文件;平台层继承了来自底层的界面对象,进行相关功能的代码编写,将业务逻辑与界面图形进行分离,减少了模块间的耦合;应用层是用户所操作的界面分为了八个模块:
首页模块:实现界面的展示,包括展示信息图片,与一些功能说明,同时选择工程文件夹;
工作台模块:实现功能的选择,包括2D偏移,2D叠加,3D偏移,3D叠加功能的选择,并进入相应的功能;
预读模块:实现数据预读,包括地震数据的预读,2D或3D速度模型的预读;
偏移模块:通过读取总炮号列表并可视化,通过选择生成测试炮号文件,同时选择炮号,形成偏移脚本文件;
叠加模块:通过参数控制生成的叠加脚本文件,将选择选择好的参数写入文件,同时运行叠加功能;
参数文件模块:主要是进行参数的填写,并生成程序运行必备的参数文件;
节点模块:获取当前系统的节点并可视化,选择将要使用cpu或gpu运行之后,展现节点一些基本状态;
监测模块:可以实时显示后台运行程序的文件名、结点信息、PID值、虚拟内存量、常驻内存量、CPU使用量、物理内存使用量、运行时间等参数值,同时可以 **实时更新** 程序运行状态,还可以在程序运行完之后查看生成的图片与日志文件。