最近Qt群有人问到如何使用C++编写代码实现DICOM文件与其他格式的转换工作,于是乎就查阅了下Qt下面的事情,google到了QtDcm这个基于C++的Qt的开源库,于是下载了其源代码,发现源代码还算娇小,可是还是不能直接使用到Qt项目中,于是查阅了QtDcm的在线帮助文档,其中提到了2个关于医学图像处理的开源项目:ITK和DCMTK。
下面稍微简单介绍下:
一. ITK:
ITK(Insight Segmentation and Registration Toolkit) 是一个开源,跨平台的图像分析框架,里面有大量的前沿算法,广泛用于图像配准和分割。ITK使用C++开发,可由CMake生成不同环境下的可编译工程,并且ITK有对Tcl, Python和Java的封装层,使得开发者可以使用不同的语言进行开发。
ITK的主要特征有:
1,ITK提供了通用的方式表示图像(任意维度)和面片(非结构化的meshes),提供用于进行分割和配准的算法,主要面向医学应用,尽管也可以处理其他应用;
2,ITK不提供可视化的用户接口,仅提供最小化的文件接口,留由其他库提供;
3,ITK大量使用泛型编程技术;
4,ITK内存模型使用智能指针维护对象的引用计数,使用对象工厂实例化对象;
5,ITK支持多线程并行处理;
6,ITK使用命令/观察者模式进行事件处理;
7,ITK基于数据流的架构进行组织,数据被表示成数据对象(data object),数据对象由处理对象(process object)处理,数据对象和处理对象连在一起形成Pipeline。
8,ITK的开发基于极限编程(extreme programming)原则,设计、实现和维护是快速迭代的过程,而测试是这个过程的核心,每当有文件check in、每晚都会进行不同平台和编译器的测试。
具体参考: ITK说明二.DCMTK:
DCMTK是由德国offis公司提供的开源项目,并拥有相应的版权。这个开发包经过10多年的开发和维护,已经基本实现了DICOM协议的所有内容。该开发包提供所有的源代码、支持库和帮助文档。DCMTK提供了在各种操作系统下使用的可能版本,如LINUX、SUN、WINDOWS等,用户可更具自己的开发平台进行编译。目前DCMTK的版本是3.5.3。
二、DCMTK的下载和调试
DCMTK公司的主页是: http://dicom.offis.de。
1、首先下载DTMTK源代码。可以通过以下地址:ftp://dicom.offis.de/pub/dicom/offis/software/dcmtk/dcmtk353/dcmtk-3.5.3.zip
2、下载相关的支持库:
ftp://dicom.offis.de/pub/dicom/offis/software/dcmtk/dcmtk353/support/dcmtk-3.5.3-win32-i386-support.zip
具体参考:DCMTK说明
以上2个开源库结合起来,看来QtDcm还是比较复杂的,其中项目编译是采用Cmake进行编译
关于QtDcm的相关文档以及使用说明见:QtDcm开源链接
如有更加详细的文档和博客,麻烦告知,我将更加深入了解