一个主要为地震数据设计的交互式三维可视化工具
seismic-canvas的Python项目详细描述
地震画布:交互式三维地震可视化工具
地震画布是一个交互式的三维可视化工具,主要针对地震数据设计,同时也可以对任何三维数据有用。 这个工具基于VisPy,这是一个Python库,通过^{str1}$OpenGL库利用gpu的计算能力。在
安装
只需运行以下命令即可从PyPI安装:
pip install seismic_canvas
使用
切片
使用seismic_canvas.volume_slices
函数添加任意数量的切片以查看卷的切片。例如:
摄像机
左键单击并拖动可旋转相机角度;右键单击并拖动或滚动鼠标滚轮可放大和缩小。按住Shift键,左键单击并拖动以平移移动。按Space键返回初始视图。随时按S键保存屏幕截图PNG文件。按Esc键关闭窗口。在
拖动
大多数元素是可拖动的。按住Ctrl键,当鼠标悬停在可选择的可视节点上时,它们将高亮显示;左键单击并拖动以移动高亮显示的可视节点。卷切片将在拖动期间实时更新其内容。也可以按D键打开/关闭拖动模式。在
地图3>
与numpy memory map兼容。例如,读取包含大小为210x920x825(608MB)的三维地震卷的二进制数据文件时,地震画布需要大约700MB的RAM(Windows PyQt5后端)。在
volume=np.fromfile('./CostaRica_seismic.dat','>f4').reshape(825,920,210)
相反,使用numpy内存映射读取同一个文件,Seismic Canvas只需要约82MB的RAM(windowspyqt5后端),并大大缩短了启动时间。在
volume=np.memmap('./CostaRica_seismic.dat',dtype='>f4',mode='r',shape=(825,920,210))
再现性
当您拖动并排列画布上的所有内容时,按A键打印出可用于重现当前画布设置的有用参数集合。在
依赖关系
地震画布依赖于numpy和vispyPython库。 vispy库还依赖于这些后端之一在操作系统上显示窗口:PyQt4/PySide、PyQt5/PySide2、glfw、pyglet、SDL或wx。 我们建议使用PyQt5,因为它最容易安装,并且在不同的平台上最兼容。在
还建议安装PyOpenGL和matplotlib;它们是可选库,可以以各种方式增强可视化效果。{/str{/str}对于3D对象,{/str}比open-str}str}更有用。在
演示
请参见^{
也可以试试^{
使用二维标记可视化随机生成的测井曲线。在
使用三角形网格曲面可视化FaultSkin
s
一个带有z轴-上方向轴图例的深色主题示例:
待办事项列表
- [x] 测井可视化
- [x] 将当前colorbar替换为Matplotlib渲染的colorbar
- []在切片平面相交处绘制直线
- 项目
标签: