ITK (1)窗宽窗位的意义与设置

背景与意义

医学图像与传统可视化图像相比,其具有更大的“灰度”范围。如,普通图像(灰度图像)的灰度范围一般是256级(即图像中最亮的点的灰度值定义为0,最亮的定义为255,也就是2^8,所谓的8位二进制图像),而医学图像基于其特殊性,灰度级较普通图像会高很多。
在人体组织在CT上能分辨出2000(从-1000到+1000)个不同的灰度,而人眼只能分辨16个灰度,将这2000个CT值用16阶灰度反应的话,人眼能够分辨的CT值则为2000/16=125Hu,即组织CT值相差125Hu以上,人眼才能分辨出来。但人体组织间的CT值通常相差不大,为了能够对CT值相差小的组织进行分辨,提出窗宽窗位的概念。
为了更好的显示图像的全部信息,以及区分不同组织间的区别,对于非特定组织可以通过设置图像的上下限来突出表现感兴趣区域组织的特点和相邻组织的轮廓,使用“窗宽”“窗位”来处理。

窗宽

window width:表示所显示强度值的范围。简单来说就是范围。

通俗解释与理解:窗宽是CT图像上显示的CT值范围,在此CT值范围内的组织和病变均以不同的模拟灰度显示。而CT值高于此范围的组织和病变,无论高出程度有多少,均以白影显示,不再有灰度差异;反之,低于此范围的组织结构,不论低的程度有多少,均以黑影显示,也无灰度差别。增大窗宽,则图像所示CT值范围加大,显示具有不同密度的组织结构增多,但各结构之间的灰度差别减少。减小窗宽,则显示的组织结构减少,然而各结构之间的灰度差别增加。如观察脑质的窗宽常为-15~+85H,即密度在-15~+85H范围内的各种结构如脑质和脑脊液间隙均以不同灰度显示。而高于+85H的组织结构如骨质几颅内钙化,其间虽有密度差,但均以白影显示,无灰度差别;而低于-15H组织结构如皮下脂肪及乳突内气体均以黑影显示,其间也无灰度差别。

窗位

window level:表示图像灰阶的中心位置。简单来说就是中心。
通俗解释与理解:窗位是窗的中心位置,同样的窗宽,由于窗位不同,其所包括CT值范围的CT值也有差异。例如窗宽同为100H,当窗位为0H时,其CT值范围为-50~+50H;如窗位为+35H时,则CT值范围为-15~+85H。通常,欲观察某以组织结构及发生的病变,应以该组织的CT值为窗位。例如脑质CT值约为+35H,则观察脑组织及其病变时,选择窗位以+35H为妥。 ITK (1)窗宽窗位的意义与设置_第1张图片
PS:如图可以看出,在小于指定的值(窗位-0.5窗宽)的范围,直接设置其灰度值为统一的最小值,在大于指定的值(窗位+0.5窗宽)的范围,直接设置其灰度值为统一的最大值。
此时就可以实现对那些我们不感兴趣的区域(像素值在最大最小范围外的不予与考虑),这时候,再以同样的显示(或者处理)在同样的显示器上看到,在“窗宽”范围内的各组织间的区别就被更加凸显的体现出来。

ITK实现

//定义图像类型
	using OutputPixelType = short;
	using OutImageType = itk::Image<OutputPixelType, 2>;
	//定义截取上下限滤波器
	typedef itk::IntensityWindowingImageFilter <OutImageType , OutImageType> IntensityWindowingImageFilterType;
	IntensityWindowingImageFilterType::Pointer intensityFilter = IntensityWindowingImageFilterType::New();
	//窗宽窗位如果是外部传入,分别为WL和WW
	//窗位
    float WL = ...;
    float WW = ...;
    low_threshold = WL - (WW / 2.0f);
    high_threshold = WL + (WW / 2.0f);
    //如果需要处理后图像是short型,最简单的处理就是直接以上下限为最大最小值,并对其数值取整
	int MaxGrayValue = high_threshold ;
	int MinGrayValue = low_threshold ;
	//设置输入图像
	intensityFilter->SetInput(img.GetPointer());
	//设置下限阈值
	intensityFilter->SetWindowMinimum(low_threshold);
	//设置上限阈值
	intensityFilter->SetWindowMaximum(high_threshold);
	//设置下限之下的图像的灰度值
	intensityFilter->SetOutputMinimum(MinGrayValue );
	//设置上限之上的图像的灰度值
	intensityFilter->SetOutputMaximum(MaxGrayValue );
	intensityFilter->Update();

效果

原图的显示效果
ITK (1)窗宽窗位的意义与设置_第2张图片

增加了窗宽窗位的效果
窗位设置为:57.6
窗宽设置为:1.0
ITK (1)窗宽窗位的意义与设置_第3张图片
如上图所示,对于脑部外圈的诸多点,通过特定的窗宽窗位的调节,可以将外部点进行有效显示,便于后续的提取和其他处理。

结论

通过对窗宽窗位的设置,可以有效的凸显感兴趣区域。结合相关的实验,可以对同类型设备及同类型组织的提取,做到自动化的效果,有效图区特定组织,对非感兴趣组织进行有效屏蔽(大于和小于阈值的内容)。

你可能感兴趣的:(算法模块,C++,ITK,计算机视觉,人工智能,图像处理)