基于Python的全切片(WSI)染色归一化工具,实现了reinhard, macenko, vahadane共三种方法

为了应对数字病理切片受到不同中心、不同扫描设备的影响,先后有不同的研究提出了针对病理图像的染色归一化(stain normalization)方法。本仓库对三种染色归一化方式进行了封装,针对常见的病理图片处理流程实现了染色归一化工具

仓库地址

https://github.com/HaoyuCui/WSI_Normalizer

支持以下主流染色归一化方法

  1. Reinhard Reinhard, Erik, et al. “Color transfer between images.” IEEE Computer graphics and applications 21.5 (2001): 34-41.
  2. Macenko Macenko, Marc, et al. “A method for normalizing histology slides for quantitative analysis.” 2009 IEEE international symposium on biomedical imaging: from nano to macro. IEEE, 2009.
  3. Vahadane Vahadane, Abhishek, et al. “Structure-preserving color normalization and sparse stain separation for histological images.” IEEE transactions on medical imaging 35.8 (2016): 1962-1971.

安装

  1. 克隆本仓库
    git clone https://github.com/HaoyuCui/WSI_Normalizer.git
  2. 进入到根目录,激活虚拟环境,运行 pip install -r requirements.txt 安装依赖文件

运行

  1. 在运行前,确保在原始文件夹这样组织patch块(后缀名支持.png,.jpg和.jpeg)

    ├── data│ ├── slide_1│ │ ├── patch_1.png│ │ ├── patch_2.png│ │ ├── ...│ ├── slide_2│ │ ├── patch_1.png│ │ ├── patch_2.png│ │ ├── ...│ ├── ...│ └── slide_n│ ├── ...│ └── patch_n.png
  2. 然后,修改以下参数
    原始文件夹,存储了以上述树状格式组织的patch块
    输出文件夹
    染色归一化方法,请确保参数位于reinhard, macenko, vahadane
    染色参考图片(可以是数据集中的一员)

    然后运行

    python main.py --target_dir <TARGET FOLDER> --output_dir <OUTPUT FOLDER> --method <NORM METHOD> --target_img <TARGET IMAGE>
  3. 程序将会在自动生成与 一致的目录结构

  4. 本仓库提供了一个示例脚本,可供直接运行:

    python main.py --target_dir eg/origin --output_dir eg/norm --method vahadane --target_img eg/standard.jpg
  5. 运行结果如下:

    如果有问题,欢迎联系我。
    欢迎点赞和收藏,转载请注明出处,谢谢!