tmasthay / IslandOfMisfitToys

Implementations of various misfit functions in seismic literature
6 stars 1 forks source link

Island of Misfit Toys

Island of Misfit Toys Banner

Welcome to the Island of Misfit Toys!

Our PyPI page and Documentation (work in progress).

This repository contains implementations of various misfit functions found in seismic inversion literature. Our goal is to create a comprehensive collection of these functions to aid researchers and practitioners of seismic inverse problems. We aim for a rapid prototyping environment built on top of deepwave, the primary dependency of our package. Deepwave represents acoustic and elastic forward solvers as a pytorch module and thus integrates pytorch's optimization packages seamlessly into an FWI workflow.

If you have interest in adding features, please add a pull request or contact me directly at tyler@oden.utexas.edu. If you have any trouble with our code or find bugs, please let us know by filling out an issue!

For those curious about our logo's inspiration, search "Misfit Toys" in Rudolph the Red-nosed Reindeer, see the Marmousi model, and the importance of misfits in inverse problems.

Table of Contents

Getting Started

To begin using the misfit functions in this repository, simply run

pip install IslandOfMisfitToys

and should should be ready to go on any linux or arm64 MacOS system. Please let us know if you have trouble with the installation.

Roadmap

(1) One-dimensional $W_1$ and $W_2$ (trace-by-trace)

(2) Huber

(3) $L^1$-$L^2$ hybrid

(4) Normalized and unnormalized Sobolev norms

(5) Fisher-Rao metric

(6) Graph-space OT

(7) Entropic regularization OT

(8) Misfits based on reduced-order models