Segmentation via Layered Surface Detection
1. Description of Repository Content
This repository contains tutorials for the 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 to some synthetic data as well as a relatively simple example dataset. 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 some helper functions that are used in the tutorials is also included in utilsLS.py_. Some 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 datasets. You can open the the tutorials at .
2. Set-up to run tutorials
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 automatically install the required packages using the included environment file:
Mac/Linux:
- Navigate to the folder containing these tutorials and the
environment.yml
file. - To open the terminal, right click on the folder and navigate to
- Mac: Services/New Terminal at Folder
- Linux: Open in Terminal
- Type
conda env create -f environment.yml
and press enter. - Type
conda activate qim-LS
and press enter.
Windows:
- Open Anaconda Prompt.
-
cd <tutorials_path>
, where tutorials_path is the absolute (full) path to the folder containing these tutorials. - Type
conda env create -f environment.yml
and press enter. - 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:
- Dahl, Dahl, Larsen. Surface Detection using Round Cut. International Conference on 3D Vision, 2014.
- Dahl, Andersson, Trinderup, Gundlach. Layered Surface Detection in Micro-CT Tetra Pak Data. International Conference on Neutrons and Food 2016.
- Dahl, Einarsson, Darvann, Hermann, Hove, Kakimoto, Kreiborg, Dahl. Automatic measurement of orbital volume in unilateral coronal synostosis. International Symposium on Biomedical Imaging 2016.
- Lindberg, Larsen, Dahl, Jørgensen, Hamann. Quantitative measure of optic disc drusen location in enhanced depth imaging optical coherence tomography scans. Investigative Ophthalmology & Visual Science, 2017.
- Malmqvist, Lindberg, Dahl, Jørgensen, Hamann. Quantitatively measured anatomic location and volume of optic disc drusen: an enhanced depth imaging optical coherence tomography study. Investigative Ophthalmology & Visual Science, 2017.
- Christensen, Larsen, Jensen, Petersen, Larsen, Conradsen, Dahl. Automatic segmentation of abdominal fat in MRI-Scans, using graph-cuts and image derived energies. Image Analysis, Lecture Notes in Computer Science, 2017.
- Dahl, Dahl, Trinderup, Gundlach. Layered surface detection for virtual unrolling. International Conference on Pattern Recognition, 2018.
- Bodner, Bentzen, Dahl, Alfaro, Steenberg, Hjuler, Simonsen. Structural characterization of membrane-electrode-assemblies in high temperature polymer electrolyte membrane fuel cells. Journal of the Electrochemical Society, 2019.
- Borg, Sporring, Dam, Dahl, Dyrby, Feidenhans’l, Dahl, Pingel. Muscle fibre morphology and microarchitecture in cerebral palsy patients obtained by 3D synchrotron X-ray computed tomography. Computers in Biology and Medicine, 2019.
- Dahlin, Rix, Dahl, Dahl, Jensen, Cloetens, Pacureanu, Mohseni, Thomsen, Bech. Three-dimensional architecture of human diabetic peripheral nerves revealed by X-ray phase contrast holographic nanotomography. Scientific Reports, 2020.
- Jeppesen, Christensen, Dahl, Dahl. Sparse layered graphs for multi-object segmentation. Conference on Computer Vision and Pattern Recognition, 2020.
- Jensen, Dahl, Dahl. Multi-object graph-based segmentation with non-overlapping surfaces. Computer Vision for Microscopy Image Analysis, 2020.
- Linndberg, Dahl, Karlesand, Rueløkke, Malmquist, Hamann. Determination of peripapillary vessel density in optic disc drusen using EDI-OCT and OCT angiography. Experimental Eye Research, 2020.
- Andersson, Kjer, Rafael-Pation, Pacureanu, Pakkenberg, Thiran, Ptito, Bech, Dahl, Dahl, Dyrby. Axon morphology is modulated by the local environment and impacts the noninvasive investigation of its structure-function relationship. Proceedings of the National Academy of Sciences of the United States of America, 2020.
- Engberg, Amini, Willerslev, Larsen, Sander, Kessel, Dahl, Dahl. Automated quantification of macular vasculature changes from OCTA images of hematologic patients. International Symposium on Biomedical Imaging, 2020.
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 developers' original paper: Sparse layered graphs for multi-object segmentation..