PET图像特征提取

本文介绍了在深度学习任务中特征提取的重要性,特别是在医学影像分析中。使用NiBabel库读取和处理各种神经影像文件格式,如NIfTI和GIFTI。通过加载图像,选取特定通道,然后计算非零像素数量、零像素数量、平均值、标准差等统计特性。根据样本所在的文件夹名称(如NC或MCI)来判断样本类别。
摘要由CSDN通过智能技术生成

对于深度学习任务,特征提取是非常重要的一步。

!pip install nibabel

首先要下载NiBabel库,NiBabel提供对一些常见医学和神经影像文件格式的读/写访问,包括ANALYZE(plain,SPM99,SPM2及更高版本),GIFTI,NIfTI1,NIfTI2,CIFTI-2,MINC1,MINC2,AFNI BRIK/HEAD,MGH和ECAT以及Philips PAR/REC。

img = nib.load(path)

通过路径加载PET图像

img = img.dataobj[:, :, :, 0]

img.dataobj即图片的图像矩阵,通过[:, :, :, 0]获得图片第一个通道的数据

random_img = img[:, :, np.random.choice(range(img.shape[2]), 10)]

随机筛选其中10个通道提取特征 

 

feat = [
        (random_img != 0).sum(),               # 非零像素的数量
        (random_img == 0).sum(),               # 零像素的数量
        random_img.mean(),                     # 平均值
        random_img.std(),                      # 标准差
        len(np.where(random_img.mean(0))[0]),  # 在列方向上平均值不为零的数量
        len(np.where(random_img.mean(1))[0]),  # 在行方向上平均值不为零的数量
        random_img.mean(0).max(),              # 列方向上的最大平均值
        random_img.mean(1).max()               # 行方向上的最大平均值
    ]

对图片计算统计值

if 'NC' in path:
    return feat + ['NC']
else:
    return feat + ['MCI']

 由于文件夹名称为样本类别

 故根据路径path的字符串来判断样本类别并返回保存

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值