我试图从WSI幻灯片(Available Here)以特定的放大率创建面片。我正在Python中使用OpenSlide。我可以使用以下代码将所需的放大率转换为特定级别的幻灯片:
mag = 20 #required magnification
slide = openslide.open_slide(slide_path)
base_mag = 10.0 / float(slide.properties['openslide.mpp-x'])
level = slide.get_best_level_for_downsample(base_mag / mag)
因此,问题归结为仅仅在特定的幻灯片级别上寻找补丁
首先,我使用Otsu进行组织分割,代码如下:
slide = openslide.open_slide(slide_path)
thumbnail = slide.get_thumbnail((slide.dimensions[0] / 256, slide.dimensions[1] / 256))
thumbnail_grey = np.array(thumbnail.convert('L')) # convert to grayscale
thresh = threshold_otsu(thumbnail_grey)
binary = thumbnail_grey > thresh
二进制是np.array,0:组织,1:非组织
此外,我还有一张掩模图像(WSI幻灯片),它告诉我肿瘤的部位
为了生成补丁,我在Python中遇到了对带有OpenSlide的DeepZoom的支持。根据OpenSlide文档(Available Here),我可以使用DeepZoom生成如下瓷砖:
tiles = DeepZoomGenerator(slide, tile_size=256, overlap=0, limit_bounds=False)
我意识到两件事:-
slide.level_count
在幻灯片中打印10个级别,即0-9个级别,其中0是最高分辨率李>tiles.level_count
在瓷砖中打印19个,即0-18级,其中18是最高分辨率李>为了获得特定级别的磁贴,我可以使用get_tile(level, address)
,它返回一个RGB图像,并将深度缩放级别和该级别内磁贴的地址(列、行)作为(列、行)元组
现在我对一些事情感到困惑:
目前没有回答
相关问题 更多 >
编程相关推荐