histolab

轻量级WSI切片提取与预处理。适用于基础切片处理、组织检测、切片提取及H&E图像染色标准化。最适合简单流程、数据集准备及快速切片分析。如需高级空间蛋白质组学、多重成像或深度学习流程,请使用pathml。

安装

热度:9

下载并解压到你的 skills 目录

复制命令,发送给 OpenClaw 自动安装:

下载并安装这个技能 https://openskills.cc/api/download?slug=k-dense-ai-scientific-skills-histolab&locale=zh&source=copy

Histolab - 全切片图像处理与 Tile 提取工具

技能概述


Histolab 是一个专为数字病理设计的 Python 库,用于处理全切片图像(WSI),自动检测组织区域并提取图块,为深度学习模型准备训练数据。

适用场景

1. 深度学习训练数据准备


为病理图像 AI 模型构建训练数据集。Histolab 可以从 SVS、TIFF、NDPI 等格式的全切片图像中批量提取标准大小的图块,自动过滤背景区域,支持按组织密度筛选高质量样本,快速生成平衡的训练数据集。

2. 病理切片可视化与探索


快速浏览和检查病理切片内容。支持生成缩略图、预览组织区域掩膜、可视化图块提取位置,帮助研究人员在正式分析前了解切片质量、组织分布和潜在问题。

3. 基础组织分割与图块提取


执行简单的病理图像预处理任务。包括自动组织检测、背景过滤、三种提取策略(随机采样、网格覆盖、评分筛选),以及基本的图像滤镜处理。适合轻量级管线和快速原型开发。

核心功能

1. 多格式 WSI 加载与管理


支持主流病理切片格式(SVS、TIFF、NDPI 等),基于 OpenSlide 构建,可读取切片元数据(放大倍数、维度、金字塔层级),生成缩略图用于快速预览,提取指定坐标区域的图像数据。

2. 智能组织检测与掩膜


自动识别组织区域并生成二值掩膜,过滤玻璃背景和人工标注。提供三种掩膜类型:TissueMask 检测所有组织区域、BiggestTissueBoxMask 专注于最大组织块、BinaryMask 支持自定义规则。支持预览掩膜效果。

3. 灵活的图块提取策略


  • RandomTiler: 随机采样指定数量的图块,适合探索性分析和训练数据采样

  • GridTiler: 网格化全覆盖提取,适合需要完整组织覆盖的分析场景

  • ScoreTiler: 基于评分函数筛选优质图块,支持 NucleiScorer、CellularityScorer 及自定义评分器
  • 提取前支持预览图块位置,设置组织覆盖率阈值,生成包含元数据的 CSV 报告。

    常见问题

    Histolab 是什么?适合什么场景使用?

    Histolab 是一个轻量级的 Python 库,用于处理数字病理中的全切片图像(WSI)。它提供组织检测、图块提取和基础预处理功能,特别适合以下场景:

  • 为深度学习模型准备病理图像训练数据集

  • 批量处理病理切片并提取标准大小的图块

  • 快速原型开发和简单的图像预处理管线
  • 重要提示:Histolab 定位为基础工具。如果需要处理空间蛋白质组学、多重荧光成像或构建复杂的深度学习管线,建议使用更高级的 PathML 工具。

    Histolab 支持哪些病理切片文件格式?

    Histolab 基于 OpenSlide 构建,支持主流的病理切片格式,包括:

  • SVS (Aperio/Leica 扫描仪)

  • TIFF/TIF (通用格式)

  • NDPI (Hamamatsu NanoZoomer)

  • SCN (Leica SCANSCOPE)

  • MIRAX (3DHistech)

  • VMS/VMU (Olympus)

  • SVSLIDE (Sakura)
  • 使用 Slide 类加载切片后,可以通过 slide.dimensionsslide.levels 查看图像维度和金字塔层级信息。

    RandomTiler、GridTiler 和 ScoreTiler 有什么区别?

    这是 Histolab 提供的三种图块提取策略,适用于不同的使用场景:

    提取器适用场景关键参数特点
    RandomTiler探索性分析、训练数据采样n_tiles(提取数量)、seed(随机种子)快速随机采样,保证结果可重现
    GridTiler完整组织覆盖、空间分析pixel_overlap(重叠像素)系统化网格提取,支持滑动窗口
    ScoreTiler优质样本筛选、质量控制scorer(评分函数)基于 nuclei 密度等指标筛选最佳图块

    建议提取前使用 locate_tiles() 方法预览图块位置,确认效果后再执行完整提取。

    如何使用 Histolab 准备深度学习训练数据?

    使用 Histolab 准备训练数据的基本流程如下:

    from histolab.slide import Slide
    from histolab.tiler import RandomTiler
    
    # 1. 加载切片
    slide = Slide("slide.svs", processed_path="output/")
    
    # 2. 配置提取器
    tiler = RandomTiler(
        tile_size=(512, 512),  # 图块尺寸
        n_tiles=100,           # 提取数量
        level=0,               # 金字塔层级(0=最高分辨率)
        seed=42,               # 随机种子(可重现)
        check_tissue=True,     # 检查组织覆盖率
        tissue_percent=80.0    # 最低组织覆盖率阈值
    )
    
    # 3. 预览图块位置
    tiler.locate_tiles(slide, n_tiles=20)
    
    # 4. 执行提取
    tiler.extract(slide, report_path="tiles_metadata.csv")

    如需筛选细胞密集区域,可使用 ScoreTiler 配合 NucleiScorer

    Histolab 和 PathML 应该选哪个?

    两者定位不同,选择取决于使用场景:

    选择 Histolab

  • 需要快速提取图块用于数据集准备

  • 处理基础的组织检测和过滤任务

  • 构建简单、轻量的预处理管线

  • 只需要处理 H&E 染色图像
  • 选择 PathML

  • 需要处理空间蛋白质组学或多重荧光成像

  • 构建复杂的端到端深度学习管线

  • 需要高级的质量控制和标准化功能

  • 需要处理多种染色类型和更复杂的图像分析
  • 两者可以互补:Histolab 用于快速原型和基础处理,PathML 用于生产级复杂管线。

    Histolab 是开源的吗?免费使用吗?

    是的,Histolab 采用 Apache-2.0 开源许可证,允许自由使用、修改和分发,包括商业用途。安装方式:

    uv pip install histolab

    或使用传统 pip:

    pip install histolab

    项目由 K-Dense Inc. 维护,拥有完整的参考文档和示例代码。