窗宽、窗位定义
CT值单位为HU(hounsfield unit)。人体组织的CT值范围是-1000HU到1000HU,而显示器一般只能显示8bit(256)个灰度级, 所以为了清楚显示不同组织,需要借助窗位(Window Center)和窗宽(Window Width)信息进行开窗操作。开窗操作就是把以窗位为中心和窗宽为范围的HU值映射到0到255,其余的HU值映射为0或者255。
请注意,CT 图像必须先转换成 Hounsfield 值再做 window-level。 这个转换包括将多余高位 bits 变成 0 (clipping), 和用 recale slope 和 rescale intercept 来做单位转换
HU = pixel_val*rescale_slope + rescale_intercept
调节算法
double dFactor, min, max;
int nPixelVal;
min = (2*window_center - window_width)/2.0 + 0.5;
max = (2*window_center + window_width)/2.0 + 0.5;
dFactor = 255.0/(double)(max - min);
for (i = 0; i < nNumPixels; i++)
{
if (pixel_val < min)
{
disp_pixel_val = 0;
continue;
}
if (pixel_val > max)
{
disp_pixel_val = 255;
continue;
}
nPixelVal = (int)((pixel_val - min)*dFactor);
if (nPixelVal < 0)
disp_pixel_val = 0;
else if (nPixelVal > 255)
disp_pixel_val = 255;
else
disp_pixel_val = nPixelVal;
}