1. 上海交通大学(倪冰冰团队)发布的 MedMNIST数据集
MedMNIST
MedMNIST(github链接1) (MedMNIST v1)由上海交通大学于 2020 年 10 月 28 日发布,是一个包含 10 个医学公开数据集的集合,共计包含 45 万张 2828 的医疗多模态图片数据,可用于解决医学图像分析相关问题。
but:原始图片大小为17361824,MedMNIST的图片大小为28*28。分辨率有点低!
数据集的百度网盘链接:https://pan.baidu.com/s/1CZDUde1hQvdEADlZ1ZpvpA
提取码:6666
MedMNIST v2
MedMNIST v2(公开网址包括:Code,Dataset,论文)是类似于 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