玩转肺癌目标检测数据集Lung-PET-CT-Dx ——②预览数据集,绘制锚框

文章介绍了如何预览和处理CT图像数据集,包括查看dcm文件的SOPInstanceUID以匹配对应的xml标注文件。使用pydicom库读取和分析dcm文件,并展示了如何通过Python代码将dcm图像与xml标注文件配对,以便进行目标检测和数据分析。
该文章已生成可运行项目,

本文接着预览数据集的概况,看看图像文件和标注文件该如何处理。
本文所用代码: 我的Github

数据集预览

数据集分成三部分:
Images 为我们需要下载的影像资料。
Annotation Files 是目标检测的标注数据(即XML注释文件,标注了肿瘤位置和分类)。
Clinical Data 是患者相关的临床资料。

我们主要关注前两个部分。


Image部分含355个子文件夹,命名为"Lung_Dx-Xxxxx"。比如A0002,意为A分类(腺癌)的0002号病例。

在这里插入图片描述
在这里插入图片描述


Annotation Files 下是一些xml格式的标注文件,即目标检测的标注数据,标注了肿瘤位置和分类。
我们看到下图xml文件中标注了一个 A类 的物体(即 Bounding Box),以及它的四个坐标。
之后也有可能碰到一个xml文件标注了多个Bounding Box的情况,即一张CT标注了两个结节病灶。

在这里插入图片描述


这里有个问题,我们的CT图像和xml标注文件如何对应起来呢?即如何知道xml文件中描述的bounding box框对应的是哪一张CT图片呢?

CT图片和xml文件的对应关系

我们知道xml文件的文件名是一长串数字组成的,比如“1.3.6.1.4.1.14519.5.2.1.6655.2359.122259036515695905512549026864.xml”。
这是CT序列片中,一张CT图片的全局唯一标识,称为 SOP Instance UID。

我们可以用dcm软件(如RadiAnt)打开一张dcm影像文件,打开dcm文件的标签就可以看到SOP Instance UID。就是这个东西与xml文件一一对应了起来。
在这里插入图片描述


查看dcm文件信息

由于RadiAnt软件收费,我们完全可以使用python的pydicom库来查看处理dcm文件。
先通过pip install pydicom命令安装这个库。

然后,我们可以载入需要的dcm文件。
SOPInstanceUID属性即可查看 SOP Instance UID。
还可以获取像素矩阵,绘制出CT影像。
代码如下:

import pydicom
import matplotlib.pyplot as plt

im = pydicom.read_file('manifest-1608669183333/Lung-PET-CT-Dx/Lung_Dx-A0001/04-04-2007-NA-Chest-07990/2.000000-5mm-40805/1-01.dcm')

# 获取 UID
uid = im.SOPInstanceUID

# 获取像素矩阵
img_arr = im.pixel_array
# 打印矩阵大小
print(img_arr.shape)

# 绘制图像
plt.imshow(img_arr,cmap=plt.cm.gray)
plt.title("UID:{}".format(uid))
本文章已经生成可运行项目
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值