ITK VTK CTK QT 跨平台联合开发之 一

时间:2021-12-25 10:04:54

1 引言


      ITK、VTK,相关童鞋应该很熟悉的,而CTK是一个较新的界面库,主要用于方便前面两个*TK的界面设计,当然也可以作为通用的UI库。QT就不说了,除了跟前面的结合,还为了跨平台。因为需要用ITK/VTK研究下医学图像,所以曾经花点时间琢磨过一个方案将这几个库结合起来了。一直都是从网上学习,而没怎么回馈过。现在也来CSDN上玩一下,给自己备忘,也给某些童鞋提供个参考。这里先写Mac,后面再上Window。因为用CMake,其实各个平台上非常类似。


      先show下Mac OS X下的效果,编译过程后面慢慢补上:

ITK VTK CTK QT 跨平台联合开发之 一

ITK VTK CTK QT 跨平台联合开发之 一

ITK VTK CTK QT 跨平台联合开发之 一

ITK VTK CTK QT 跨平台联合开发之 一


2 平台、环境、工具

[plain]  view plain  copy
  1.       
  2.   
  3. Mac OS X 10.7.5;  
  4. XCode 4.6.3;  
  5. qt 4.7; (暂时不要用qt 5)  
  6. git: git-scm.com/downloads;  
  7. cmake 2.8.11.2: www.cmake.org.  

       


       这里涉及的这些库各施其职,ITK用于配准、分割、分析医学图像等,VTK用于重建、显示体数据等,这里需要一个VTK绘制widget,编译VTK时打开支持QT,CTK专门针对VTK、DICOM等作了封装,提供了专门的UI部件,相对底层的QT更方便了我们UI设计。


3 编译CTK(顺带VTK)

      

      CTK 即The Common Toolkit, 官方网站:www.commontk.org。官方解释:The goal of CTK is to support biomedical image computing. CTK code is licensed under Apache 2.0. This means that users of CTK are allowed to use the code for academic, commercial, or other purposes without paying license fees or being restricted in their ability to redistribute their code or keep it private.

      因为CTK源代码采用Apache 2.0许可证,因此可以放心使用。但是这个库还很嫩,估计没几个人玩,也没有用户手册,因此只能靠自己摸索一下。下面的选项可以自己选择多试试,本人也没参考任何资料,慢慢摸索吧。

      好,我们开始一步步编译CTK。

    (1)下载源代码

[cpp]  view plain  copy
  1. git clone git://github.com/commontk/CTK.git   

    (2)CMake配置

       这里我们选择尽可能少的选项以编译一个体积较小的CTK,不过要注意的是CTK自带(superbuild自动下载)的VTK版本不是最新的,5.x版本,如果要用自己编译好的6.x版本,则会出错,需要修改若干行代码,虽然不难,但是这里从简,使用默认的5.x。CMake配置可以用ccmake命令行配置,但是这里为了更好的可视化,还是用cmake-gui来得方便。CMake-gui中Grouped和Advanced打上钩,然后确保选中下图中的选项。

ITK VTK CTK QT 跨平台联合开发之 一


      选中下面两项,第一项用于产生QT的Designer的插件。

ITK VTK CTK QT 跨平台联合开发之 一


      点击Configure,然后再选中下图中的选项,再点Configure

ITK VTK CTK QT 跨平台联合开发之 一


      然后就点Generate。

ITK VTK CTK QT 跨平台联合开发之 一


      之后就顺利产生CTK.xcodeproj,当然最前面要选择XCode。

ITK VTK CTK QT 跨平台联合开发之 一


      打开CTK.xcodeproj,开始Build,当然这个得看你电脑配置了。老夫的mac book其实不是玩coding的,所以得泡上一杯茶。老夫最爱狮峰龙井,那香味韵味不是一般绿茶能比。好,来上一杯,

ITK VTK CTK QT 跨平台联合开发之 一

ITK VTK CTK QT 跨平台联合开发之 一


      待茶过三泡,味也淡了,XCode也应该出来结果了。

ITK VTK CTK QT 跨平台联合开发之 一


      把相应的Plugin放到QT的Designer下面相应的目录。

ITK VTK CTK QT 跨平台联合开发之 一


      打开Designer,就应该多出一些部件啦。

ITK VTK CTK QT 跨平台联合开发之 一