A median filter scheme for mean curvature flow

This page contains the explanations and source code as well as introductory material related to the results in the paper:
Anton Ullrich and Tim Laux. Median filter method for mean curvature flow using a random Jacobi algorithm
Keywords: Mean curvature flow, manifold learning, level set method, thresholding scheme, median filter, viscosity solution, Young angle condition, continuum limit

ABSTRACT: We present an efficient scheme for level set mean curvature flow using a domain discretization and median filters. For this scheme, we show convergence in \(L^\infty\)-norm under mild assumptions on the number of points in the discretization. In addition, we strengthen the weak convergence result for the MBO thresholding scheme applied to data clustering of Laux and Lelmi. This is done through a strong convergence of the discretized heat flow in the optimal regime. Different boundary conditions are also discussed.

image image1 image2

Figure 1. Sample pictures demonstrating the content.

The idea of this page is to be a mostly self-contained repository for the code of the associated paper. To this end, we give a brief introduction to the main topics, including mean curvature flow, the thresholding (MBO) scheme, and our algorithm. Then we present the applications for which our code is used and give example simulations.

Structure

In the first section, Mean curvature flow, we give an introduction to the evolution known as mean curvature flow, some of its properties and the main applications. Some examples and simulations are also shown to give an intuition of how the flow behaves.

Then, in Thresholding scheme & level set method, we present one of the most important approximation algorithm, the MBO scheme, which is also called the thresholding scheme. Our algorithm is also an extension of this scheme. After an introduction, we explain what the level set method is and why we will use it.

After a discretization, this leads to the formulation of our algorithm, which is done in Median filter algorithm. Here we give the algorithm, an explanation and simplified examples for it. In addition, the structure of our program is explained and we sketch how the other programs work as well.

We conclude in Simulations with simulations and applications of our algorithm.


Project page created: 30/07/2024

Project contributors: Anton Ullrich, Tim Laux

Corresponding author of this page: Anton Ullrich, anton.ullrich@mis.mpg.de

Code written by: Anton Ullrich

Software used: Matlab (Version R2022b), Python (Version 3.9.2), Rust (Version 1.75.0)

System setup used:
- 2x 32-Core AMD Epyc 7601 at 2.2 GHz (max. 3.2 GHz)
- 1024 GB RAM

License for code of this project page: MIT License (https://spdx.org/licenses/MIT.html)

License for all other content of this project page (text, images, …): CC BY 4.0 (https://creativecommons.org/licenses/by/4.0/)

Last updated 17/10/2024.