Centerline Detection on Partial Mesh Scans by Confidence Vote in Accumulation Map Bertrand Kerautret, Adrien Krähenbühl, Isabelle Debled-Rennesson and Jacques-Olivier Lachaud Presented at ICPR 2016.
- CMake >= 2.6
- PCL for the compAccFromSDP tool
- DGtal (eventually with QGLViewer to have 3D display tools: illustrationGraphAllSteps and testGeodesicGraphDisplay)
- DGtalTools (optional) : provide 3dImageViewer and 3dSDPViewer tools
- DGtalTools-contrib (optional) : provide graphViewer tool
Install dependencies CMake, Boost (for DGtal) and PCL on Linux :
sudo apt-get install cmake libboost-dev libpcl-dev
Option -DUSE_PCL=true is only required for the compAccFromSDP tool.
- mkdir build && cd build
- cmake .. -DUSE_PCL=true
- make
These two maps can be computed from a mesh with compAccFromMesh:
./bin/compAccFromMesh -i ../Samples/playmobiltree.off --autoScaleAcc rescaledAcc.vol --autoScaleConf rescaledConf.vol -r 9
This command uses the playmobiltree.off file as input mesh and gives the two maps accumulation.longvol and confidence.longvol as output files using a accumulation radius of 9 (-r option). In addition this command gives in output the two files rescaledAcc.vol and rescaledConf.vol corresponding to the two maps rescaled in [0,255].
Then you can display the maps using the DGtal tool 3dImageViewer:
3dImageViewer -i rescaledAcc.vol --thresholdImage -m 20
3dImageViewer -i rescaledConf.vol --thresholdImage -m 150
The tool centerLineGeodesicGraph computes the centerline of a tubular mesh.
./bin/centerLineGeodesicGraph -i ../Samples/playmobiltree.off -o playmobilTree --dilateDist 2 -g 3 -R 10 -t 0.5
This command uses the playmobiltree.off file as input mesh and gives the vertices and edges of the resulting centerline graph in two files : playmobilTreeVertex.sdp and playmobilTreeEdges.sdp.
The computed graph can be visualized using the graphViewer from the DGtalTools-contrib library:
graphViewer -m ../Samples/playmobiltree.off -v playmobilTreeVertex.sdp -e playmobilTreeEdges.sdp --meshColor 200 200 200 125 --edgeColor 200 50 50 255 -b 0.5
You should obtain: