从DICOM开始入门医学图像处理-1-开发工具

  1. 前言
    前一段时间接触了一个项目,主要是开发一个PC客户端,实现DICOM格式的医学影像的浏览和一些简单的处理,因此了解了一些医学影像方面的东西,分享出来供大家参考.
  2. 背景介绍

    PACS系统

    PACS系统是Picture Archiving and Communication Systems的缩写,意为影像归档和通信系统。它是应用在医院影像科室的系统,主要的任务就是把日常产生的各种医学影像(包括核磁,CT,超声,各种X光机,各种红外仪、显微仪等设备产生的图像)通过各种接口(模拟,DICOM,网络)以数字化的方式海量保存起来,当需要的时候在一定的授权下能够很快的调回使用.简单的来讲,在使用PACS的医院,所有的影像学检查产生的图片都会上传到PACS服务器上,以统一的文件格式保存,在影像检查设备的工作站上安装有PACS客户端,他负责向服务器上传新产生的文件,或者胸PACS上调取某些图片,同时,PACS客户端一般都集成了简单的图像浏览功能,有些高级的甚至带有辅助诊断和编辑功能.

    DICOM

    DICOM是PACS系统所采用的文件存储协议.目前最新标准为DICOM3.0,以 DICOM形式存储的档案中包括影像资料,病人的基本信息,检查所用的仪器的信息等

  3. 工具推荐
    比较好获得的DICOM查看器有Pmsdview和RadiAnt 等,其中, RadiAnt是一个小巧且强大的软件,他启动速度极快且功能完善,支持多国语言,并且他对于DICOM档案中存储的各种信息的读取能力非常完备,是一个值得尝试的程序,同时,他有一些功能对于开发者来讲非常重要,这在之后的文章中会有介绍.

    常用的开发工具有VTK,ITK,DCMTK这三个SDK:
    VTK是一个三维可视化工具包,他有一些方法支持医学影像处理,值得一提的是,VTK并不是一个专门为DICOM或者医学影像而生的SDK,所以VTK对于DICOM的支持主要在显示图像和三维可视化方面,对于DICOM档案中的其他信息,VTK并不能完全获取和掌握,但是VTK有自己的优势,由于它是专门用来做三维数据可视化的SDK,他对于Qt和MFC,Winform等可视化编程手段都提供了接口,并且提供了很多UI控件
    ITK则是一个专门为医学图像处理而生的SDK,其中整合了很多医学图像处理常用的算法实现,而且ITK提供了把内部数据转换为VTK兼容的数据的接口
    DCMTK是一个专门针对DICOM协议开发的SDK,他几乎实现了所有的DICOM特性,DICOM档案中存储的所有信息几乎都可以通过DCMTK读取出来,但是DCMTK对于可视化方面的支持很有限,而且在他得到官方网站上提供得到release版本中没有64位的版本.

    根据这些特点,如果你要做一个和PACS和DICOM有关系的程序,我推荐的方案是这样的:
    VTK做为表现层,负责显示图片,利用ITK做影像处理,然后把处理好的数据转换发给VTK,而DICOM中的其他信息的读取由DCMTK实现,界面上最直接的选择是使用Qt,当然WPF和Winform也是可以的.

  4. 开发环境安装
    本文作者采用的开发环境如下:
    Visual Studio 2017
    VTK 8.0.0
    DCMTK 3.6.2
    ITK 4.12.0
    Qt5.9.1
    其中,VS在安装的时候必须要选择C++相关的组件,另外V140和V141工具集也推荐安装
    DCMTK没有官方的64位版本,为了程序的兼容性,推荐自行编译出DCMTK的64位版本.
    其他组件的安装都比较简单,下一篇文章将会详细描述开发环境的搭建过程.

你可能感兴趣的:(VTK,DICOM,医学图像处理)