数据集的收集与整理

1. 上海交通大学(倪冰冰团队)发布的 MedMNIST数据集

MedMNIST

MedMNIST(github链接1)MedMNIST v1)由上海交通大学于 2020 年 10 月 28 日发布,是一个包含 10 个医学公开数据集的集合,共计包含 45 万张 2828 的医疗多模态图片数据,可用于解决医学图像分析相关问题。
but:原始图片大小为1736
1824,MedMNIST的图片大小为28*28。分辨率有点低!
数据集的百度网盘链接:https://pan.baidu.com/s/1CZDUde1hQvdEADlZ1ZpvpA
提取码:6666

MedMNIST v2

MedMNIST v2(公开网址包括:CodeDataset论文)是类似于 MNIST 的生物医学图像集合,包括 12 个 2D 数据集和 6 个 3D 数据集。所有图像都被预处理成 28 x 28 (2D) 或 28 x 28 x 28 (3D) 并带有相应的分类标签。MedMNIST v2 涵盖生物医学图像中的主要数据模式,旨在对具有各种数据规模(从 100 到 100,000)和不同任务(二元/多类、有序回归和多标签)的轻量级 2D 和 3D 图像执行分类。生成的数据集由 708,069 张 2D 图像和 10 张,总共 214 张 3D 图像。
在这里插入图片描述
v2与v1相比较,更新的内容在上表中已用红色标出。

基准测试

百度网盘链接:https://pan.baidu.com/s/1-m7SEyiGbPo830rR2aOedA
提取码:6666

代码展示

from medmnist import environ
import os
import numpy as np
from torch.utils.data import Dataset
from PIL import Image

class MedMNIST(Dataset):
    flag = ...
    flag = "retinamnist"

    def __init__(self, split='train', transform=None, target_transform=None):

        npz_file = np.load(os.path.join(environ.dataroot,"{}.npz".format(self.flag)))

        self.split = split
        self.transform = transform
        self.target_transform = target_transform

        if self.split == 'train':
            self.img = npz_file['train_images']
            self.label = npz_file['train_labels']
        elif self.split == 'val':
            self.img = npz_file['val_images']
            self.label = npz_file['val_labels']
        elif self.split == 'test':
            self.img = npz_file['test_images']
            self.label = npz_file['test_labels']

    def __getitem__(self, index):
        img, target = self.img[index], int(self.label[index])
        img = Image.fromarray(np.uint8(img))

        if self.transform is not None:
            img = self.transform(img)

        if self.target_transform is not None:
            target = self.target_transform(target)

        return img, target

    def __len__(self):
        return self.img.shape[0]

class PathMNIST(MedMNIST):
    flag = "pathmnist"

class OCTMNIST(MedMNIST):
    flag = "octmnist"

class PneumoniaMNIST(MedMNIST):
    flag = "pneumoniamnist"

class ChestMNIST(MedMNIST):
    flag = "chestmnist"

class DermaMNIST(MedMNIST):
    flag = "dermamnist"

class RetinaMNIST(MedMNIST):
    flag = "retinamnist"

class BreastMNIST(MedMNIST):
    flag = "breastmnist"

class OrganMNIST_Axial(MedMNIST):
    flag = "organmnist_axial"

class OrganMNIST_Coronal(MedMNIST):
    flag = "organmnist_coronal"

class OrganMNIST_Sagittal(MedMNIST):
    flag = "organmnist_sagittal"

if __name__ == '__main__':
    import sys
    import torch.utils.data as data
    from torchvision import transforms
    import matplotlib.pyplot as plt

    train_transform = transforms.Compose([
        transforms.ToTensor()
    ])
    dataclass = {
        "pathmnist": PathMNIST,
        "chestmnist": ChestMNIST,
        "dermamnist": DermaMNIST,
        "octmnist": OCTMNIST,
        "pneumoniamnist": PneumoniaMNIST,
        "retinamnist": RetinaMNIST,
        "breastmnist": BreastMNIST,
        "organmnist_axial": OrganMNIST_Axial,
        "organmnist_coronal": OrganMNIST_Coronal,
        "organmnist_sagittal": OrganMNIST_Sagittal,
    }
    print(dataclass["retinamnist"])

    train_dataset = dataclass["retinamnist"](split='train', transform=train_transform)
    train_loader = data.DataLoader(dataset=train_dataset, batch_size=1, shuffle=False)
    for img,target in train_loader:
        # print(img.size())
        img = img.squeeze().permute(1, 2, 0)  # 先squeeze讲B压缩,然后permute进行维度交换,将(C,H,W)变为(H,W,C)
        # print(img.shape)
        plt.imshow(img)  # plt.imshow(x) x表示shape=(224,224,)
        plt.show()
        print(target)

——————————————————————————————
————————————分割线———————————————
——————————————————————————————

2. 南京理工大学 陈强教授团队 发布的OCTA图像数据集 OCTA-500

链接2
简单定义:
光学相干断层扫描血管造影(OCTA)
OCTA是建立在光学相干断层扫描(OCT)技术上的一种成像模态,它以微米级的分辨率显示视网膜血管的三维结构,弥补了OCT无法提供血流信息的不足。

南京理工大学陈强教授及其团队发布了目前最大的OCTA图像数据集OCTA-500。它包含500只眼睛的OCT和OCTA两种模态的三维数据,六种投影图像,四种文本标签(年龄、性别、左右眼、疾病类型)以及两种分割标签(视网膜大血管、无血管区)。

基于该数据库他们还提出了一种三维到二维分割的图像投影网络。
论文名:Image Projection Network: 3D to 2D Image Segmentation in OCTA Images
论文的百度网盘链接:https://pan.baidu.com/s/1BASOS2U6wdlVDMBGeBP7FQ
提取码:6666
代码链接:
https://github.com/chaosallen/IPN_tensorflow

论文2介绍了OCTA-500数据集,发布了图像投影网络-V2,提升了图像投影网络的性能,同时克服了由于分块训练带来的棋盘效应。
论文名:IPN-V2 and OCTA-500: Methodology and Dataset for Retinal Image Segmentation
论文的百度网盘链接:https://pan.baidu.com/s/1uq-P2CdmsdurlowjO2bBnA
提取码:6666
代码链接:
https://github.com/chaosallen/IPNV2_pytorch

  • 2
    点赞
  • 12
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值