初识 CTK[通俗易懂]

初识 CTK[通俗易懂]CTK是什么CTK为支持生物医学图像计算的公共开发包,其全称为CommonToolkit。Github地址:https://github.co…

大家好,又见面了,我是你们的朋友全栈君。

初识 CTK[通俗易懂]

CTK 是什么

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

  • Github 地址:https://github.com/commontk

CTK 标志

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

初识 CTK[通俗易懂]

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

但若仔细看,你会发现这个设计很有意思,像一群人环绕着“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++。

  • GitHub

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

  • Qt

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

  • CMake

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

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

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

初识 CTK[通俗易懂]

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/134783.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • Git 设置仓库指定忽略的文件

    Git 设置仓库指定忽略的文件

    2022年4月3日
    47
  • 有哪些优化mysql索引的方式请举例(sqlserver索引优化)

    目录0存储引擎介绍1SQL性能分析2常见通用的JOIN查询SQL执行加载顺序七种JOIN写法3索引介绍3.1索引是什么3.2索引优劣势3.3索引分类和建索引命令语句3.4索引结构与检索原理3.5哪些情况适合建索引3.6哪些情况不适合建索引4性能分析4.1性能分析前提知识4.2Explain使用简介4.3执行计划包含的信息字段解释(重中之重)id(表的读取顺序)select_type(数据读取操作的操作类型)table(显示执行的表名)type(访问类型排列)possible_k

    2022年4月10日
    70
  • 使用zabbix监控redis内存使用

    使用zabbix监控redis内存使用本篇提到的监控环境是有条件的,即默认单机只运行一个redis实例,且默认运行的端口是6379(也可以是其他端口,需要通过sed-i’s/6379/你修改的端口/g’xml模板文件修改模板文件里的端口号)。即然有这么多局限,岂不是适应用环境很差。确实,本篇算是一个基础部分,为后面提到的lld(lowleveldiscovery)自动发现做铺垫。由于前面几部分也对基础的东西做了很多总结…

    2022年5月18日
    38
  • java递归如何退出_递归删除数组某个元素

    java递归如何退出_递归删除数组某个元素###Java递归删除文件publicstaticvoidmain(String[]args){Filefile=newFile(“D:\\dir”);recursiveDelete(file);}###recursiveDelete方法privatestaticvoidrecursiveDelete(Filefile){if(file.isDirectory())…

    2022年9月18日
    1
  • AnalyticDB for MySQL 3.0 技术架构解析

    AnalyticDB for MySQL 3.0 技术架构解析企业数据需求不断变化,近年来变化趋势日益明显,从数据的3V特性看:体积,速度和变化;BigData强调数据量,PB级以上,是静态数据。而FastData在数据量的基础上,意味着速度和和变化,意味着客户可以更加实时化、更加快速地进行数据处理。在Forrester最近的一项研究中,超过75%的…

    2022年9月17日
    3
  • 面试又给我问到MySQL索引【索引的实现原理】

    面试又给我问到MySQL索引【索引的实现原理】

    2022年2月15日
    49

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号