This Python library provides a bag of Marchenko algorithms implemented on top of PyLops.
Whilst a basic implementation of the Marchenko algorithm is available directly in PyLops, a number of variants have been developed over the years. This library aims at collecting all of them in the same place and give access to them with a unique consistent API to ease switching between them and prototyping new algorithms.
Currently we provide the following implementations:
- Marchenko redatuming via Neumann iterative substitution (Wapenaar et al., 2014)
- Marchenko redatuming via inversion (van der Neut et al., 2017)
- Rayleigh-Marchenko redatuming (Ravasi, 2017)
- Internal multiple elimination via Marchenko equations (Zhang et al., 2019)
- Marchenko redatuming with irregular sources (Haindl et al., 2021)
Alongside the core algorithms, these following auxiliary tools are also provided:
- Target-oriented receiver-side redatuming via MDD
- Marchenko imaging (combined source-side Marchenko redatuming and receiver-side MDD redatuming)
- Angle gather computation (de Bruin, Wapenaar, and Berkhout, 1990)
You need Python 3.6 or greater.
pip install pymarchenko
You can also directly install from the main repository (although this is not reccomended)
pip install git+https://[email protected]/DIG-Kaust/pymarchenko.git@main
The official documentation of PyMarchenko is available here.
Visit this page to get started learning about the different algorithms implemented in this library.
Moreover, if you have installed PyMarchenko using the developer environment you can also build the documentation locally by typing the following command:
make doc
Once the documentation is created, you can make any change to the source code and rebuild the documentation by simply typing
make docupdate
Our documentation is hosted on Github-Pages and created with a Github-Action triggered every time a commit is made to the main branch.