MITK (Medical Imaging Interaction Toolkit)是一个开源软件平台,可用来做交互式的医学图像处理软件。该软件结合了ITK(nsight Toolkit)和VTK(Visualization Toolkit)的特性。ITK提供了强大的图像处理(分割、配准等)功能,而VTK主要实现对数据的可视化。VTK虽然提供可视化,但是对用户交互的支持比较弱,因此MITK在ITK和VTK的基础上开发了更多用户交互的特性。
MITK的主要特性有:
MTIK的官网(http://mitk.org/wiki/MITK)上提供了一些关于如何编译和建立基于MITK的项目的教程,但是不是很详细。结合笔者的亲身实践,这里再归纳一下我的操作步骤。
1,配置信息:
Win7 64 bit
VS 2013
QT版本5.5.1
Cmake版本3.3.2
(注: 目前VS2015是visual studio 的最新版,但是QT还不支持VS2015, 所以用VS2013是最合适的)
2,安装Cmake。直接到官网 (https://cmake.org/)下载最新版本安装即可。
3,安装QT。 到官网(http://www.qt.io/download-open-source/#section-2)下载 Qt 5.5.1 for Windows 64-bit (VS 2013, 823 MB) 并安装。我的安装路径是D:\Qt5.5.1_64。
4,用git下载最新MITK代码git clone http://git.mitk.org/MITK.git。下载后在电脑上的路径为: D:\IVTK\MITK。
5,打开Cmake,源码文件夹设为 D:/IVTK/MITK,编译文件夹设为 D:/IVTK/MITKbuild。点击Configure,选择编译器为VS2013 Win 64, 待Configure完成后,Cmake可能会报错QT没有找到,这时需要手动设置QT路径,将Qt5_DIR设置为QT的安装路径,我的是 D:/Qt5.5.1_64/5.5/msvc2013_64/lib/cmake/Qt5。配置的条目都可以保持为默认,有个CMAKE_INSALL_PREFIX,指的是MITK成功后的安装路径,我设置的是D:/IVTK/MITK-superbuild。 勾选MITK_BUILD_ALL_PLUGINS可以编译所有MITK自带插件,但比较耗时。再次Configure直到没有红色的条目出现,点击Generate,生产项目文件。
6, 用VS2013打开位于D:/IVTK/MITKbuild下的MITK-superbuild.sln解决方案,进行编译。这个过程比较久,可能持续一个多小时以上。MITK需要使用ITK、VTK、DCMTK等开源包,因为MITK使用了超级编译,这些包在编译过程中自动下载,因此编译时间也受下载速度影响。
编译结束后查看一下警告和错误,因为MITK项目中设置了“把警告视为错误”,如果有一些警告也需要当心。例如我遇到一个“warningC4819: 该文件包含不能在当前代码页(936)中表示的字符。请将该文件保存为 Unicode 格式以防止”。解决方法很简单,将与该警告相关的.cpp文件用写字板打开,重新保存为Unicode格式再次编译即可。
再看一下错误,错误可能会在install项目中出现,“ CppCommon.targets(132,5): error MSB3073: if %errorlevel% neq 0 goto:VCEnd ...... (此处省去若干字)..... MSB3073: :VCEnd 已退出,代码为 1"。这个错误不必担心,其实MITK已经成功编译通过了,只是在最后将编译好的.exe和.dll文件复制到CMAKE_INSALL_PREFIX文件夹下出现了问题,我们可以忽略这个错误直接手动复制相关的文件即可。
1, 创建新项目。
基于MITK创建自己的项目,可有两种方法,一是使用插件生成器(MITK Plugin Generator),这是一个命令行工具用于生成用户定制的MITK项目。这个插件生成器在编译好MITK之后就有了。第二种方法是使用MITK项目模板作为例子项目,下载地址为 git clone https://github.com/MITK/MITK-ProjectTemplate。参考教程 http://mitk.org/wiki/Developer_Tutorial_(Microsoft_Windows)#The_MITK_Project_Template。
使用插件生成器创建新项目的方法为: 命令行切换到MitkPluginGenerator.exe所在的目录,我的是D:\IVTK\mitkbuild\MITK-build\bin\Debug。运行如下命令创建新的MITK项目,名称为”MyProject“。
./MitkPluginGenerator -plugin-symbolic-name org.mycompany.myplugin -view-name "My View" -project-name "MyProject" -project-app-name "MyApp" -o E:\Documents\Projects\MITK_learn其中的-o参数是生成的项目的位置。
2, 新的项目可以通过Cmake进行配置,当编译这个项目的时候,将会自动下载所需要的依赖包,包括MITK自身。由于我们已经有了MITK,用Cmake配置项目文件的时候,勾选高级选项,找到EXTERNAL_MITK_DIR(或者MITK_DIR)将其设为MITK项目所在的位置,例如D:/IVTK/MITKbuild/MITK-build,这样就不会在编译过程中再次下载MITK了。
3, 在VS2013中打开MyProject-superbuild.sln,编译。这个过程很快,几十秒钟就好了。
4,接下来就可以运行生成的.exe文件了。如果提示缺少一些.dll,则根据提示将相应的.dll所在的文件夹添加到环境变量path中。
D:\Qt5.5.1_64\5.5\msvc2013_64\bin;
D:\IVTK\mitkbuild\MITK-build\bin\Debug;
D:\IVTK\mitkbuild\ep\src\CTK-build\CTK-build\bin\Debug;
D:\IVTK\MITK-superbuild\bin
再次运行,就可以打开应用程序界面了,载入一幅图像,可以看到效果如下:
5, 如果不想生成像上面这样的MITK项目,而只是使想用MITK的一些功能显示或处理图像,例如想编译Examples/QtAppExample文件夹下step1.cpp这个文件中的例子。只需要配置一下CMakeList.txt文件,然后用cmake生成项目即可。
CMakeList.txt的内容如下:
cmake_minimum_required(VERSION 3.2 FATAL_ERROR) project(QtAppExample) find_package(MITK REQUIRED) # Check that MITK has been build with Qt support if(NOT MITK_USE_QT) message(SEND_ERROR "MITK needs to be built with MITK_USE_QT set to ON") endif() # Create the executable - it needs the MitkQtWidgetsExt module mitk_create_executable(${PROJECT_NAME} DEPENDS MitkQtWidgets)
同时注意该目录下应该有个files.cmake文件,其中包含了要生成的项目所应包含的源代码文件,内容如下:
# List all source files set(CPP_FILES Step1.cpp)
这样,就可以编译基于MITK的项目了。
”