基于LIDC-IDRI肺结节肺癌数据集的放射组学机器学习分类良性和恶性肺癌(Python 全代码)全流程解析 (一)(2)

注意在安装完该库后,需要在系统用户文件夹下,新建pylidc.conf文件,为该库的运行指明文件存放的位置。
[dicom]
path = G:\dataset_zhang\LIDC-IDRI
将以上路径修改为数据集存放的路径。
测试该库是否安装成功代码如下:

import pylidc as pl
from pylidc.utils import consensus
import os

dataset_path = r'G:\dataset\_zhang\LIDC-IDRI\\'#修改路径哦
dicom_name   = 'LIDC-IDRI-0001'
PathDicom = os.path.join(example)  # 构建当前病例文件夹的完整路径
# 查询当前病例的扫描数据,并将第一个扫描结果存储到scan变量中
scan = pl.query(pl.Scan).filter(pl.Scan.patient_id == example).first()
print(scan)

1.1.2图像读取-(读取CT图像的patch和分割标注)

我们以数据集中的’LIDC-IDRI-0001’病例数据为例,使用pylidc库中的按照病例文件夹名字的查询的方式,将该病例的所有的数据储存在scan中。而后提取所有专家对图像分割的标注坐标和肺结节的体素立方体。一个病例中含有多个肺结节默认提取第一个。使用的plt画图功能展示。代码如下

import numpy as np
import matplotlib.pyplot as plt
import matplotlib.animation as manim
from skimage.measure import find_contours
import cv2
import pylidc as pl
from pylidc.utils import consensus
import os

dataset_path = r'G:\dataset\_zhang\LIDC-IDRI\\'
dicom_name   = 'LIDC-IDRI-0001'
print(dicom_name)  # 打印当前DICOM文件夹的名称
PathDicom = os.path.join(dataset_path, dicom_name)  # 构建当前DICOM文件夹的完整路径
# 查询当前病例的扫描数据,并将第一个扫描结果存储到scan变量中
scan = pl.query(pl.Scan).filter(pl.Scan.patient_id == dicom_name).first()
vol = scan.to_volume()# 将该扫描数据转换成数组形式的体积(volume)
# 聚类注释(nodule annotations)以获取一组注释
nods = scan.cluster_annotations()
try:
   anns = nods[0]   # 尝试获取第一个注释(annotation)
   Malignancy = anns[0].Malignancy   # 获取注释中的恶性程度(Malignancy)信息
except IndexError:
   # 如果没有注释,或者无法获取第一个注释,则继续下一个DICOM文件夹
   continue
# 执行共识合并(consensus consolidation)和50%的一致性水平(agreement level)。
  • 8
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值