MITK实现反色功能

一、背景描述:

   在医学影像处理中,反色,又叫负片,是在医学影像浏览时常用的一个功能,反色功能可以改变影像的视觉效果,使得医生能够更好地观察某些特定的组织结构。

    Dicom医学图像的原始数据数值的分布区间一般比较大,如CT值的正常范围为-1000HU到+1000HU,空气的HU值接近于-1000,人体组织中骨头的含钙量高,HU值最高,大概在1000左右。一般显示器显示灰度级别在0-255也就是256个颜色级别。如果将dicom的-1000-1000的灰度级直接映射到0-255,势必会使得图像的灰度级太低,图像会呈现整体灰暗,无法正常阅读。聪明的人类想出了窗宽窗位的概念来解决这个问题。窗宽窗位其实就是选择性的将某个区间的CT值映射到0-255的范围。这样针对不同的器官,只要选择适当的窗宽窗位就可以完美呈现该器官的具体样貌。对于窗宽窗位以外的CT值,则用0或255来取代。

  大部分影像处理软件使用灰度渲染医学影像,反色就是就是将每个像素的灰度值取反,黑色变成白色,白色变成黑色,实现算法就是用255减去原来的像素值。例如,如果原图像是灰度值为128的像素,反色后就变成了255-128=127。

本文介绍如何基于MITK实现反色功能。MITK本身实现的Action按键及插件中没有提供该功能的实现。

二、实现过程

一个MITK的data node设置了一些属性(properties),这些属性包含了MITK对节点处理的相关信息,包括渲染、交互信息等。其中有一个属性:“LoopupTable”,该属性用于设置用户自定义的配色查找表,用来将标量值映射到颜色值,对应的属性值类型为mitk::LookupTableProperty,当该属性设置后,color属性不再影响影像的颜色。

在MITK中mitk::LookupTable预置了一系列的类型

    enum LookupTableType
    {
      GRAYSCALE,
      INVERSE_GRAYSCALE,
      HOT_IRON,
      JET,
      JET_TRANSPARENT,
      PLASMA,
	    INFERNO,
	    VIRIDIS,
      MAGMA,
      LEGACY_BINARY,
      LEGACY_RAINBOW_COLOR,
      MULTILABEL,
      PET_COLOR,
      PET_20,
      TURBO
    };

其中,默认使用灰度值来渲染影像,即使用GRAYSCALE类型,而反色效果即使用INVERSE_GRAYSCALE类型即可 。

三、代码实现

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值