日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

【转】DICOM图像像素值(灰度值)转换为CT值

發布時間:2023/12/10 编程问答 40 豆豆
生活随笔 收集整理的這篇文章主要介紹了 【转】DICOM图像像素值(灰度值)转换为CT值 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

轉自:https://www.cnblogs.com/xuhui24/p/6193032.html
? ? ? ? ? ?https://zhuanlan.zhihu.com/p/358770379

  CT值的單位是Hounsfield,簡稱為Hu,范圍是-1024-3071。用于衡量人體組織對X射線的吸收率,設定水的吸收率為0Hu。

  在DICOM圖像讀取的過程中,我們會發現圖像的像素值有可能不是這個范圍,通常是0-4096,這是我們常見到的像素值或者灰度值,這就需要我們在圖像像素值(灰度值)轉換為CT值。

  首先,需要讀取兩個DICOM Tag信息,(0028|1052):rescale intercept和(0028|1053):rescale slope.

  然后通過公式:

    Hu = pixel * slope + intercept

  計算得到CT值。

HU(Hounsfiled Unit)值,是在做醫學圖像數據預處理不可避免的事情,反映了組織對X射線吸收程度。以水的吸收程度作為參考,即水的HU=0,衰減系數大于水的為正直,小于水的為負值。并以骨皮質和空氣的HU值為上限和下限,是在醫學影像圖像處理技術,處理CT圖像不可避免的事情。

HU值的計算公式:(非常重要)

HU = pixel_val * slope + intercept

如果Slope為1,Intercept為0,則不需要轉化的問題,具體Slope和Intercept的值在頭文件中都會有說明的

代碼:

import os
import numpy as np
import pydicom as pyd
import matplotlib.pyplot as plt
import cv2
import SimpleITK as sitk


##查看是否需要轉化HU值,如果img.RescaleSlope不為1,img.RescaleIntercept不為0,則需要轉化的問題
dcm_file='/Pancreas-CT/PANCREAS_0001/11-24-2015-PANCREAS0001-Pancreas-18957/Pancreas-99667/1-001.dcm'

img=pyd.read_file(dcm_file)
img_array=sitk.GetArrayFromImage(sitk.ReadImage(dcm_file))
print(img_array)
print(np.shape(img_array))
print('----')
print(img.RescaleSlope)
print(img.RescaleIntercept)
HU=np.dot(img_array,img.RescaleSlope)+img.RescaleSlope
print(HU)

創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎

總結

以上是生活随笔為你收集整理的【转】DICOM图像像素值(灰度值)转换为CT值的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。