首页 [ITK+VTK]

[ITK+VTK]

举报
开通vip

[ITK+VTK]ITK/ITK+VTK 安装/测试入门 ---MXSF 2007-10-15整理 VTK/ITK介绍[略…] 一 下载安装文件 ①VTK VTK开发包的下载可以到Kitware公司的主页上查找到并下载,地址为 http://www.vtk.org/get-software.php 需要下载到的文件有: vtk-5.0.2.zip vtk的源码 vtkdata-5.0.2.zip vtk例子所需要的数据 vtkDocHtml-5.0.2.tar.gz vtk类库帮助文档 ...

[ITK+VTK]
ITK/ITK+VTK 安装/测试入门 ---MXSF 2007-10-15整理 VTK/ITK介绍[略…] 一 下载安装文件 ①VTK VTK开发包的下载可以到Kitware公司的主页上查找到并下载,地址为 http://www.vtk.org/get-software.php 需要下载到的文件有: vtk-5.0.2.zip vtk的源码 vtkdata-5.0.2.zip vtk例子所需要的数据 vtkDocHtml-5.0.2.tar.gz vtk类库帮助文档 vtk-5.0.2-win32.exe windows安装文件,可直接用于执行VTK DocHtml帮助中下载的xx.tcl文件 目前最新版本为5.0.3 ②CMake Cmake安装文件可以到Kitware公司的主页上查找到并下载,地址为 http://www.cmake.org/HTML/Index.html 目前最新版本为2.4.7 ③ITK ITK开发包的下载可以到Kitware公司的主页上查找到并下载,地址为 http://www.itk.org/HTML/Download.htm 需要下载到的文件有: ITK Software Guide 2.4.0 PDF InsightToolkit-3.4.0.zip ITK的安装文件 InsightApplications-3.4.0.zip 用于链接ITK与VTK DoxygenInsightToolkit-3.4.0.zip ITK类库帮助手册 CableSwig-ITK-3.4.0.zip 目前最新版本3.4.0 本人选用的编译器是vc6.0 二 软件安装 关键在于Cmake的配置!ITK的编译过程比VTK时间还要长,产生的文件要大很多,以本人及其配置为例:Dell D620/1.68GHz/1G内存/256独显 编译Itk花了近3小时,产生5G左右的文件 ①首先在E盘根目录下新建如下两文件夹 两文件夹展开如下: VTK5.0.2 放置由vtk-5.0.2.zip解压得到的文件 VTK_bin 放置编译后的文件 VTK_Install 放置安装文件,例如Include/bin/lib文件,供开发使用 VTKData5.0.2 放置由vtkdata-5.0.2.zip解压得到的文件 InsightApplications 放置InsightApplications-3.4.0.zip解压得到的文件 InsightToolkit 放置InsightToolkit-3.4.0.zip解压得到的文件 ITK_bin 放置编译后的InsightToolkit 文件 ITK_Install 放置安装文件,例如Include/bin/lib文件,供开发使用 ITKApplication_bin 放置编译后的InsightApplications文件 ②安装Cmake文件,安装地点可由用户自定。 ③安装VTK,Cmake配置如下: 为后面顺利进行与ITK的编程,勾选Show Advanced Values选项,详细设置如下: 部分选项说明如下: 1. vtk_data_root:目的是告诉cmake,vtk 需要的数据都在哪里,一般地,cmake 可以自己找到vtkdata 的路径,但如果没有,把E:\vtk5\vtkData5.0.2 2. cmake_install_prefix: 这个比较重要,就是以后要安装vtk 的路径。安装的好处就是可以从 1G 多的文件中提取出.h .lib .dll 等精华,安装在指定目录下,并修改系统环境变量。这里我是: C:/Program Files/VTK 3. build_examples: 就是询问是否编译vtk 中的例子,如选则on,就要花时间把vtk的例子编译一遍。 4. build_testing: test code 就是vtk 开发者用来测试 vtk 代码的一些测试代码,我们常常把它们当成学习vtk 的例子,与build_examples 类似,是否编译他们,看个人喜好。 5. build_shared_libs: 如果设置为off,就只会生成lib 文件,用于开发肯定是够了。如果设置为on,将会多生成dll 文件。不过建议设置为on。 6. vtk_use_parallel: 如果想用vtk 做并行计算,要把这个选上,否则保持默认off。 7. 提示:在cmake 中,有些选项是依赖于另一些选项的,比如vtk_use_guisupport 和 vtk_use_mfc,当我们禁用vtk_use_guisupport,vtk_use_mfc 是看不到的。 修改完cmake 选项以后,不停的按configure 按钮,直到没有选项显示为红色,而且 此时,ok 按钮可用,点击ok 按钮,就可以生成vc 的 工程 路基工程安全技术交底工程项目施工成本控制工程量增项单年度零星工程技术标正投影法基本原理 文件了。 VC中的link设置: [opengl32.lib kernel32.lib user32.lib gdi32.lib winspool.lib comdlg32.lib advapi32.lib shell32.lib ole32.lib oleaut32.lib uuid.lib odbc32.lib odbccp32.lib vtkCommon.lib vtkDICOMParser.lib vtkexoIIc.lib vtkexpat.lib vtkFiltering.lib vtkfreetype.lib vtkftgl.lib vtkGenericFiltering.lib vtkGraphics.lib vtkHybrid.lib vtkImaging.lib vtkIO.lib vtkjpeg.lib vtkMPEG2Encode.lib vtkNetCDF.lib vtkpng.lib vtkRendering.lib vtksys.lib vtktiff.lib vtkVolumeRendering.lib vtkWidgets.lib vtkzlib.lib] ④安装ITK,Cmake配置如下: 以下是编译InsightApplications时的Cmake设置 其参数具体设置如下: 其中vtk-dir参数用于设置itk与vtk之间的链接. ⑤在各个XXX-bin文件夹中,再次利用VC编译VTK.dsw /ITK.dsw/ InsightApplications.dsw文件即可 三 ITK/ITK+VTK程序测试 ①ITK 程序测试 Hello World 程序 在D:\VTK_research\Programm_VTK\ITK_HelloWorld目录下编写如下两文件: HelloWorld.cxx 代码如下: #include "itkImage.h" #include int main() { typedef itk::Image< unsigned short, 3 > ImageType; ImageType::Pointer image = ImageType::New(); std::cout << "ITK Hello World !" << std::endl; return 0; } CMakeLists.txt 代码如下: PROJECT(HelloWorld) # Find ITK. FIND_PACKAGE(ITK REQUIRED) IF(ITK_FOUND) INCLUDE(${ITK_USE_FILE}) ENDIF(ITK_FOUND) ADD_EXECUTABLE(HelloWorld HelloWorld.cxx ) TARGET_LINK_LIBRARIES(HelloWorld ITKCommon) 可在E:\ITK3\InsightToolkit\Examples\Installation目录下找到上述两文件,直接Copy过来即可 利用Cmake编译后生成ITK_HelloWorld-bin文件,Cmake设置如下: 利用VC编辑HelloWorld.dsw,执行HelloWorld.exe,即出现如下画面: ②ITK+VTK 程序测试 VTK_ITK_Sample程序 利用VC6新建一单文档界面工程 VTK_ITK_Sample ,然后留下如下文件及文件夹,其余全部删除: MainFrm.h MainFrm.cpp VTK_ITK_Sample.h VTK_ITK_Sample.cpp VTK_ITK_SampleDoc.h VTK_ITK_SampleDoc.cpp VTK_ITK_SampleView.h VTK_ITK_SampleView.cpp stdafx.h stdafx.cpp resource.h VTK_ITK_Sample.rc 注:保留res文件夹和Debug文件夹。 CmakeLists.txt编写如下: PROJECT(VTK_ITK_Sample) ADD_DEFINITIONS(-D_AFXDLL) SET(CMAKE_MFC_FLAG 6) # # Define the list of source files # SET(APPLICATION_SOURCES MainFrm.h MainFrm.cpp VTK_ITK_Sample.h VTK_ITK_Sample.cpp VTK_ITK_SampleDoc.h VTK_ITK_SampleDoc.cpp VTK_ITK_SampleView.h VTK_ITK_SampleView.cpp stdafx.h stdafx.cpp resource.h VTK_ITK_Sample.rc ) IF(WIN32) LINK_LIBRARIES( wsock32 ) ENDIF(WIN32) # Find ITK FIND_PACKAGE(ITK) IF(ITK_FOUND) INCLUDE(${ITK_USE_FILE}) ELSE(ITK_FOUND) MESSAGE(FATAL_ERROR "Cannot build without ITK. Please set ITK_DIR.") ENDIF(ITK_FOUND) # Find VTK FIND_PACKAGE(VTK) IF(VTK_FOUND) INCLUDE(${VTK_USE_FILE}) ELSE(VTK_FOUND) MESSAGE(FATAL_ERROR "Cannot build without VTK. Please set VTK_DIR.") ENDIF(VTK_FOUND) ADD_EXECUTABLE (VTK_ITK_Sample WIN32 ${APPLICATION_SOURCES}) TARGET_LINK_LIBRARIES (VTK_ITK_Sample ITKCommon ITKIO ITKNumerics ITKAlgorithms ITKBasicFilters) 新建VTK_ITK_Sample-bin(用于放置经Cmake编译后的文件)和VTK_ITK_Sample-Install(目前用处不大,空文件夹)文件夹,如下图: 利用Cmake编译后生成VTK_ITK_Sample-bin文件,Cmake设置如下: 利用VC打开VTK_ITK_Sample.dsw,在其中编写如下代码: #include "itkImage.h" #include "itkImageFileReader.h" #include "itkImageToVTKImageFilter.h" #include "vtkImageViewer.h" #include "vtkRenderWindowInteractor.h" void CVTK_ITK_SampleView::OnSimplesample() { // TODO: Add your command handler code here 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(); reader->SetFileName("D:\\VTK_research\\Programm_VTK\\test.dcm"); 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(); } 并在Project-〉Setting-〉link中Object/library modules再添加VTK的.lib文件名即可,如下: vtkCommon.lib vtkDICOMParser.lib vtkexoIIc.lib vtkexpat.lib vtkFiltering.lib vtkfreetype.lib vtkftgl.lib vtkGenericFiltering.lib vtkGraphics.lib vtkHybrid.lib vtkImaging.lib vtkIO.lib vtkjpeg.lib vtkMPEG2Encode.lib vtkNetCDF.lib vtkpng.lib vtkRendering.lib vtksys.lib vtktiff.lib vtkVolumeRendering.lib vtkWidgets.lib vtkzlib.lib 编译后会发现找不到itkImageToVTKImageFilter.h文件,在E:\ITK3\InsightApplications\Auxiliary\vtk中把 两文件Copy到VTK_ITK_Sample文件夹中,在CMakeLists.txt中把它们加进去,重新用Cmake编译下,最后,重新编译VTK_ITK_Sample.dsw,执行VTK_ITK_Sample.exe,如图所示: OVER… Good Luck!!
本文档为【[ITK+VTK]】,请使用软件OFFICE或WPS软件打开。作品中的文字与图均可以修改和编辑, 图片更改请在作品中右键图片并更换,文字修改请直接点击文字进行修改,也可以新增和删除文档中的内容。
该文档来自用户分享,如有侵权行为请发邮件ishare@vip.sina.com联系网站客服,我们会及时删除。
[版权声明] 本站所有资料为用户分享产生,若发现您的权利被侵害,请联系客服邮件isharekefu@iask.cn,我们尽快处理。
本作品所展示的图片、画像、字体、音乐的版权可能需版权方额外授权,请谨慎使用。
网站提供的党政主题相关内容(国旗、国徽、党徽..)目的在于配合国家政策宣传,仅限个人学习分享使用,禁止用于任何广告和商用目的。
下载需要: 免费 已有0 人下载
最新资料
资料动态
专题动态
is_062812
暂无简介~
格式:doc
大小:355KB
软件:Word
页数:9
分类:互联网
上传时间:2013-03-11
浏览量:33