-
2020-12-23 14:01:38
展开全部
CT值的计算公式:CT值=((Ux-U水
在73千电子伏)/U水在73千电子伏)*K,式中K是一常数,其值等于1000。
Ux为该物质636f707962616964757a686964616f31333431366430的衰减系数,U水为水的衰减系数,K为常数。假如采用Hounsfield单位则K为1000,而EMI单位K为500。通用的为Hounsfield单位(HU),因此K=1000,。
CT值是测定人体某一局部组织或器官密度大小的一种计量单位,通常称亨氏单位(hounsfield unit ,HU)空气为-1000,致密骨为+1000。
扩展资料
例如:水的衰减系数为1,则
CT值=((1-1)/1)*K=0HU
空气的衰减系数为0.0013,近似值为0,则
CT值=((0-1)/1)*K=-1000HU
水的吸收系数U水为1;致骨密度的吸收系数U骨为1.9-2.0,而空气的吸收系数为U空为0.0013接近于0;按照CT值的计算公式可求得水的CT值为0HU,空气-1000HU,骨密度为1000HU。这样我们把一幅重建的CT图像看成一个CT值的矩阵,每一个CT值代表一个像素。
人体组织的CT值界限有2000个分度,上界为骨的CT值是+1000HU,下界为空气的CT值是-1000HU.
更多相关内容 -
ct值的计算代码matlab-dicom-matlab-tools:dicom-matlab-工具
2021-06-12 20:04:29ct值的计算代码matlab 用于 MATLAB:registered: 的 DICOM 操作工具 马克·格尔茨版权所有 :copyright: 2016,威斯康星大学董事会 用于 MATLAB 的 DICOM 操作工具是读取和写入 DICOM RT 文件的函数的编译。 这些工具... -
应用荧光定量比较Ct值法测定基因相对表达量
2020-01-03 09:43:39应用荧光定量比较Ct值法测定基因相对表达量,魏洁书,杨锦芬,实时荧光定量PCR是一种准确快速的核酸定量分析技术,具有特异性强、灵敏度高、重复性好、定量准确、速度快、全封闭反应等优点。比 -
ct值的计算代码matlab-xraySimulator:用MATLAB编写的简单X射线模拟器
2021-06-12 20:04:24ct值的计算代码matlab 朴素的 X 射线模拟器 模拟由 X 射线点源和矩形 X 射线探测器创建的一个或多个对象(STL 文件)的 X 射线图像。 生成的模拟在 3D 图中可视化,并将生成的 X 射线图像写入位图文件。 这个项目... -
人体组织剂量计算中医学影像CT值的应用与研究
2020-01-06 19:52:09人体组织剂量计算中医学影像CT值的应用与研究,汤晓斌,常树全,蒙特卡罗方法是计算精度最高的人体组织剂量计算方法。常见的蒙特卡罗模拟程序,如MCNP、EGS4等都自带了各种介质的截面数据,所以剂� -
【CT值与灰度值的总结】
2021-04-20 05:34:04概述首先, 我们要理解, CT值和灰度值这两者根本就不是同一个东西,不要被一些网络上的文章所误解。接下来, 就要看你具体是要处理哪种格式的文件了, 是DICOM 还是 NIFTI ; 文件格式不同 , 用来做解析的Python ...概述
首先, 我们要理解, CT值和灰度值这两者根本就不是同一个东西, 不要被一些网络上的文章所误解。
接下来, 就要看你具体是要处理哪种格式的文件了, 是DICOM 还是 NIFTI ; 文件格式不同 , 用来做解析的Python 库也就不同,
譬如,要处理DICOM类型的数据, 一般会用 simpleitk, pydicom 库 ;
而 NIFTI类型的数据更多使用 Nibabel 库, 或者是 simpleitk 也是可以的。
https://blog.csdn.net/normol/article/details/88313888
其实无论对于dcm还是nii格式的图片,只要是ct图,就都可以选择将储存的原始数据转化为Hu值,因为Hu值即代表了物体真正的密度。
对于nii格式的图片,经过测试,nibabel, simpleitk常用的api接口,都会自动的进行上述转化过程,即取出来的值已经是Hu了。
(除非专门用nib.load('xx').dataobj.get_unscaled()或者itk.ReadImage('xx').GetPixel(x,y,z)才能取得原始数据)
对于dcm格式的图片,经过测试,simpleitk, pydicom常用的api接口都不会将原始数据自动转化为Hu!!(itk snap软件读入dcm或nii都不会对数据进行scale操作)
下面就以我使用的 NIFTI 格式的文件以及 Nibabel 库为例:
01 CT值(HU值)矩阵的获取
使用 nibabel 自带的 load函数读取 xxx. nii.gz 格式的压缩文件, 得到的 shape 和 type 如下
(64, 512, 512)
the type of image array is
使用 get_fdata() 将上面这种格式的数组转换为 ndarray 类型的数组,
然后查看数组当中的值,以及类型(是 dtype 不是 type)
the data format is float64
the min value in array is -1024.0
the max value in array is 2125.0
是一个 -1024——2125 的矩阵, 如果你有一些关于 CT图像相关的知识,你就会知道现在的这个数组,
就是一个由 CT值 ,也就是常说的 HU值所组成的。
02 CT值矩阵与 OpenCV
初次接触 CT图像的处理, 得到了这个CT值矩阵之后, 我就使用OpenCV 的 Imshow 来看了一下, 当时并没有发现什么
太大的问题,(这里暂且不提问题所在, 留到后面)
在网上看了一些资料后, 我发现还需要对CT值矩阵进行 windowing 操作,
也就是调整 窗宽(window width)和窗位( window level ), 这两者分别对应图像的对比度与亮度。
(详细说明见: )
然后我就按照windowing 的方法, 使用numpy.clip 调整了一下我们 CT值矩阵,
得到了一个新的,经过处理的CT值举证, 然后我又使用 cv2.imshow 来输出,
然后我便发现,这次的输出和没调整之前的输出是一模一样的, 我又重新调整了一下 windowing 操作的数值,
然而发现也是毫无效果,只是当你取了较小的值时, 会输出一片黑, 较大的值会输出一片白,仅此而已。
1 为 (512x512x1)的CT 值矩阵 Imshow的图像
2位 其经过windowing 之后的图像
3, 4 分别为上面说的全白和全黑
12
34
困惑的我又试图比较了这两次输出图像的直方图, 这时我发现,这二者的直方图根本就是天差地别,
也就是说他们两个根本不是同一张图像, 只是发生了的改变我观察不到。
经过我一番查阅, 问题可能是出在了我直接使用 imshow 输出范围较大的 CT值矩阵。
当你使用OpenCV的时候,对于黑白图像,它存储的是图像的灰度值,存储的形式类似于一个二维数组;
对于彩色图像,它分为三通道存储,三通道对应于RGB。
这里我们着重讨论黑白图像,因为彩色图像相当于它的扩展。
灰度值用0到255间的整数表示,
而对于CT图像,它的像素值的表示比较复杂(这里与其说是像素值不是说是CT值, 即HU值),
从负几千到正几千都有,我们可以使用ITK依次读取CT图像的每个像素值,
并可以将其每个像素值保存在Mat中,但这时通过opencv的imshow函数不能够显示出来,
可以进行适当的处理,将像素值变换到0到255的范围显示出来。
从上面的描述中,我们可以看到不能直接将 CT 值作为传统意义上的像素值进行输出, 而是要经过一个变换,
或者称其为映射 ;
映射的公式如下
def normalization(hu_value, hu_min, hu_max):
normal_value = (hu_value - hu_min) / (hu_max - hu_min)
return normal_value
也就是说windowing 操作之后, 还要执行一个由 CT值向灰度值的映射,
这里给出我随机给的两组数, 其调试出来的值,
说明这种方法对于改变亮度 和 对比度都是有效的 ,
具体的值如何给定, 还需要根据你的数据以及任务来看。
这阶段到此结束, 希望我的分享能够帮到你一点点。
-
1.4 DICOM图像CT值计算
2021-11-07 13:08:40上一篇文章分析了如何解析DICOM图像,将内存中的数据按照DataElement提取出来,...CT值的单位是Hounsfield,简称为Hu,范围是 -1024-3071,数据范围是4096。用于衡量人体组织对X射线的吸收率,设定水的吸收率为0Hu。 C以下链接是本系列文章,不足之处,可在评论区讨论:
系列文章
1.1 DICOM协议简介及应用
1.2 DICOM成像协议剖析
1.3 DICOM成像协议实现思路
1.4 DICOM图像CT值计算
1.5 DICOM图像CT值转RGB
1.6 DICOM图像的基本操作
1.7 DICOM层级关系
1.8 序列图像排序
1.9 DICOM带有overlay覆盖层图像显示(一层覆盖层)
1.10 DICOM带有overlay覆盖层图像显示(多层覆盖层)
1.11 DICOM带有overlay覆盖层图像显示(原始数据)
1.12 DICOM彩色图像上一篇文章分析了如何解析DICOM图像。在此基础上,本文章将讲解如何计算CT值。
主要流程如图所示:
不同设备产生的DICOM图像像素格式不同,比如CT图像保存的是Hu值,超声(US)图像保存的是RGB值。
以最常见的CT图像举例:
CT值的单位是Hounsfield,简称为Hu,范围是 -1024-3071,数据范围是4096。用于衡量人体组织对X射线的吸收率,设定水的吸收率为0Hu。
CT值越高,图像显示越白,比如骨头CT值高,成亮白色,空气CT值低,成黑色。脊柱颜色亮白,肺中空气黑色。
Dicom图像中PixelData存储的值并不是CT值,CT值需要计算才能获得。
CT图像一个像素一般占两个字节,其中使用前12个bit存储像素值,即能表示的数据范围在2^12=4096,覆盖了CT值范围。一般医院影像科看CT图像都是在医用显示器上看,能达到12bit灰阶,所以可以完整的显示所有的像素。一般这种显示器价格在数万元。
而普通的显示器是8bit灰阶,显示范围在0-255,所以只能显示部分像素值,需要通过调整窗宽窗位来显示不同的像素。
网上很多博客描述CT值计算,需要读取两个DICOM Tag信息,(0028|1052):rescale intercept和(0028|1053):rescale slope.
然后通过公式:
Hu = pixel * slope + intercept
如果通过DCMTK等框架来实现是没有问题,框架已经将PixelData中的像素值计算出来,可以直接用来计算CT值。
但如果自己实现DICOM解析引擎,则PixelData中的像素值需要进行一些转换才能使用。
CT图像中和CT值计算的Tag:
(0028,0002) Samples per Pixel
每一个像素的取样数,一般来说,CT,MR,DR等灰度图像都是1,而彩超等彩色图像都是3,分别表示R, G, B三个颜色通道。
(0028,0100)Bits Allocated
一个像素的像素值占用了多少位bit,一般是两个字节,16bit
(0028,0101)Bits Stored
一个像素的像素值使用了多少位bit,一般是12bit
(0028,0102)High Bit
最高位序号,它定义了存储点在分配的内存中的排列方式,它的值是最后一个bit的序号。如果第一个bit放在0位,那么最后一个bit为Bits Stored -1
(0028,0103)Pixel Representation
像素值的数据表示形式,0表示unsigned integer. 无符号整数,直接保存像素值本身。1表示二补数,保存的是像素值的二补数,其实就是有符号整数,此时像素值可正可负。
(0028,1052)Rescale Intercept
缩放截距
CT图像的Hu值有正值和负值,而PixelData中数据通常存储为无符号整数。使用12bit可以存储0-4095的正值,存储同样范围的包含负值和正值需要占用更多的字节。为了可以通过PixelData计算出负值Hu值,可以通过数学公式中的斜率和截距来计算。因此,CT DICOM文件通常具有负截距。线性缩放也适用于这样的情况,一个像素可能有一个大范围的值,而存储的值尽可能少的比特,同时避免量化错误。
(0028,1053Rescale Slope
缩放斜率通过如下方式方式获取CT值:
- 通过(0002,0010) Transfer Syntax UID判断图像是否压缩格式,如果压缩调用相应的解压缩算法解压
- 通过(0002,0010) Transfer Syntax UID判断图像是大端还是小端,进行字节级别的移位。如果是小端则前后字节整体进行互换,字节内bit顺序不变。如果是大端则不变。
- 通过(0028,0100)Bits Allocated,(0028,0101)Bits Stored,(0028,0102)High Bit对数据进行操作。
比如一般Bits Allocated为16,Bits Stored为12,High Bit为11,表示一个像素占用两个字节,其中使用了前12个字节。则Pixel = Pixel && 0x0FFF。 - 通过(0028|1052)rescale intercept和(0028|1053)rescale slope计算CT值Hu = pixel * slope + intercept
以上步骤计算出 -1024-3071范围内的CT值,下篇文章会讲解如何从12位bit CT值转换为8bit RGB值
-
1.5 DICOM图像CT值转RGB
2021-11-07 17:57:44上篇文章介绍了如何手动实现CT值计算。获得CT图像的CT值后并不能直接显示,因为CT值一般是12bit灰阶,而一般的显示器是8bit灰阶,无法全部显示所有的像素。 (0028,0004) Photometric Interpretation CT图像...以下链接是本系列文章,不足之处,可在评论区讨论:
系列文章
1.1 DICOM协议简介及应用
1.2 DICOM成像协议剖析
1.3 DICOM成像协议实现思路
1.4 DICOM图像CT值计算
1.5 DICOM图像CT值转RGB
1.6 DICOM图像的基本操作
1.7 DICOM层级关系
1.8 序列图像排序
1.9 DICOM带有overlay覆盖层图像显示(一层覆盖层)
1.10 DICOM带有overlay覆盖层图像显示(多层覆盖层)
1.11 DICOM带有overlay覆盖层图像显示(原始数据)
1.12 DICOM彩色图像上篇文章介绍了如何手动实现CT值计算。获得CT图像的CT值后并不能直接显示,因为CT值一般是12bit灰阶,而一般的显示器是8bit灰阶,无法全部显示所有的像素。
-
(0028,0004) Photometric Interpretation
CT图像Photometric Interpretation有以下几种类型:
Monochrome2 一般的灰度图像都采用这种,Pixel值越大,图像就越白。
Monochrome1 只有部分CR, DR图像使用,Pixel值越大,图像就越黑。 -
(0028,0010)Rows
图像的高度 -
(0028,0011)Columns
图像的宽度 -
(0028,0030)Pixel Spacing
图像像素间距,读取Pixel Data的时候不需要,主要用于长度测量。 -
(0028,1050)Window Center 和 (0028,1051) Window Width
窗宽窗位
医学图像中常有个骨窗、肺窗等的概念,即将具体的某个窗宽窗位的值来映射到8bit显示。
窗宽:
窗宽指CT图像所显示的CT 值范围。在此CT值范围内的组织结构按其密度高低从白到黑分为16 个灰阶以供观察对比。例如,窗宽选定为100 Hu ,则人眼可分辨的CT值为100 / 16 =6 . 25 Hu ,即2 种组织CT值相差在6 . 25Hu以上者即可为人眼所识别。因此,窗宽的宽窄直接影响图像的清晰度与对比度。如果使用窄的窗宽,则显示的CT 值范围小,每一灰阶代表的CT 值幅度小,对比度强,适于观察密度接近的组织结构(如脑组织)。反之,如果使用宽的窗宽,则显示的CT值范围大,每一灰阶代表的CT 值幅度大,则图像对比度差,但密度均匀,适于观察密度差别大的结构。
窗位:
窗位(窗中心)指窗宽范围内均值或中心值。比如一幅CT图像,窗宽为100Hu,窗位选在0Hu;则以窗位为中心(0Hu),向上包括+50Hu,向下包括-50Hu,凡是在这个100Hu 范围内的组织均可显示出来并为人眼所识别。凡是大于+50Hu 的组织均为白色;凡是小子-50Hu 的组织均为黑色,其密度差异无法显示。人眼只能识别土50Hu 范围内的CT 值,每一个灰阶的CT 值范围是100 / 16=6 . 25 Hu 。由于CT值是12位存储,普通显示器是8位灰阶,无法显示全部的CT值,因此CT图像需要调窗宽窗位来显示部分CT值。比如可以调整窗宽和窗位来突出显示某一器官。
首先根据DICOMt图像默认的窗宽窗位值,计算出窗宽的下限值即最小CT值和窗宽的上限值即最大CT值。
wl = -650
ww = 1500
min = (2 * wl - ww) / 2.0 + 0.5;
max = (2 * wl + ww) / 2.0 + 0.5;
min = -1400
max = 100
反推
ww = 100 - (-1400) = 1500
wl = 100 -1500/2 = -650位图图像灰度值在0-255间,在min到max间的CT值要线性映射到0-255范围内。小于等于min的CT值映射为灰度值0,大于等于max的CT值映射为灰度值255。
图中十字光标处的像素的CT值在图像左下角,显示CT值为119.5,大于max值,对应灰度值255。Photometric Interpretation值为 Monochrome2,因此图像上显示白色。然后再根据CT值最小值和最大值计算窗宽窗位内的CT值对应的灰度值。
gray_value = (ct_value - min) * 255.0 / (max - min)
根据窗宽窗位计算出像素的灰度值后,赋予R,G,B三通道相同的灰度值,图像显示灰白色。
-
-
CT医学影像的窗高窗位、CT值(Hu值)
2021-10-26 19:58:45CT医学影像的窗高窗位、CT值(Hu值)CT医学影像的窗高窗位、CT值(Hu值)学习CT扫描层面 冠状位、 矢状位、横断位的基本定义及部分正常人体组织的CT值(Hu)[CT扫描层面 冠状位、 矢状位、横断位的基本定义及部分... -
医学图像的CT值与像素值总结
2020-12-17 20:48:30CT值又叫HU值。HU(Hounsfiled Unit)值,反映了组织对X射线吸收程度。以水的吸收程度作为参考,即水的HU=0,衰减系数大于水的为正直,小于水的为负值。并以骨皮质和空气的HU值为上限和下限。 因为HU值是与设备无关... -
CT值
2019-03-19 14:19:19CT 值:量化的密度概念,用于描述 CT 图像...目前通用的 CT 值概念是将水的 CT 值定为 0Hu,人体内密度最高的骨皮质 CT 值定为+1000Hu,密度最低的空气 CT 值为-1000 Hu,其它各种组织的 CT 值介于-1000 Hu~+1000Hu... -
【转】DICOM图像像素值(灰度值)转换为CT值
2021-08-25 08:59:51CT值的单位是Hounsfield,简称为Hu,范围是-1024-3071。用于衡量人体组织对X射线的吸收率,设定水的吸收率为0Hu。 在DICOM图像读取的过程中,我们会发现图像的像素值有可能不是这个范围,通常是0-4096,这是... -
CT值、线性衰减系数与质量衰减系数的关系
2021-05-12 13:29:34对于人体通常情况下,CT值分步为-1000~1000,空气CT值=-1000,水CT值=0。 Q:令人头痛的是,书本中并没有告诉我们w也即水的衰减系数值为多少。如果要使用这个公式来求CT值,则必须要知道衰减系数值。那么应该如何求... -
ct值在哪里看_来,带你见识一下CT三维重建
2020-11-10 17:32:44这篇文章给大家讲一个看上去很直观、实际上非常高大上的话题——CT三维重建,小编拜读后很有收获,希望对大家也有所帮助!文:北京协和医院放射科孙昊... -
CT值及CT常用窗宽、窗位
2021-01-05 14:39:27CT值及CT常用窗宽、窗位 CT值的含义是:每个反应管内的荧光信号达到设定的域值时所经历的循环数。研究表明,每个模板的CT值与该模板的起始拷贝数的对数存在线性关系,起始拷贝数越多,CT值越小。利用已知起始拷贝数... -
Dicom 图像--像素值(灰度值)转为CT值
2020-04-13 17:45:31CT值的单位是Hounsfield,简称为Hu,范围是 -1024-3071。用于衡量人体组织对X射线的吸收率,设定水的吸收率为0Hu。 在DICOM图像读取的过程中,我们会发现图像的像素值有可能不是这个范围,通常是0-4096,这个值就是... -
DICOM图像像素值、灰度值与CT值
2018-08-28 11:03:18图像灰度值的概念是什么?灰度也可以认为是亮度,简单说就是色彩的深浅程度。 实际上在我们的日常生活中,通过三原色色彩深浅的组合,可以组成各种不同的颜色。产品能够展现的灰度数量越多,也就意味着这款产品的... -
身体各部位CT值大全.doc
2021-09-28 20:00:56身体各部位CT值大全.doc -
正常组织的CT值如下.doc
2021-09-12 08:23:00正常组织的CT值如下.doc -
CT值到灰度值的映射, 以及windowing中的窗宽和窗位
2019-09-03 17:07:20参考 :https://blog.csdn.net/normol/article/details/88313888... ... 你好, 请问CT值和灰度值二者之间有什么关系呢? 回复 :CT值可以理解为是不同组织在射线下的值(书面解释可以百度), 它的范围是比较大的... -
定量PCR中_ct值的含义.doc
2021-10-01 06:23:27定量PCR中_ct值的含义.doc -
定量PCR中-ct值的含义.doc
2021-09-29 22:56:20定量PCR中-ct值的含义.doc -
荧光定量pcr原理ct值PPT学习教案.pptx
2021-10-05 06:23:10荧光定量pcr原理ct值PPT学习教案.pptx -
基于Matlab CT层厚及CT值线性的自动检测系统.pdf
2021-07-10 10:30:32基于Matlab CT层厚及CT值线性的自动检测系统.pdf -
医学图像处理——基本概念(色彩、直方图、CT值)
2021-03-17 20:59:54因为CT是根据组织密度进行成像,所以,密度不同的组织CT值不同 CT值以水为参照,吸收系数比水小的CT值为负,比水大CT值为正值 CTnumber=1000∗μ−μwaterμwaterCT number = 1000 * \frac{μ - μ_{water}}... -
DCMTK实现Dicom CT图片读取CT值图像
2017-08-21 16:52:39但是这些方法存在着分割毛刺和过分割的现象,因而从准确的度的角度去分割CT图像,就需要使用到Dicom图像了,既是使用CT值作为分割的依据。 首先来看一个CT的脑部骨窗图像 在这个图像中对骨头比较感兴趣,使用... -
神经网络模型和多元线性回归预测肾结石CT值的比较.pdf
2021-09-25 18:54:04神经网络模型和多元线性回归预测肾结石CT值的比较.pdf -
python nii 图像读取,转换成CT 值,设置窗宽窗位,保存成png 图像
2020-04-06 15:43:31# 读取nii文件夹 for f in filenames: # 开始读取nii文件 img_path = os.path.join(filepath, f) img = nib.load(img_path) # 读取nii img_fdata = img.get_fdata() # api 已完成转换,读出来的即为CT值 fname = f....