3D 图像、体数据与表格数据的表示及处理
1. 3D 图像:体数据
1.1 CT 扫描数据特点
在医学成像应用中,如 CT 扫描,我们通常处理的是沿头 - 脚轴堆叠的图像序列,每个图像对应人体的一个切片。CT 扫描的强度代表了人体不同部位的密度,从肺部、脂肪、水、肌肉到骨骼,密度逐渐增加,在临床工作站上显示时从暗到亮映射。CT 只有一个强度通道,类似于灰度图像,原生数据格式通常省略通道维度,原始数据一般有三个维度。通过将单个 2D 切片堆叠成 3D 张量,我们可以构建表示对象 3D 解剖结构的体数据。与普通 2D 图像不同,这里额外的维度代表物理空间中的偏移,而不是可见光谱的特定波段。
1.2 加载 CT 扫描数据
可以使用 imageio 模块中的 volread 函数加载 CT 扫描数据,该函数以目录为参数,将所有 DICOM 文件组装成一个 NumPy 3D 数组。示例代码如下:
import imageio
dir_path = "../data/p1ch4/volumetric-dicom/2-LUNG 3.0 B70f-04083"
vol_arr = imageio.volread(dir_path, 'DICOM')
print(vol_arr.shape)
由于数据布局与 PyTorch 期望的不同,缺少通道信息,需要使用 unsqueeze 函数为通道维度留出空间:
超级会员免费看
订阅专栏 解锁全文
1652

被折叠的 条评论
为什么被折叠?



