在已知DICOM和三维模型对应掩膜的情况下,计算三维模型的体积。
思路:
1、计算每个体素的体积。每个体素为长方体,x,y为PixelSpacing,z为层间距
使用pydicom.read_file读取DICOM文件,dcm_tag.PixelSpacing获取像素间距,dcm_tag.SliceLocation 获取层间距
2、计算体素的个数
代码如下:
from PIL import Image
import numpy as np
import pydicom
import os
def get_pixels_No(bmp_data_dir):
pixels_No = 0
bmp_files = os.listdir(bmp_data_dir)
for bmp in bmp_files:
bmp_file = os.path.join(bmp_data_dir,bmp)
img = Image.open(bmp_file)
img_array = np.array(img)
# img_array.dtype为布尔类型,需要转换为Int类型,其累加和恰好为体素总和
img_array_int = img_array.astype(int)
pixels_No = pixels_No+img_array_int.sum()
return pixels_No
def get_pixel_info(dcm_data_dir):