初识 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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • centos7关闭防火墙的命令(linux系统防火墙关闭)

    一、CentOS6关闭防火墙的命令//临时关闭防火墙serviceiptablesstop//禁止开机启动防火墙chkconfigiptablesoff 二、CentOS7关闭防火墙的命令  CentOS7与 CentOS6在关闭防火墙的命令上,有了很大的区别。具体如下:1. CentOS7使用systemctl来运行命令,而Ce…

    2022年4月11日
    213
  • Java—java.util.calendar类详解「建议收藏」

    Java—java.util.calendar类详解「建议收藏」目录一、概述二、静态常量三、静态方法四、实例五、GregorianCalendar类一、概述java.util.Calendar类是一个抽象类,是java日期处理的核心类之一。Calendar类为操作日历字段,及其与特定瞬间之间的转换提供了方法。日历字段包含YEAR、MONTH、DAY_OF_MONTH、HOUR等,它们都是Calendar类的静态常量。二、静态常量…

    2022年9月23日
    1
  • lombok idea插件_idea怎么导入插件

    lombok idea插件_idea怎么导入插件白天试试下eclipse,确实可以节省不少冗余代码,Lombok底层通过asm原理实现的,具体源码还没研究。1、准备工作2、安装插件3、maven集成org.projectlomboklombok-maven-plugin1.16

    2022年9月7日
    1
  • 剑指 Offer 06. 从尾到头打印链表(链表)

    剑指 Offer 06. 从尾到头打印链表(链表)输入一个链表的头节点,从尾到头反过来返回每个节点的值(用数组返回)。示例 1:输入:head = [1,3,2]输出:[2,3,1]限制:0 <= 链表长度 <= 10000题解链表/** * Definition for singly-linked list. * struct ListNode { * int val; * ListNode *next; * ListNode(int x) : val(x), next(NULL) {} *

    2022年8月8日
    7
  • phpstorm 激活_在线激活

    (phpstorm 激活)本文适用于JetBrains家族所有ide,包括IntelliJidea,phpstorm,webstorm,pycharm,datagrip等。IntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,下面是详细链接哦~https://javaforall.net/100143.html…

    2022年3月28日
    104
  • c#程序设计教材答案唐大仕_c语言程序设计pdf百度云

    c#程序设计教材答案唐大仕_c语言程序设计pdf百度云目录第1章C#程序设计简介1-11.1C#语言及其环境1-11.1.1C#的产生与发展1-11.1.2C#的环境——Microsoft.NET1-21.1.3C#的特点1-51.1.4C#和C、C的比较1-61.1.5C#与Java的比较1-71.2简单的C#程序1-81.2.1HelloWorld1-81.2.2C#程序设计快速入门1-121.2.3对象的三个…

    2022年9月28日
    0

发表回复

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

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