solving the (factored) eikonal equation with the Fast Marching method

Eikonal Fast Marching

eikonalfm is a Python (C++) extension which implements the Fast Marching method for the eikonal equation

and the factored eikonal equation

where

References

• J. Sethian. Fast marching methods. SIAM Review, 41(2):199-235, 1999. doi: 10.1137/S0036144598347059. URL https://doi.org/10.1137/S0036144598347059
• Eran Treister and Eldad Haber. A fast marching algorithm for the factored eikonal equation. Journal of Computational Physics, 324:210-225, 2016.

Requirements

• Python 3
• numpy version 1.7 or higher
• C++11 compiler

Installation

Installation from PyPi:

``````pip install eikonalfm
``````

Manual install from the repository:

``````git clone https://github.com/Daarknes/eikonalfm.git
cd eikonalfm
python setup.py
``````

Examples

``````import numpy as np
import eikonalfm

c = np.ones((100, 100))
x_s = (0, 0)
dx = (1.0, 1.0)
order = 2

tau_fm = eikonalfm.fast_marching(c, x_s, dx, order)
tau_ffm = eikonalfm.factored_fast_marching(c, x_s, dx, order)
``````

Note that the source position `x_s` describes an index-vector.

To visualize the results, matplotlib (https://pypi.org/project/matplotlib/) can be used, for example:

``````import matplotlib.pyplot as plt

plt.contourf(tau_ffm)
plt.show()
``````