[ PROMPT_NODE_26682 ]
Histolab 可视化
[ SKILL_DOCUMENTATION ]
# 可视化
## 概述
Histolab 提供了几种内置的可视化方法,以帮助检查切片、预览切片位置、可视化掩码并评估提取质量。适当的可视化对于验证预处理工作流、调试提取问题以及展示结果至关重要。
## 切片可视化
### 缩略图显示
python
from histolab.slide import Slide
import matplotlib.pyplot as plt
slide = Slide("slide.svs", processed_path="output/")
# 显示缩略图
plt.figure(figsize=(10, 10))
plt.imshow(slide.thumbnail)
plt.title(f"Slide: {slide.name}")
plt.axis('off')
plt.show()
### 将缩略图保存到磁盘
python
# 将缩略图保存为图像文件
slide.save_thumbnail()
# 保存到 processed_path/thumbnails/slide_name_thumb.png
### 缩放图像
python
# 获取特定下采样因子的切片缩放版本
scaled_img = slide.scaled_image(scale_factor=32)
plt.imshow(scaled_img)
plt.title(f"Slide at 32x downsample")
plt.show()
## 掩码可视化
### 使用 locate_mask()
python
from histolab.masks import TissueMask, BiggestTissueBoxMask
# 可视化 TissueMask
tissue_mask = TissueMask()
slide.locate_mask(tissue_mask)
# 可视化 BiggestTissueBoxMask
biggest_mask = BiggestTissueBoxMask()
slide.locate_mask(biggest_mask)
这会显示带有红色覆盖掩码边界的切片缩略图。
### 手动掩码可视化
python
import matplotlib.pyplot as plt
from histolab.masks import TissueMask
slide = Slide("slide.svs", processed_path="output/")
mask = TissueMask()
# 生成掩码
mask_array = mask(slide)
# 创建并排比较
fig, axes = plt.subplots(1, 3, figsize=(20, 7))
# 原始缩略图
axes[0].imshow(slide.thumbnail)
axes[0].set_title("Original Slide")
axes[0].axis('off')
# 二值掩码
axes[1].imshow(mask_array, cmap='gray')
axes[1].set_title("Tissue Mask")
axes[1].axis('off')
# 在缩略图上叠加掩码
from matplotlib.colors import ListedColormap
overlay = slide.thumbnail.copy()
axes[2].imshow(overlay)
axes[2].imshow(mask_array, cmap=ListedColormap(['none', 'red']), alpha=0.3)
axes[2].set_title("Mask Overlay")
axes[2].axis('off')
plt.tight_layout()
plt.show()
### 比较多个掩码
python
from histolab.masks import TissueMask, BiggestTissueBoxMask
masks = {
'TissueMask': TissueMask(),
'BiggestTissueBoxMask': BiggestTissueBoxMask()
}
fig, axes = plt.subplots(1, len(masks) + 1, figsize=(20, 6))
# 原始
axes[0].imshow(slide.t