首页 > 编程知识 正文

窗子宽度一般多宽,窗户加宽的方法

时间:2023-05-03 07:40:47 阅读:27358 作者:3065

显示器只有8位(0)到255 ),数据从12位到16位。 如果将数据的min和max之间(动态范围)转换为8位0到255,则在此过程中会发生有损转换,往往会强调噪声。 针对这些问题,研究者首先提出了一些要求(requirements ),然后根据这些要求提出了一些算法。 这些算法现在已经成熟了。 要求(1)充分利用0-255之间的显示有效值字段; 要求(2) :将值域压缩造成的损失降到最低的要求(3) :不得损失应突出的组织部分。

宽窗概念窗技术(Window Technique )是医生用于观察不同密度正常组织或病变的显示技术,包括窗宽(window width )和窗位(window level )。 由于各种组织结构和病变具有不同的像素值,因此想要显示某个组织结构的细节时,需要选择适合观察组织结构的窗宽窗口位置,以获得最佳效果。

窗宽的是CT/DR图像显示的CT/DR值,该CT/DR值范围内的组织和病变均以不同的模拟灰度显示,但CT/DR值高于该范围的组织和病变,再高也以白色阴影显示,灰度差消失,相反如果没有灰度差而增大窗宽,则图像所示CT/DR值的范围变宽,具有不同密度的组织结构变多,但各结构间的灰度减少; 减小窗的宽度表示组织结构减少,各结构之间的灰度增加。

窗户的位置是窗户的中心位置。 即使是相同的窗宽,根据窗的位置不同,包含CT/DR范围的CT/DR值也有差异。 例如,在窗宽度(w )相同w=60、窗的位置为L=0的情况下,其CT/DR值的范围为-30~ 30; 窗口位置为10时,CT/DR值的范围为-20~ 40。 通常,观察一个组织的结构和发生的病变,应以该组织的CT/DR值为窗口位。

算法分析http://www.Sina.com/computeminvalmaxval (pixel _ val,min,max ); //首先计算图像的最大值和最小值for (I=0; i nNumPixels; I ) disp_pixel_val=(pixel_val-min ) ) 255.0/(double ) ) max - min ); }

该算法是必需的,对8位图像、MRI、ECT、CR等多种图像都有效。

1. 16-bit 到 8-bit 直接转换

W/L是专门为CT/DR设计的。 原理很简单。 CT/DR图像中不同组织的密度(Hounsfield单位)处于固定值域,与具体设备和成像软件无关。 因此,看头的时候,只要把头的值域变成0-255就可以了。 CT/DR W/L不使用头部值域的最小和最大,而是称为最大-最小(即window_width )和最大最小)/2 (即window_center )。 也可以使用原始表达式,只是min和max算法不同。

min=(2*窗口_ center -窗口_ width )/2.0 0.5; max=(2*窗口_ center window _ width )/2.0 0.5; for(I=0; I!=nNumPixels; I ) disp_pixel_val=(pixel_val-min ) ) 255.0/(double ) ) max - min ); } 2. Window-leveling 算法

我刚才说的是把min和max之间的数值线性变换在0-255之间。 如果max - min出现的是25500等大的数值,那就是每100元的密度压缩成一个显示灰度。 这样的损失可能很大。 由于人眼对灰度的反应公式是非线性的,非线性变换可以解决一些问题。 常用的算法有log和gamma两种。 因为伽马容易调整伽马值,所以经常被使用。

for(I=0; i nNumPixels; I ) disp _ pixel _ val=255.0 * pow (pixel _ value/(最大- min ),1.0/gamma ); } 非线性转换1 .进行任何变换时,注意有效灰度域外的数值的处理。

最好在int而不是无符号化通道上计算,然后迁移到矩阵,以避免溢出和卸载流。

双面因子=255.0/(双面) )最大-最小; int nPixelVal; for(I=0; i nNumPixels; I({npixelval=(int ) ) (pixel_val - min ) *dFactor ); if(npixelval0) disp_pixel_val=0; ELSEif(npixelval255 ) disp_pixel_val=255; else disp_pixel_val=nPixelVal; }2.窗口级别时,注意min和max以外的原始数据的处理double dFactor、min、max; int nPixelVal; min=(2*窗口_ center -窗口_ width )/2.0 0.5; max=(2*窗口_ center window _ width )/2.0 0.5; d factor=255.0/(双精度) )最大-最小; for(I=0; i nNumPixels; I ) if(pixel_valmin ) {disp_pixel_val=0; 继续; (if ) pixel_valmax ) {disp_pixel_val=255; 继续; }npixelval=(int ) ) pixel_val - min ) *dFactor ); if(npixelval0) disp_pixel_val=0; ELSEif(npixelval255 ) disp_pixel_val=255; else disp_pixel_val=nPixelVal; }实验结果不同窗宽窗位的比较

=====================================

请注明出处。 http://blog.csdn.net/utimes/article/details/8505469==============

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。