Histology tile generation

Histology tile generation#

Short walkthrough of unconditional and conditional histology tile synthesis.

import lazyslide as zs

wsi = zs.datasets.sample()

Unconditional generation#

Generate tiles without providing any input context.

images = zs.tl.image_generation()

This returns a list of PIL images; inspect the first sample.

images[0]
../_images/b229ea701643cfd6b2088f9f62dcf7c3b967d1e529e78e1cb8a471c4996949bf.png

Conditional generation#

Control synthesis using prior information such as tile features.

zs.tl.feature_extraction(wsi, "h0-mini")

Condition on the first tile feature vector.

images = zs.tl.image_generation(wsi, model="cytosyn", prompt_tiles=0)

Compare the conditioning tile with generated samples.

import matplotlib.pyplot as plt

for tile in wsi.iter.tile_images("tiles"):
    break

_, axes = plt.subplots(1, 3, figsize=(8, 2))
axes[0].imshow(tile.image)
axes[0].set_title("Condition on")
axes[0].axis("off")

axes[1].imshow(images[0])
axes[1].set_title("Generated Image 1")
axes[1].axis("off")

axes[2].imshow(images[1])
axes[2].set_title("Generated Image 2")
axes[2].axis("off")
(np.float64(-0.5), np.float64(223.5), np.float64(223.5), np.float64(-0.5))
../_images/e39cdda9213246a9f1a4cc136753e63b6f9171368f1f7ee4957e4dd5848ce973.png