histolab
轻量级WSI切片提取与预处理。用于基础切片处理、组织检测、切片提取以及H&E图像的染色标准化。最适合简单的处理流程、数据集准备和快速的基于切片的分析。针对高级空间蛋白组学、多重成像或深度学习流程,请使用pathml。
Histolab - 轻量级病理图像处理与瓦片提取工具
技能概述
Histolab 是一个专为数字病理学设计的 Python 库,用于处理全切片图像(WSI),实现组织检测、信息瓦片提取和深度学习数据集准备。
适用场景
1. 深度学习病理图像数据集准备
使用 Histolab 从病理切片中大规模提取高质量图像瓦片,为 CNN、Transformer 等深度学习模型准备训练数据。支持随机采样、网格覆盖和评分驱动三种提取策略,可根据组织密度、细胞核数量等指标筛选最优瓦片。
2. 数字病理学图像预处理与分析
对 H&E 染色的病理切片进行组织区域自动识别、背景过滤和染色标准化,确保多张切片之间染色一致性。适用于病理学研究中的图像质量评估、组织分割和定量分析任务。
3. 病理切片可视化与质量评估
快速生成病理切片缩略图、组织掩膜可视化和瓦片位置预览,支持批量处理多张切片并生成质量报告。适用于病理学家快速浏览样本、评估染色质量,以及为标注工作提供预处理图像。
核心功能
1. 智能组织检测与掩膜生成
自动识别并分割病理切片中的组织区域,排除背景和人工标注痕迹。提供 TissueMask(全组织分割)、BiggestTissueBoxMask(最大组织区域)和自定义 BinaryMask 三种掩膜策略,支持通过形态学过滤器调整检测灵敏度,适应不同染色质量和组织类型的切片。
2. 多策略瓦片提取
提供三种瓦片提取方式:RandomTiler(随机采样,适合数据集构建)、GridTiler(网格覆盖,适合全片分析)和 ScoreTiler(评分驱动,优先提取信息密集区域)。支持多金字塔级别提取、重叠控制、组织含量过滤和自定义评分函数(如 NucleiScorer 细胞核密度评分)。
3. 染色标准化与预处理
内置 Macenko 和 Reinhard 两种染色标准化算法,消除不同切片和扫描仪之间的染色差异,确保深度学习模型训练数据的一致性。提供丰富的图像处理过滤器管道,包括灰度转换、自适应阈值、形态学操作、小对象移除等,用于构建定制化的组织检测和质量控制流程。
常见问题
Histolab 支持哪些图像格式?对系统有什么要求?
Histolab 通过 OpenSlide 支持多种 WSI 格式,包括 SVS、TIFF、NDPI、SCN、BIF 等。需要先安装 OpenSlide 系统库,然后通过 uv pip install histolab 安装。Histolab 0.7.0 支持 Python 3.8–3.11,仅兼容 Linux 和 macOS,Windows 用户可通过 WSL 或 Docker 使用。
Histolab 与 PathML 有什么区别?应该如何选择?
Histolab 专注于基础病理图像处理管道,适用于简单的瓦片提取、组织检测和染色标准化场景,代码简洁、上手快。PathML 则面向高级空间蛋白质组学、多路成像和复杂深度学习管道,提供更丰富的数据类型和分析功能。如果您的需求是基础的数据集准备和快速瓦片分析,优先选择 Histolab;如需处理多标记数据或构建端到端 ML 管道,考虑使用 PathML。
如何使用 Histolab 准备深度学习训练数据?
典型工作流程:1)使用 Slide 类加载病理切片并检查缩略图确认组织存在;2)使用 locate_mask() 预览组织掩膜,必要时调整过滤器参数;3)选择合适的提取器(如 RandomTiler 设置 n_tiles=1000),使用 locate_tiles() 预览瓦片位置;4)调用 extract() 方法提取瓦片到指定目录,可选择生成 CSV 报告记录瓦片元数据和评分。整个过程支持日志记录和批量处理多张切片。