第01课:入门篇——初识 CTK

CTK 是什么

CTK 为支持生物医学图像计算的公共开发包,其全称为 Common Toolkit。

CTK 标志

Logo 是一个品牌的形象,对外它传递的是一种精神和理念,所以绝大多数组织都有着与自己相符的标志。Apple 的标志是一个被咬了一口的苹果,Microsoft 的标志是一面窗户(至少最初是),而 CTK 的标志是:

image

第一印象,你是否和我一样,觉得它不够时尚,甚至很丑。

但若仔细看,你会发现这个设计很有意思,像一群人环绕着“CTK”三个字母,举着双臂对着它欢呼。简洁、巧妙,在图形上给予了 CTK 最鲜活的注解,疯狂打 Call 吧!

CTK 的诞生

在 2009 年 6 月,由 MBI 在海德堡(德国)的 DKFZ 主办了一场关于 CTK 的研讨会,会议的目的有两个:

  • 召集一些利用 BSD 风格许可、且从事 FOSS(Free Open Source Software)医学图像计算平台开发的团队;
  • 探讨有意义的协调和整合的方式。

会议的第一天是介绍软件(模块化的体系结构),第二天是头脑风暴和概念开发(许可 - BSD 风格、语言 - C++)。

在首次筹备会议之后,2009 年 9 月 25 日,代表医学成像和建模领域的研究在牛津(英国)举行了跟进会议,将 CTK 定位为“迅速成为全球生物医学可视化和计算领域最重要的软件资源”。这项倡议背后的基本思想是停止重新发明轮子,并驻力于那些构成每个生物医学软件包基础的方面,使研究人员能够专注于那些构成真正创新的特定功能。这次会议的目的也有两个:

  • 为 CTK 的未来建立了一些基本规则。例如,将其作为一个免费的开源软件(FOSS)在 BSD 许可下发布。
  • 建立一个 CTK 临时指导委员会(由参加牛津会议的组织代表组成),负责监督定义范围的初始阶段和工具包的总体架构。

此后,经过了大约一年的时间,CTK 推出了一个全面的、完整的开源项目,任何人都可以参与其中。

CTK 提供了什么

当前,CTK 工作的主要范围包括:

  • DICOM:提供了从 PACS 和本地数据库中查询和检索的高级类。包含 Qt 部件,可以轻松地设置服务器连接,并发送查询和查看结果。
  • DICOM Application Hosting:目标是创建 DICOM Part 19 Application Hosting specifications 的 C++ 参考实现。它提供了用于创建主机和托管应用程序的基础设。
  • Widgets:用于生物医学成像应用的 Qt Widgets 集合。
  • Plugin Framework:用于 C++ 的动态组件系统,以 OSGi 规范为模型。它支持一个开发模型,在这个模型中,应用程序(动态地)由许多不同(可重用的)组件组成,遵循面向服务的方法。
  • Command Line Interfaces:一种允许将算法编写为自包含可执行程序的技术,可以在多个终端用户应用程序环境中使用,而无需修改。

CTK 的目标

如果说老王的小目标是先挣它一个亿,那么 CTK 的目标要比他小很多:

  • 为医学成像提供一组统一的基本功能;
  • 促进代码和数据的交互及结合;
  • 避免重复开发;
  • 在工具包(医学成像)范围内不断扩展到新任务,而不会增加现有任务的负担;
  • 整合并适应成功的解决方案。

CTK 基于哪些技术

在 CTK 整个开发过程中,它使用了一些非常棒的技术。

  • BSD 许可

CTK 采用 BSD 形式的许可,对用户不做任何限制并允许商业使用。因此,所贡献和使用的库也都具有兼容的许可证。

  • C++

CTK 的主要语言是 C++。

CTK 的所有代码均托管于 Github。

Qt 被用作 CTK 中的 GUI 工具包,以及诸如跨平台数据库访问的非 GUI 任务。

CMake 被用作构建自动化工具以及 Package 系统。

另外,DICOM 支持并使用 DCMTK、可视化使用 VTK、分析算法使用 ITK

注意: CTK 的代码是在 Apache 2.0 下授权的。这意味着,可以使用 CTK 代码进行学术、商业或其他目的,而无需支付许可费。

微信扫描登录
关注提示×
扫码关注公众号,获得课程更新动态!