a b/tests/patches/test_visu.py
1
from tests.helpers import FakeSlide
2
from pathaia.patches.visu import preview_from_queries
3
from pathaia.util.types import Coord
4
import numpy as np
5
6
7
def test_preview_from_queries():
8
    slide = FakeSlide()
9
    queries = []
10
    min_res = 512
11
    cell_size = 20
12
    thickness = 2
13
    color = (255, 255, 0)
14
    size = Coord(256)
15
    level = 1
16
    size_0 = size * slide.level_downsamples[level]
17
    slide_size = Coord(slide.dimensions)
18
    thickness = 2 * (thickness // 2) + 1
19
    res = slide_size / size_0 * (thickness + cell_size) + thickness
20
    thumb_w = max(min_res, res.x)
21
    thumb_h = max(min_res, res.y)
22
    thumb = np.array(slide.get_thumbnail((thumb_w, thumb_h)).convert("RGB"))
23
    assert (
24
        preview_from_queries(
25
            slide,
26
            queries,
27
            min_res=min_res,
28
            color=color,
29
            thickness=thickness,
30
            cell_size=cell_size,
31
            size_0=size_0,
32
        )
33
        == thumb
34
    ).all()