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


相关推荐

  • Nginx负载均衡算法有哪些?_netty负载均衡

    Nginx负载均衡算法有哪些?_netty负载均衡1.轮询(roundrobin)(默认)轮询方式,依次将请求分配到各个后台服务器中,默认的负载均衡方式。适用于后台机器性能一致的情况。挂掉的机器可以自动从服务列表中剔除。2.加权(weight)根据权重来分发请求到不同的机器中,指定轮询几率,weight和访问比率成正比,用于后端服务器性能不均的情况。例如:upstreambakend{serv…

    2022年10月12日
    2
  • c++输入输出流

    输入输出流类关系图iostream头文件中4种流对象1.cout流在内存中对应开辟了一个缓存区,用来存放流中的数据,当向cout流插入一个endl时,不论缓冲区是否已满,都立即输出流中的所有数据

    2021年12月19日
    60
  • ReportingServies——SQLServer报表开发综合实例

    ReportingServies——SQLServer报表开发综合实例上一篇:ReportingServies报表开发实例教程如果我们安装了sqlserver2008 R2,将会自动安装一个报表开发工具不要以为此报表开发工具只适合于sqlserver2008,其实在sqlserver2012中也是支持的,事实上我现在项目中就是使用的sqlserver2012。使用此工具进行报表开发,将会十分快速而且方便。这里我通过一个综合实例来演示它的使用技

    2022年10月21日
    2
  • JavaScript——二叉树层序遍历

    JavaScript——二叉树层序遍历题目描述给你一个二叉树,请你返回其按层序遍历得到的节点值。(即逐层地,从左到右访问所有节点)。示例二叉树:[3,9,20,null,null,15,7], 3/\920/\157返回其层序遍历结果:[[3],[9,20],[15,7]]递归实现代码varlevelOrder=function(root){if(root===null)return[]l

    2022年5月21日
    51
  • 常见的web前端性能优化方法总结「建议收藏」

    常见的web前端性能优化方法总结「建议收藏」首先,我们要了解一下,前端优化的目的是什么从用户角度,优化能够让页面加载得更快、对用户的操作响应更快,给用户提供更为友好的体验。从服务商角度,优化能够减少页面请求数、或者减小请求所占带宽,节省资源。大概有如下优化方法,我们看一下:一、页面内容优化减少http请求次数减少DNS查询次数避免页面跳转缓存ajax延迟加载(一般用在图片多的页面中,滚动时才加载)预加载减少D…

    2022年6月29日
    29
  • 2021年7月总结

    2021年7月总结

    2022年2月19日
    38

发表回复

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

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