官网教程:http://www.vmtk.org/download/
ubuntu 配置 vmtk :https://www.jianshu.com/p/c3bd28972ca0
按照这下面的流程一步一安装:
1. 安装 python 依赖包(等会 VMTK 要用)
sudo apt-get install python-dev libqt4-dev
sudo mkdir /usr/lib/python2.7/config/
sudo cp /usr/lib/python2.7/config-x86_64-linux-gnu/libpython2.7.so /usr/lib/python2.7/config/libpython2.7.so
2. 开始着手安装 VMTK (基本是按照官网流程)
sudo apt-get install git
cd ~/Downloads
git clone https://github.com/vmtk/vmtk.git
sudo apt-get install libxt-dev libgl1-mesa-glx libgl1-mesa-dev libglapi-mesa libosmesa-dev build-essential
mkdir vmtk-build
cd vmtk-build
//如果有了安装包那只要在build文件夹下进行下面的,上面下载源码就不要了
cmake ../vmtk -DPYTHON_INCLUDE_DIR=/usr/include/python2.7 -DPYTHON_LIBRARY=/usr/lib/python2.7/config/libpython2.7.so
make -j8 #漫长的等待
在make -j8这一步出了很多问题
1:使用Git clone代码失败的解决方法
fatal: The remote end hung up unexpectedly
fatal: 过早的文件结束符(EOF)
fatal: index-pack failed
查了一下,发现上因为Git限制了推送数据的大小导致的错误。
git config --global http.postBuffer 524288000
2:libpython2.7.so 目录错误
找了一下发现实际在这个文件夹下:
于是改动路径
路径改为
下面就顺利了!!!
成功啦!!!
3. 测试
执行 Vessel 程序
cd ~/Downloads
git clone https://github.com/jackyko1991/Vessel-Centerline-Extraction.git
cd Vessel-Centerline-Extraction
vim CMakeList.txt
下面修改CMakeList.txt
需要修改三行:
路径是根据实际情况填写/xxxxx/vmtk-build下文件夹下对应三个路径
cmake .
make
./CenterlineExtraction test_data/left/lumen.stl
注意,最后想把封闭模型和中心线写入的话,改动
./CenterlineExtraction test_data/left/lumen.stl test_data/lumencap.stl test_data/lumencenline.vtp
那么两个文件就会保存在test_data的文件夹下
目前中心线那个vtp格式还有点问题
vmtk提取中心线算法:是由 Luca Antiga 在他的博士论文中提出,算法的输入是血管的表面数据和中线的起止点。
主要思路:是用Delaunay三角剖分算法算出血管Voronoi图,图上的点是血管最大内接球的球心,再由提供的起止点,在这些球心点中根据半径找到最短路径。查找最短路径的算法是Fast Marching算法。算法的最后输出可以得到中线上点的坐标和半径。