Skip to content

A simple GUI of PyFMM for interactively calculating 2-D traveltime fields and raytracing. PyFMM的简易图形界面,交互式地计算二维走时场和射线追踪

License

Notifications You must be signed in to change notification settings

Dengda98/PyFMM-GUI

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

17 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

PyFMM-GUI

GitHub code size in bytes GitHub License GitHub Actions Workflow Status GitHub Actions Workflow Status

基于PyQt5开发的简易图形界面,用于计算任意速度场下的二维全局走时场。计算模块基于我自己开发的C/Python库PyFMM

该GUI本质算是个教学小工具,图像可帮助初学者更好的理解射线追踪,也可更方便、直观地看到不同速度场下射线的扭曲形态。

图片 图片

安装

1、安装PyFMM.

2、安装PyQt5

    conda install pyqt -c conda-forge

3、安装本GUI程序,有多种下载方式:

  • PYPI下载(推荐)
    最新更新,已将PyFMM-GUI程序源码同步到PYPI,可直接运行:

    pip install -v pyfmm-gui

    进行安装。各操作平台的wheels后续会逐步支持。

  • 从Github下载安装,安装有两个选择:

    • 不提前下载程序包

      要求你当前环境中有git工具。这样可直接运行

      # vx.x.x指代Release中的版本号,建议下载最新稳定版本
      pip install -v git+https://github.com/Dengda98/[email protected] 
      # 若网速不好可改为gitee镜像
      # pip install -v git+https://gitee.com/Dengda98/[email protected]
    • 提前下载好程序包

      注意代码主页更新频繁,建议在Release中下载最新稳定版本,不推荐clone,不推荐直接下载主分支。在下载解压后,在程序根目录下运行

      pip install -v .

这样可安装到你的虚拟环境中。

使用

直接运行

    pyfmm_gui   # 或者 pyfmm-gui

或者

    python -m pyfmm_gui.main

功能按钮很简单,基本“所见即所得”。其中Update Velocity下的文本框是个Python脚本窗口,可以自定义FMM网格范围(xmax, ymax,最小值均为0)、划分数(nx, ny)(组成xarr, yarr),以及2D速度数组vel2d。设置好后,点击Update Velocity即可计算。

其它

如果遇到bug,欢迎联系我([email protected]),我会完善! 也欢迎提出建议和更多示例!

About

A simple GUI of PyFMM for interactively calculating 2-D traveltime fields and raytracing. PyFMM的简易图形界面,交互式地计算二维走时场和射线追踪

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages