基于图像分割的LIDC-IDRI 数据集预处理之实战预处理篇

目录

前言

一、创建参数配置文件lung.conf

二、创建数据预处理文件prepare_dataset.py:

总结


前言

上一篇《基于图像分割的LIDC-IDRI 数据集预处理之数据下载篇》介绍了关于lidc的数据下载,本篇将针对数据集进行具体的处理,包括肺实质分割,结节标注,数据集划分等,针对数据集预处理所用到的有关技术参考了博主小河梦《深度学习】肺结节分割项目实战一:处理数据集》,本篇现已经成功运行并运用,并针对运行过程出现的问题与诸君共享。


一、创建参数配置文件lung.conf

我们后续所涉及到的数据集和分割网络是一个较为庞大的项目,故此需要设置一个配置文件来管理相关路径,使得项目整体控制便捷灵活。而数据集是由肺图像数据库协会的图像收集(LIDC-IDRI)包括诊断和带有病变注释标记的肺癌筛查胸部CT。数据集中包含1018个病例,每个病例包括来自临床胸部CT扫描的图像和一个相关的XML文件,该文件记录了由四名经验丰富的胸部放射科医生进行的两阶段图像注释过程的结果。

在预处理图像过程中,我们不需要自己写程序去解析所有的文件。已经有人早就写好了免费的库文件去解析数据集。即为python中的pylidc库,所以我们不用额外调用xml文件进行结节解析,pylidc库的安装命令:

pip install pylidc

病例中有的存在结节注释,有的不含结节注释,故此没有的保存在Clean文件夹(可用于后续模型的泛化能力验证),而含有结节的保存在data目录下的对应文件夹。首先先运行以下代码,会自动生成一个lung.conf文件。

from configparser import ConfigParser  # 导入ConfigParser模块,用于读取和写入配置文件

if __name__ == "__main__":  # 当此脚本作为主程序运行时,执行以下代码块
    # 这个python文件用于创建一个配置文件。请根据您的应用程序更改下面的目录

    config = ConfigParser()  # 创建一个ConfigParser对象,用于处理配置文件

    # prepare_dataset.py的配置
    config['prepare_dataset'] = {  # 创建一个名为'prepare_dataset'的section(部分)
        # LIDC数据集的路径
        'LIDC_DICOM_PATH': './LIDC-IDRI',  # 指定LIDC数据集的DICOM文件路径
        # 保存输出文件的目录
        # 掩码的目录
        'MASK_PATH': './data/Mask',  # 指定保存掩码文件的目录
        # 图像的目录
        'IMAGE_PATH': './data/Image',  # 指定保存图像文件的目录
        # 保存不包含任何结节或癌症的图像和掩码
        # 这些图像将在稍后用于评估我们的模型
        'CLEAN_PATH_IMAGE': './data/Clean/Image',  # 指定保存干净图像(无结节)的目录
        'CLEAN_PATH_MASK': './data/Clean/Mask',  # 指定保存干净掩码(无结节)的目录
        # 包含结节信息、恶性程度、训练测试分割的CSV文件
        'META_PATH': './data/Meta/',  # 指定保存元数据(如CSV文件)的目录
        # 掩码阈值是np.sum(MASK)的阈值。一些掩码太小,我们去除这些小的图像和掩码,因为它们可能会作为异常值
        # 阈值8是通过经验评估决定的
        'Mask_Threshold': 8  # 设置掩码阈值
    }

    # 这是pylidc库的配置文件
    config['pylidc'] = {  # 创建一个名为'pylidc'的section
        # 置信度级别决定了四位医生之间注释的重叠程度
        'confidence_level': 0.5,  # 设置置信度级别
        # 512决定了图像的大小
        'padding_size': 512  # 设置图像填充大小
    }

    # 创建名为lung.conf的配置文件
    with open('./lung.conf', 'w') as f:  # 使用'w'模式打开文件,如果文件已存在则会被覆盖
        config.write(f)  # 将配置文件的内容写入到文件中

lung.conf文件的详细内容如下: 

[prepare_dataset]
lidc_dicom_path = ./LIDC-IDRI   #数据集路径
mask_path = ./data/Mask      #经过预处理之后的掩膜路径(标签)
image_path = ./data/Image    #经过预处理之后的含结节图像路径
clean_path_image = ./data/Clean/Image  #经过预处理之后的不含结节的图像,即干净图像路径
clean_path_mask = ./data/Clean/Mask   #经过预处理之后的不含结节的图像,即干净图像掩膜(标签)
meta_path = ./data/Meta/    #经过预处理之后图像元数据信息
mask_threshold = 8  #经验分割阈值

[pylidc]
confidence_level = 0.5  #置信度水平
padding_size = 512  #输入模型的图像大小

然后运行make_label.p

你可能感兴趣的:(人工智能,计算机视觉,python)