[ PROMPT_NODE_26672 ]
histolab
[ SKILL_DOCUMENTATION ]
# Histolab
## 概述
Histolab 是一个用于处理数字病理学中全切片图像 (WSI) 的 Python 库。它自动执行组织检测,从千兆像素图像中提取信息丰富的切片,并为深度学习流水线准备数据集。该库处理多种 WSI 格式,实现了复杂的组织分割,并提供了灵活的切片提取策略。
## 安装
bash
uv pip install histolab
## 快速入门
从全切片图像中提取切片的基本工作流:
python
from histolab.slide import Slide
from histolab.tiler import RandomTiler
# 加载切片
slide = Slide("slide.svs", processed_path="output/")
# 配置切片器
tiler = RandomTiler(
tile_size=(512, 512),
n_tiles=100,
level=0,
seed=42
)
# 预览切片位置
tiler.locate_tiles(slide, n_tiles=20)
# 提取切片
tiler.extract(slide)
## 核心能力
### 1. 切片管理
加载、检查和处理各种格式的全切片图像。
**常见操作:**
- 加载 WSI 文件 (SVS, TIFF, NDPI 等)
- 访问切片元数据(尺寸、放大倍数、属性)
- 生成可视化缩略图
- 使用金字塔图像结构
- 在特定坐标提取区域
**关键类:** `Slide`
**参考:** `references/slide_management.md` 包含关于以下内容的完整文档:
- 切片初始化和配置
- 内置样本数据集(前列腺、卵巢、乳腺、心脏、肾脏组织)
- 访问切片属性和元数据
- 缩略图生成和可视化
- 使用金字塔层级
- 多切片处理工作流
**示例工作流:**
python
from histolab.slide import Slide
from histolab.data import prostate_tissue
# 加载样本数据
prostate_svs, prostate_path = prostate_tissue()
# 初始化切片
slide = Slide(prostate_path, processed_path="output/")
# 检查属性
print(f"Dimensions: {slide.dimensions}")
print(f"Levels: {slide.levels}")
print(f"Magnification: {slide.properties.get('openslide.objective-power')}")
# 保存缩略图
slide.save_thumbnail()
### 2. 组织检测和掩码
自动识别组织区域并过滤背景/伪影。
**常见操作:**
- 创建二值组织掩码
- 检测最大组织区域
- 排除背景和伪影
- 自定义组织分割
- 移除笔迹标注
**关键类:** `TissueMask`, `BiggestTissueBoxMask`, `BinaryMask`
**参考:** `referenc