|
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() |