def it_can_show_its_thumbnail(self, tmpdir): tmp_path_ = tmpdir.mkdir("myslide") image = PILIMG.RGBA_COLOR_500X500_155_249_240 image.save(os.path.join(tmp_path_, "mywsi.png"), "PNG") slide_path = os.path.join(tmp_path_, "mywsi.png") slide = Slide(slide_path, "processed") slide.save_thumbnail() assert ImageShow.show(PIL.Image.open(slide.thumbnail_path))
def it_can_save_thumbnail(self, tmpdir, resampled_dims_): tmp_path_ = tmpdir.mkdir("myslide") image = PILIMG.RGBA_COLOR_500X500_155_249_240 image.save(os.path.join(tmp_path_, "mywsi.png"), "PNG") slide_path = os.path.join(tmp_path_, "mywsi.png") slide = Slide(slide_path, os.path.join(tmp_path_, "processed")) resampled_dims_.return_value = (100, 200, 300, 400) slide.save_thumbnail() assert slide.thumbnail_path == os.path.join(tmp_path_, "processed", "thumbnails", "mywsi.png") assert os.path.exists(os.path.join(tmp_path_, slide.thumbnail_path))
# Methods and properties of openslide object # pprint(pdx_slide._wsi.properties._keys()) # all properties mag = int(pdx_slide._wsi.properties['aperio.AppMag']) print(f"Level count: {pdx_slide._wsi.level_count}") print(f"Level downsamples: {pdx_slide._wsi.level_downsamples}") print(f"Level dimensions: {pdx_slide._wsi.level_dimensions}") # Thumbnail print('thumbnail_size: ', pdx_slide._thumbnail_size ) # thumbnail size proportionally to the slide dimensions print('biggest_tissue_box_mask:', pdx_slide.biggest_tissue_box_mask.shape ) # thumbnail binary mask of the box containing the max tissue area print('thumbnail_path: ', pdx_slide.thumbnail_path) pdx_slide.save_thumbnail() # Inside the save_thumbnail pil_img = pdx_slide._wsi.get_thumbnail(pdx_slide._thumbnail_size) print(type(pil_img)) print(pil_img.size) # pil_img.show() # why this doesn't work?? # plt.imshow(pil_img); plt.axis('off'); pil_img.save(tmp_outpath / 'pil_img.png', format='png') # Apply mask to image pil_img_boxed = histolab.util.apply_mask_image( pil_img, pdx_slide.biggest_tissue_box_mask) pil_img_boxed.save(tmp_outpath / 'pil_img_boxed.png', format='png') # Scale and save image