Medical image datasets ====================== TorchIO offers tools to easily download publicly available datasets from different institutions and modalities. The interface is similar to :mod:`torchvision.datasets`. If you use any of them, please visit the corresponding website (linked in each description) and make sure you comply with any data usage agreement and you acknowledge the corresponding authors' publications. If you would like to add a dataset here, please open a discussion on the GitHub repository: .. raw:: html Discuss IXI --- .. automodule:: torchio.datasets.ixi .. currentmodule:: torchio.datasets.ixi :class:`IXI` ~~~~~~~~~~~~~ .. autoclass:: IXI :class:`IXITiny` ~~~~~~~~~~~~~~~~~ .. autoclass:: IXITiny EPISURG ------- .. currentmodule:: torchio.datasets.episurg :class:`EPISURG` ~~~~~~~~~~~~~~~~ .. autoclass:: EPISURG :members: Kaggle datasets --------------- .. currentmodule:: torchio.datasets.rsna_miccai :class:`RSNAMICCAI` ~~~~~~~~~~~~~~~~~~~ .. autoclass:: RSNAMICCAI .. currentmodule:: torchio.datasets.rsna_spine_fracture :class:`RSNACervicalSpineFracture` ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. autoclass:: RSNACervicalSpineFracture MNI --- .. automodule:: torchio.datasets.mni .. currentmodule:: torchio.datasets.mni :class:`ICBM2009CNonlinearSymmetric` ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ .. autoclass:: ICBM2009CNonlinearSymmetric :class:`Colin27` ~~~~~~~~~~~~~~~~ .. autoclass:: Colin27 .. plot:: import torchio as tio subject = tio.datasets.Colin27() subject.plot() :class:`Pediatric` ~~~~~~~~~~~~~~~~~~ .. autoclass:: Pediatric .. plot:: import torchio as tio subject = tio.datasets.Pediatric((4.5, 8.5)) subject.plot() :class:`Sheep` ~~~~~~~~~~~~~~ .. autoclass:: Sheep .. plot:: import torchio as tio subject = tio.datasets.Sheep() subject.plot() .. currentmodule:: torchio.datasets.bite :class:`BITE3` ~~~~~~~~~~~~~~ .. autoclass:: BITE3 ITK-SNAP -------- .. automodule:: torchio.datasets.itk_snap .. currentmodule:: torchio.datasets.itk_snap :class:`BrainTumor` ~~~~~~~~~~~~~~~~~~~ .. autoclass:: BrainTumor .. plot:: import torchio as tio tio.datasets.BrainTumor().plot() :class:`T1T2` ~~~~~~~~~~~~~ .. autoclass:: T1T2 .. plot:: import torchio as tio subject = tio.datasets.T1T2() subject.plot() :class:`AorticValve` ~~~~~~~~~~~~~~~~~~~~ .. autoclass:: AorticValve .. plot:: import torchio as tio subject = tio.datasets.AorticValve() subject.plot() 3D Slicer --------- .. automodule:: torchio.datasets.slicer .. currentmodule:: torchio.datasets.slicer :class:`Slicer` ~~~~~~~~~~~~~~~ .. autoclass:: Slicer .. plot:: import torchio as tio subject = tio.datasets.Slicer() subject.plot() FPG --- .. currentmodule:: torchio.datasets.fpg .. autoclass:: FPG .. plot:: import torchio as tio subject = tio.datasets.FPG() subject.plot() .. plot:: import torchio as tio subject = tio.datasets.FPG(load_all=True) subject.plot() MedMNIST -------- .. currentmodule:: torchio.datasets.medmnist .. autoclass:: OrganMNIST3D .. plot:: import torch import torchio as tio from einops import rearrange rows, cols = 16, 28 dataset = tio.datasets.OrganMNIST3D('train') loader = torch.utils.data.DataLoader(dataset, batch_size=rows * cols) batch = tio.utils.get_first_item(loader) tensor = batch['image'][tio.DATA] pattern = '(b1 b2) c x y z -> c x (b1 y) (b2 z)' tensor = rearrange(tensor, pattern, b1=rows, b2=cols) sx = tensor.shape[1] plt.imshow(tensor[0, sx // 2], cmap='gray') .. autoclass:: NoduleMNIST3D .. plot:: import torch import torchio as tio from einops import rearrange rows, cols = 16, 28 dataset = tio.datasets.NoduleMNIST3D('train') loader = torch.utils.data.DataLoader(dataset, batch_size=rows * cols) batch = tio.utils.get_first_item(loader) tensor = batch['image'][tio.DATA] pattern = '(b1 b2) c x y z -> c x (b1 y) (b2 z)' tensor = rearrange(tensor, pattern, b1=rows, b2=cols) sx = tensor.shape[1] plt.imshow(tensor[0, sx // 2], cmap='gray') .. autoclass:: AdrenalMNIST3D .. plot:: import torch import torchio as tio from einops import rearrange rows, cols = 16, 28 dataset = tio.datasets.AdrenalMNIST3D('train') loader = torch.utils.data.DataLoader(dataset, batch_size=rows * cols) batch = tio.utils.get_first_item(loader) tensor = batch['image'][tio.DATA] pattern = '(b1 b2) c x y z -> c x (b1 y) (b2 z)' tensor = rearrange(tensor, pattern, b1=rows, b2=cols) sx = tensor.shape[1] plt.imshow(tensor[0, sx // 2], cmap='gray') .. autoclass:: FractureMNIST3D .. plot:: import torch import torchio as tio from einops import rearrange rows, cols = 16, 28 dataset = tio.datasets.FractureMNIST3D('train') loader = torch.utils.data.DataLoader(dataset, batch_size=rows * cols) batch = tio.utils.get_first_item(loader) tensor = batch['image'][tio.DATA] pattern = '(b1 b2) c x y z -> c x (b1 y) (b2 z)' tensor = rearrange(tensor, pattern, b1=rows, b2=cols) sx = tensor.shape[1] plt.imshow(tensor[0, sx // 2], cmap='gray') .. autoclass:: VesselMNIST3D .. plot:: import torch import torchio as tio from einops import rearrange rows, cols = 16, 28 dataset = tio.datasets.VesselMNIST3D('train') loader = torch.utils.data.DataLoader(dataset, batch_size=rows * cols) batch = tio.utils.get_first_item(loader) tensor = batch['image'][tio.DATA] pattern = '(b1 b2) c x y z -> c x (b1 y) (b2 z)' tensor = rearrange(tensor, pattern, b1=rows, b2=cols) sx = tensor.shape[1] plt.imshow(tensor[0, sx // 2], cmap='gray') .. autoclass:: SynapseMNIST3D .. plot:: import torch import torchio as tio from einops import rearrange rows, cols = 16, 28 dataset = tio.datasets.SynapseMNIST3D('train') loader = torch.utils.data.DataLoader(dataset, batch_size=rows * cols) batch = tio.utils.get_first_item(loader) tensor = batch['image'][tio.DATA] pattern = '(b1 b2) c x y z -> c x (b1 y) (b2 z)' tensor = rearrange(tensor, pattern, b1=rows, b2=cols) sx = tensor.shape[1] plt.imshow(tensor[0, sx // 2], cmap='gray')