--- a +++ b/tests/patches/test_visu.py @@ -0,0 +1,34 @@ +from tests.helpers import FakeSlide +from pathaia.patches.visu import preview_from_queries +from pathaia.util.types import Coord +import numpy as np + + +def test_preview_from_queries(): + slide = FakeSlide() + queries = [] + min_res = 512 + cell_size = 20 + thickness = 2 + color = (255, 255, 0) + size = Coord(256) + level = 1 + size_0 = size * slide.level_downsamples[level] + slide_size = Coord(slide.dimensions) + thickness = 2 * (thickness // 2) + 1 + res = slide_size / size_0 * (thickness + cell_size) + thickness + thumb_w = max(min_res, res.x) + thumb_h = max(min_res, res.y) + thumb = np.array(slide.get_thumbnail((thumb_w, thumb_h)).convert("RGB")) + assert ( + preview_from_queries( + slide, + queries, + min_res=min_res, + color=color, + thickness=thickness, + cell_size=cell_size, + size_0=size_0, + ) + == thumb + ).all()