https://github.com/notmatthancock/level-set-machine-learning
Level set segmentation with machine learning based velocity field
https://github.com/notmatthancock/level-set-machine-learning
image-segmentation level-set partial-differential-equations
Last synced: about 1 month ago
JSON representation
Level set segmentation with machine learning based velocity field
- Host: GitHub
- URL: https://github.com/notmatthancock/level-set-machine-learning
- Owner: notmatthancock
- License: bsd-3-clause
- Created: 2018-05-02T14:42:57.000Z (about 7 years ago)
- Default Branch: master
- Last Pushed: 2020-01-26T03:10:02.000Z (over 5 years ago)
- Last Synced: 2025-03-23T01:36:11.919Z (about 2 months ago)
- Topics: image-segmentation, level-set, partial-differential-equations
- Language: Python
- Homepage:
- Size: 8.69 MB
- Stars: 42
- Watchers: 2
- Forks: 16
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE.txt
Awesome Lists containing this project
README

## Level set machine learning
Level set image segmentation with velocity field from
machine learning methodsExample 1 | Example 2
:--------:|:---------:
 | ### Installation
#### Linux
Install via pip:
```bash
pip install lsml
```#### MacOS and Windows
Not on pip; install locally:
```bash
# Clone the repo
git clone [email protected]:notmatthancock/level-set-machine-learning.git
# Change working directory to the cloned repo
cd level-set-machine-learning
# Install via pip locally
pip install -e .
```### Description of the method
In the standard level set segmentation
approach, the boundary of the approximating segmentation is given
by the zero level set of some scalar field u (also called the
"level set function"), and the movement of zero level set of u
is prescribed to move in the normal direction with velocity ν, which
usually takes into account underlying image information.This prescribed movement is summarized in the following PDE [1]:
ut = v ||Du||2
In this extension of the level set method method [2], the velocity
field v is learned from data via machine learning regression methods,
rather than fixing the velocity function a priori based on expected image
appearance (e.g., assuming object boundaries being defined by strong
image gradients).[1]: Malladi, Ravi, James A. Sethian, and Baba C. Vemuri. "Shape modeling with front propagation: A level set approach." IEEE transactions on pattern analysis and machine intelligence 17.2 (1995): 158-175.
[2]: Hancock, Matthew C., and Jerry F. Magnan. "Lung nodule segmentation via level set machine learning." arXiv preprint arXiv:1910.03191 (2019). https://arxiv.org/abs/1910.03191
### Examples
See `examples` directory for the method illustrated on some synthetic data.