Skip to content
Snippets Groups Projects
Select Git revision
  • master
1 result

layered-surfaces

  • Open with
  • Download source code
  • orting's avatar
    orting authored
    Fixed grammar, added clickable linksm added bibtex citation.
    79bdc4fe
    History

    Segmentation via Layered Surface Detection

    1. Description of repository content
    2. Set-up to run tutorials
    3. Resources and inspiration
    4. Contributions

    1. Description of repository content

    The layered surface tool uses a sparse layered graphs in order detect layers in 2D and 3D images. The primary benefit of using this tool over standard edge detection is that it can detect layers even when there are edge breaks or gaps in the layer.

    This repository contains tutorials for using the layered surface detection tool. Included is a few Jupyter notebook tutorials that are designed to give you an idea on how to use the layered surface tool. You should start with the LayeredSurfaceDetection_tutorial.ipynb notebook which discuss the basics of the layered surface tool and applies it on synthetic data as well as on simple real-world data. More complex examples are provided in the NerveSegmentation2D_example.ipynb and NerveSegmentation3D_example.ipynb notebooks, which describe how to apply the layered surface tool to circular regions via radial unwrapping. A Python file containing helper functions used in the tutorials is included in utilsLS.py, and visualization functions are included in the utilsVisualizationLS.py.

    These tutorials will give you an understanding of how to apply the Layered Surface tool to image data so that you can use the tool on your own data. You can open the tutorials at Binder.

    2. Set-up to run tutorials

    These instructions will help you to set up the tool on your local computer. If you need additional help, please see installing Jupyter Notebooks.

    For running the tool locally on your computer, you need to install the slgbuilder Python package using pip install slgbuilder.

    If you are using Anaconda, you can install slgbuilder and the packages it depends on via the GUI (check package names in environment.yml), or alternatively by runing the environment file on the terminal:

    Mac/Linux:

    1. Navigate to the folder containing these tutorials and the environment.yml file.
    2. To open the terminal, right click on the folder and navigate to
      • Mac: Services/New Terminal at Folder
      • Linux: Open in Terminal
    3. Type conda env create -f environment.yml and press enter.
    4. Type conda activate qim-LS and press enter.

    Windows:

    1. Open Anaconda Prompt.
    2. cd <tutorials_path>, where tutorials_path is the absolute (full) path to the folder containing these tutorials.
    3. Type conda env create -f environment.yml and press enter.
    4. Type conda activate qim-LS and press enter.

    3. Resources and inspiration

    For inspiration, check out the following papers on user cases we have solved with the layered surfaces tool:

    4. Contributions

    The development of the tutorials is a combined effort from several researchers in the QIM team. The collection of scripts and exercises is in constant development, and actively used to demonstrate the tool and teach at workshops. We would therefore very much appreciate to hear about your experience.

    Please contact William Laprade wl@di.ku.dk with issues and feedback.

    If you use the tool for research, please cite the original paper: Sparse layered graphs for multi-object segmentation..

    @inproceedings{jeppesen2020sparse,
      title={Sparse Layered Graphs for Multi-Object Segmentation},
      author={Jeppesen, Niels and Christensen, Anders N and Dahl, Vedrana A and Dahl, Anders B},
      booktitle={Proceedings of the IEEE/CVF Conference on Computer Vision and Pattern Recognition},
      pages={12777--12785},
      year={2020}
    }