www.CadCaeCam.com/Forum/index.htm
CadCaeCamPlm专业门户网站收集整理版权属于原作者联系HuangSteve@163.com
ITK与VTK混合编程
袁杲
www.CadCaeCam.com/Forum/index.htm
CadCaeCamPlm专业门户网站收集整理版权属于原作者联系HuangSteve@163.com
www.CadCaeCam.com/Forum/index.htm
ITK简介
ITK在医学图像分割和配准方面具有非常强
大的功能,在进行分割与配准研究及开发医
学图像处理与分析系统时,我们常常需要应
用这一重要的工具。但ITK不具备可视化方面
的功能,因此,在应用ITK进行图像处理后,
一般会再利用VTK或者FLTK进行可视化,观察
结果及进行交互显示.
www.CadCaeCam.com/Forum/index.htm
CadCaeCamPlm专业门户网站收集整理版权属于原作者联系HuangSteve@163.com
www.CadCaeCam.com/Forum/index.htm
www.CadCaeCam.com/Forum/index.htm
CadCaeCamPlm专业门户网站收集整理版权属于原作者联系HuangSteve@163.com
www.CadCaeCam.com/Forum/index.htm
医学图像处理及可视化系统的结构
www.CadCaeCam.com/Forum/index.htm
CadCaeCamPlm专业门户网站收集整理版权属于原作者联系HuangSteve@163.com
www.CadCaeCam.com/Forum/index.htm
CMAKE
vtk源码都是用c++编写的,是一个大的工程,无论
在什么平台,用什么编译器,你都要告诉编译器该
如何去编译这么一个庞然大物。
工程文件是工程的一般组织形式,比如vc6.0下面是
dsw文件,gcc下可以把makefile看成这么一个东
西。这些工程体系告诉编译器该干什么,需要什么
样的参数等
cmake就是这样一个用来生成适合不同编译器所需
要的工程文件的工具。 cmake为什么知道那些编译
参数呢,这不得不提CMakeList.txt这个文件,正是
这个文件,提供了这些信息,换句话说,如果没有
CMakeList.txt,我们就不能使用cmake。
www.CadCaeCam.com/Forum/index.htm
CadCaeCamPlm专业门户网站收集整理版权属于原作者联系HuangSteve@163.com
www.CadCaeCam.com/Forum/index.htm
CMAKE 使用
这里我们以VTK为例说明
安装CMake,选择VC6.0进行编译
配置:
build_examples: 就是询问是否编译vtk中的例子,如选则
on,就要花时间把vtk的例子编译一遍,我一般不选
build_testing: test code 就是vtk开发者用来测试 vtk代码的
一些测试代码,我们常常把它们当成学习vtk的例子,与
build_examples类似,是否编译他们,看个人喜好。
build_shared_libs: 如果设置为off,就只会生成lib文件,用
于开发肯定是够了。如果设置为on,将会多生成dll文件。
www.CadCaeCam.com/Forum/index.htm
CadCaeCamPlm专业门户网站收集整理版权属于原作者联系HuangSteve@163.com
www.CadCaeCam.com/Forum/index.htm
cmake_install_prefix: 这个比较重要,就是以后
要安装vtk的路径。有些人又要问,我编译完了
不就可以用vtk了吗,为什么还要安装?对,不
安装其实可以,安装的好处就是可以从 1G多的
文件中提取出.h .lib .dll等精华,安装在指定目录
下,并修改系统环境变量
vtk_data_root: 一般地,cmake可以自己找到
vtkdata的路径,但如果没有,把c:\vtk\vtkdata\
填上即可,告诉cmake,vtk需要的数据都在哪
里
www.CadCaeCam.com/Forum/index.htm
CadCaeCamPlm专业门户网站收集整理版权属于原作者联系HuangSteve@163.com
www.CadCaeCam.com/Forum/index.htm
vtk_use_parallel: 对于想用vtk做并行计算的朋友,要
把这个选上,对于只想学学vtk的,保持默认off
vtk_use_guisupport: 很多人把vtk安装好了,却无法运
行vtk中与mfc混合编程的例子,提示错误都是缺少
vtkmfc.lib,问题就出在这个选项,我们必须把它设置
为 on,再次configure之后,会出现一个新的选项
vtk_use_mfc,把它也设置为on就行了。
5、安装
用vc6.0打开bin目录下的install.dsp文件,不用理会提
示的错误,直接build。编译结果就会安装在
cmake_install_prefix设定的目录下。
www.CadCaeCam.com/Forum/index.htm
CadCaeCamPlm专业门户网站收集整理版权属于原作者联系HuangSteve@163.com
www.CadCaeCam.com/Forum/index.htm
VTK与ITK集成的方法
www.CadCaeCam.com/Forum/index.htm
CadCaeCamPlm专业门户网站收集整理版权属于原作者联系HuangSteve@163.com
www.CadCaeCam.com/Forum/index.htm
CMakelisets的编写
CMakelists txt的主要内容包括:
①定义项日名称
②设置MFC标记,导入W in32库
③加入.cpp及二进制文件
④搜索ITK包,添加头文件路径
⑤搜索VTK包,添加头文件路径
⑥定义可执行文件命名
⑦加入VTK及ITK包的相关库
www.CadCaeCam.com/Forum/index.htm
CadCaeCamPlm专业门户网站收集整理版权属于原作者联系HuangSteve@163.com
www.CadCaeCam.com/Forum/index.htm
#include "itkImage.h"
#include "itkImageFileReader.h"
#include "itkImageToVTKImageFilter.h"
#include "vtkImageViewer.h"
#include "vtkRenderWindowInteractor.h"
int main( int argc, char **argv ) {
typedef itk::Image< unsigned short, 2 >
ImageType;
typedef itk::ImageFileReader
ReaderType;
typedef itk::ImageToVTKImageFilter< ImageType>
FilterType;
ReaderType::Pointer reader = ReaderType::New();
FilterType::Pointer connector = FilterType::New();
www.CadCaeCam.com/Forum/index.htm
CadCaeCamPlm专业门户网站收集整理版权属于原作者联系HuangSteve@163.com
www.CadCaeCam.com/Forum/index.htmreader->SetFileName( argv[1] );
connector->SetInput( reader->GetOutput() );
vtkImageViewer * viewer = vtkImageViewer::New();
vtkRenderWindowInteractor * renderWindowInteractor =
vtkRenderWindowInteractor::New();
viewer->SetupInteractor( renderWindowInteractor );
viewer->SetInput( connector->GetOutput() );
viewer->Render();
viewer->SetColorWindow( 255 );
viewer->SetColorLevel( 128 );
renderWindowInteractor->Start();
return 0;
}
www.CadCaeCam.com/Forum/index.htm
CadCaeCamPlm专业门户网站收集整理版权属于原作者联系HuangSteve@163.com
www.CadCaeCam.com/Forum/index.htm
www.CadCaeCam.com/Forum/index.htm
CadCaeCamPlm专业门户网站收集整理版权属于原作者联系HuangSteve@163.com
www.CadCaeCam.com/Forum/index.htm
Canny算子进行边缘检测结果
www.CadCaeCam.com/Forum/index.htm
CadCaeCamPlm专业门户网站收集整理版权属于原作者联系HuangSteve@163.com
www.CadCaeCam.com/Forum/index.htm
www.CadCaeCam.com/Forum/index.htm
CadCaeCamPlm专业门户网站收集整理版权属于原作者联系HuangSteve@163.com
www.CadCaeCam.com/Forum/index.htm
ITK MFC集合的其他方法
FLTK与ITK集合可视化
直接用VC7.0.net以上版本的ATL进行可视化
www.itk.org
www.vtk.org
本文档为【ITK与VTK混合编程】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑,
图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。