吴 涛 张会如 王 梅 董 睿 刘洪美
肝脏体积(liver volume,LV)是间接反映肝脏储备功能的一项重要指标[1],根据CT或MRI的扫描图像准确计算手术前、后的肝脏体积,对于肝脏切除、肝移植等手术的病人非常有必要,有助于减少因术后残肝体积过小而造成的各种并发症。术后测量残余肝脏体积,有助于外科医生了解肝脏的再生情况。遗憾的是这种处理医学影像的软件通常是安装在医院影像设备上,非放射人员无法经常接触,而且这种软件需要影像设备的支持,不能安装在个人电脑中,市面上独立的CT体积测量软件又非常昂贵,这给肝脏外科医生进行临床和科学研究带来诸多不便。ImageJ是一个可免费下载的图像分析软件包,由美国国立卫生研究院(National Institutes of Health,NIH)研究开发,用于帮助分析临床和科研中的医学影像。目前国内尚未见有关ImageJ软件测量肝脏体积的报道,基于以上原因,本文提出了一种在个人电脑上利用ImageJ软件测量肝脏体积的方法。
ImageJ软件下载地址∶(版本1.42)http∶// www.rsb.info.nih.gov/ij/download.html,直接双击下载后的程序即可安装,软件运行最少需要64M内存,可以在Windows、Linux、Mac OS等操作系统上运行。
由我院附属医院PACS图像处理工作站,选取行腹部多层螺旋CT平扫获得的肝脏CT图像,扫描层厚5 mm,螺距1.0,管电压120 kV,管电流65 mAs。将CT图像存为DICOM格式的图像文件夹拷至个人电脑,对其进行LV测量。
2.2.1 制作图像栈
每例病人的DICOM格式CT图像文件夹中,每层CT图片都有一个唯一的编号,运行ImageJ软件,选择菜单File→open,找到待处理的文件夹,按文件夹中CT图像的编号顺序,依次打开含有肝脏的DICOM格式的CT图像,共N层;点击菜单栏Image→stacks→Images to stack,软件自动将N幅图像转换成图像栈(图1所示),即在一个窗口里以多线程的形式层叠N幅图像,并行处理。只要内存允许,ImageJ软件能够打开任意多的图像进行处理。
图1 ImageJ图像栈
2.2.2 图像预处理
DICOM格式的图像栈每像素16位存储,为得到最佳的图像分割效果,需要先对栈进行预处理。通过点击菜单栏Image→Adjust→Window/Level,调节图像栈的窗宽、窗位,本文中窗宽、窗位为300 HU、40 HU;点击Image→Type→8-bit将16位图像转换为8位图像,灰度值范围为0-255,并将此时的图像栈保存命名为“原始栈图像”以备用;点击菜单栏Process→Enhance Contrast,对栈作图像增强处理;Process→Smooth对栈进行平滑处理。
2.2.3 阈值分割和二值化
阈值分割是利用灰度直方图分析图像的灰度分布,选择合适的阈值Threshold,并把灰度图像分成目标与背景。ImageJ软件提供了阈值化的用户窗口,单击菜单栏Image→Adjust→Threshold,弹出Threshold窗口,如图2所示,拖动滑块调整阈值,对图像栈进行阈值分割。本文使用两个阈值同时调整的方法,阈值的大小选取根据实时的调整确定,一般最小值为100,最大值为230,单击Apply后得到二值化图像;单击菜单栏Process→Binary→Outline,获得图像的边缘轮廓,得到“边缘图像”。
2.2.4 创建感兴趣区域
打开已保存的“原始栈图像”,单击Process→Image Calculator,弹出Image Calculator窗口,如图3所示,在Image1栏选择“原始栈图像”,Image 2栏选择“边缘图像”,Operation栏选择Subtract,对两个图像栈进行减运算(原始栈图像减去边缘图像),得到描有边缘轮廓的图像栈,本文称之为“减图像”;如果“减图像”中肝脏的边缘轮廓是闭合的,可利用软件的魔术棒工具直接点击肝脏边缘的任意一点,自动获得感兴趣区域,如图4(a)所示黄线即为肝脏感兴趣区域(Region of interesting,ROI),工具栏灰暗区是魔术棒工具;但是如果“减图像”中肝脏的边缘轮廓存在不连续的地方,需要利用软件画笔工具连接断开的边缘,如图4(b)所示,这样获得闭合的肝脏边缘后,再利用魔术棒工具得到感兴趣区域。
图2 图像阈值分割
图3 图像减运算窗口
2.2.5 计算肝脏体积
图4 创建感兴趣区域
图5 ROI计算窗口
获取栈的第一幅CT图像的ROI后,点击菜单栏Analyze→Tools→ROI Manager…,在弹出的ROI Manager窗口中点击Add,软件自动添加第一幅图像的ROI数据;然后利用魔术棒工具创建第二幅图像的ROI,并在ROI Manager窗口中点击Add,添加第二幅图像的ROI数据,之后依次对栈图像的每一幅图像做以上处理,直到添加完N幅图像的ROI数据(图5所示),点击ROI Manager窗口中的Measure按钮,软件自动弹出Result窗口显示所有感兴趣区域的面积计算结果,图6所示,单击File→Save As可自动存为Excel格式文件,利用Excel表格可计算各层面ROI面积和层厚的乘积,再累加各项乘积,得到肝脏总体积。本文计算肝脏体积为1264.056 cm3,如表1所示。
ImageJ软件是一种支持Java语言的图像分析与处理软件,该软件开放源代码,占用内存空间小,图像处理速度快,可以在Windows、Mac OS、Mac OS X、Linux等操作系统上运行,支持DICOM,JPEG,BMP,TIFF,GIF, FITS等多种图片格式,可对医学影像图像直接分析和处理;ImageJ软件还可用来做肝脏CT容量分析,它的好处是可以免费下载,在不需要放射科医生的支持下,外科医生可在个人电脑上独立进行肝脏CT容积的分析。此外ImageJ支持宏语言和插件扩展功能,使用ImageJ内置的文本编辑器和Java编译器开发Java语言的各种插件,可完成对ImageJ的扩展,这种机制使专业人员能够通过Java编程完善该软件,并实现相应专业领域的特殊用途扩展,自定义的插件可以解决几乎所有图像处理和分析方面的问题。
图6 ROI数据计算结果窗口
表1 肝脏体积计算表
该软件目前已被广泛用于医学生物图像的处理,如显微镜图像细胞计数、细胞分割,医学检验图谱分析[2]等,在国外被较多地应用于通讯、信息技术、航海航空等工程技术领域[3]。志,2005(7)∶747-748.
[3]Keagan Moodley, Hugh Murrell. A colourmap plugin for the open source, Java based, image processing package, ImageJ[J]. Computers Geosci,2004,30∶609-618.
[4]张国华.旋转DSA在肝动脉造影中的应用[J].中国医学装备,2007,4(6)∶42.
[5]黎一鸣,吕凡,吉鸿,等.肝脏体积变化与病肝储备功能的关系研究[J].中华普通外科杂志,2002(2).