예제 #1
0
    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))
예제 #2
0
    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))
예제 #3
0
# 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