Quickstart
Here are some quickstart examples for how to use pado.
Playing with an example dataset
If you need a super quick example of how to use a pado dataset, you can create a fake dataset, that’s also used in the internal tests.
>>> from pado.mock import mock_dataset
>>> ds = mock_dataset(None)
>>> ds
PadoDataset('memory://pado-f5869e41-5246-4378-9057-96fda1c40edf', mode='r+')
This creates a test dataset in memory with 3 images and some fake metadata
>>> len(ds)
3
>>> ds.index
(ImageId('mock_image_0.svs', site='mock'),
ImageId('mock_image_1.svs', site='mock'),
ImageId('mock_image_2.svs', site='mock'))
>>> ds[0].image
Image(...)
>>> ds[0].metadata
A B C D
ImageId('mock_image_0.svs', site='mock') a 2 c 4
Creating a pado dataset
We’re soon adding an example of how to create a pado dataset.
Using a pado dataset remotely
We’re soon adding an example of how to use the remote capabilities of a pado dataset.
Using a pado dataset with pytorch
pado datasets provide tools to be used in dataloaders.
from pado import PadoDataset
from pado.itertools import TileDataset
from pado.images.tiles import FastGridTiling
from pado.images.utils import MPP
ds = PadoDataset("/path/to/my/dataset", mode="r")
# map-style dataset only accessing tissue tiles
dataset = TileDataset(
ds,
tiling_strategy=FastGridTiling(
tile_size=(512, 512),
target_mpp=MPP(1, 1),
overlap=100,
min_chunk_size=0.2,
normalize_chunk_sizes=True,
),
)
loader = DataLoader(
dataset,
batch_size=32,
shuffle=True,
num_workers=8,
collate_fn=dataset.collate_fn,
)
More examples
We need your input! 🙇
Tip
In case you need another example for the specific thing you’d like to do, please feel free to open a new issue on pado’s issue tracker. We’ll try our best to help you 👍