cellpose:超人类泛化能力的细胞与细胞核分割工具

a generalist algorithm for cellular segmentation with human-in-the-loop capabilities

Branch70Tags68
FilesLast commitLast update
2 months ago
2 months ago
2 months ago
2 months ago
2 months ago
1 year ago
3 months ago
1 year ago
1 year ago
1 year ago
2 months ago
1 year ago
1 year ago
2 months ago
1 year ago
3 months ago
1 year ago
1 year ago
1 year ago
1 year ago
2 months ago
2 months ago

Cellpose

cellpose

Documentation Status tests codecov PyPI version Downloads Downloads Python version Licence: GPL v3 Contributors website Image.sc forum repo size GitHub stars GitHub forks

Cellpose-SAM:具备超人类泛化能力的细胞与细胞核分割工具。它可针对您的数据进行优化,支持3D应用,能处理含散粒噪声、(各向)异性模糊、欠采样、对比度反转的图像,且不受通道顺序和目标大小影响。

要了解Cellpose-SAM,请阅读论文或观看演讲。关于模型微调的信息,可观看此教程演讲,并查看人机协同训练的示例视频。如需支持,请提交issue

请参见下方的安装说明,也可查阅详细文档:cellpose.readthedocs.io。Cellpose-SAM 网站允许您在Hugging Face上通过免费账户进行图像批量处理。

示例笔记本:

🌟 v4.2+ 更新(2026年6月)🌟

新增 Cellpose4 模型!我们纳入了基于 DINOv3 的全新 Cellpose 模型,即 cpdinocpdino-vitb
我们还更新了 CellposeSAM 模型(cpsam_v2),现在它在低对比度区域预测的伪掩码更少。
要使用这些新模型,请执行 pip install cellpose --upgradepip install git+https://github.com/facebookresearch/dinov3,更多详情请参见此处

🚩 所有 Cellpose 模型均基于采用 CC-BY-NC 许可的数据进行训练。Cellpose 标注数据集同样采用 CC-BY-NC 许可。

引用

如果您使用 Cellpose-SAM,请引用 Cellpose-SAM 的论文
Pachitariu, M., Rariden, M., & Stringer, C. (2025). Cellpose-SAM: superhuman generalization for cellular segmentation. bioRxiv.

如果您使用 Cellpose 1、2 或 3,请引用 Cellpose 1.0 的论文
Stringer, C., Wang, T., Michaelos, M., & Pachitariu, M. (2021). Cellpose: a generalist algorithm for cellular segmentation. Nature methods, 18(1), 100-106.

如果您使用人机协同训练功能,请同时引用 Cellpose 2.0 的论文
Pachitariu, M. & Stringer, C. (2022). Cellpose 2.0: how to train your own model. Nature methods, 1-8.

如果您使用新的图像恢复模型或 cyto3,请同时引用 Cellpose3 的论文
Stringer, C. & Pachitariu, M. (2025). Cellpose3: one-click image restoration for improved segmentation. Nature Methods.

历史更新

v3.1+ 更新(2025年2月)

  • @GFleishman 贡献的大数据支持,使用说明参见此处
  • 新增用于改进 3D 分割的选项,如 flow3D_smoothpretrained_model_ortho,更多信息参见此处
  • 2D 和 3D 场景下的 GPU 加速掩码创建(基准测试
  • 更好地支持 Mac Silicon 芯片(MPS),不过新的掩码创建代码目前暂不支持 Mac

🌟 v3(2024年2月)🌟

Cellpose3 在图形用户界面(GUI)、应用程序接口(API)和命令行界面(CLI)中支持图像恢复功能(结果保存至 _seg.npy 文件)。要了解更多信息……

  • 查阅相关论文
  • 观看关于该算法及其使用方法的教程讲座
  • API 文档请见此处

🌟 v2.0(2022年4月)🌟

Cellpose 2.0 支持人机协同模型训练!要了解更多信息,请查看 Twitter 话题论文评论文章简短讲座,以及教程讲座,该教程将介绍如何在图形用户界面和 Jupyter 笔记本中运行 Cellpose 2.0。观看完整的人机协同视频。有关如何自行使用该功能,请参阅文档,也可查看图形用户界面中“模型”菜单下的帮助信息。

安装

如果您的计算机上已安装 Python 3.8 或更高版本,可以使用 conda 或原生 Python 安装 cellpose。

本地安装(不到 2 分钟)

系统要求

代码支持在 Linux、Windows 和 Mac OS 系统上运行。若要运行图形界面,您需要 Yosemite 或更高版本的 Mac OS。运行该软件至少需要 8GB 内存。对于较大图像和 3D 体数据,可能需要 16GB-32GB 内存。该软件已在 Windows 10 和 Ubuntu 18.04 系统上进行了大量测试,在 Mac OS 上的测试相对较少。如果您在安装过程中遇到问题,请提交 issue。

依赖项

cellpose 依赖于以下优秀的软件包(如果缺失,conda/pip 会自动安装):

选项 1:使用 conda 的安装说明

如果您有旧的 cellpose 环境,可以在创建新环境之前使用 conda env remove -n cellpose 命令将其移除。

如果您使用 GPU,请确保其驱动程序和 cuda 库已正确安装。

  1. 安装 miniforge Python 发行版。请注意,如果您未将 anaconda 添加到路径中,可能需要使用 anaconda 提示符。
  2. 打开包含 python 3 版本 conda 的 anaconda 提示符/命令提示符。
  3. 使用 conda create --name cellpose python=3.12 创建新环境。我们推荐使用 python 3.12,但 python 3.9 和 3.11 也可以正常工作。
  4. 要激活此新环境,请运行 conda activate cellpose
  5. (选项 1)要安装带有 GUI 的 cellpose,请运行 python -m pip install cellpose[gui]。如果您使用的是 zsh 服务器,可能需要使用单引号:python -m pip install 'cellpose[gui]'
  6. (选项 2)要安装不带 GUI 的 cellpose,请运行 python -m pip install cellpose
  7. 安装 DINOv3 包以使用 CellposeDINO 模型:python -m pip install git+https://github.com/facebookresearch/dinov3

要升级 cellpose(包位于 此处),请在环境中运行以下命令:

python -m pip install cellpose --upgrade

请注意,在运行 cellpose 之前,您必须始终运行 conda activate cellpose。如果您想在此环境中运行 jupyter notebooks,则还需运行 python -m pip install notebookpython -m pip install matplotlib

您也可以尝试从基础环境使用以下命令安装 cellpose 及 GUI 依赖项

python -m pip install cellpose[gui]

如果在安装过程中遇到问题,请参阅文档了解更多详情。您也可以使用仓库中包含的 cellpose 环境文件,通过 conda env create -f environment.yml 创建 cellpose 环境,这可能会解决某些依赖问题。

如果这些建议仍无法解决问题,请提交 issue。

选项 2:使用 Python venv 的安装说明

Venv(教程,供感兴趣的用户参考)是 Python 内置的用于创建虚拟环境的工具。如果您不想安装 conda 且机器上已安装 python3,这是一个很好的替代方案。主要区别在于,您需要选择环境和软件包的安装位置。cellpose 将存在于该环境中,无法从其他环境访问。每次运行 cellpose 之前,您需要导航到环境目录并激活它。步骤与 conda 安装类似:

如果您使用 GPU,请确保其驱动程序和 cuda 库已正确安装。

  1. python.org 安装 python3.8 或更高版本。这将是环境中使用的 Python 版本。您可以使用 python --version 检查您的 Python 版本。
  2. 导航到您想要创建环境的目录,运行 python3 -m venv cellpose 创建一个名为 cellpose 的新环境。
  3. 在 Mac/Linux 上使用 source cellpose/bin/activate 激活环境,在 Windows 上使用 cellpose\Scripts\activate 激活环境。终端中应出现前缀 (cellpose)
  4. 使用 pip 将 cellpose 安装到 cellpose 虚拟环境中:python -m pip install cellpose
  5. 安装 cellpose GUI:python -m pip install cellpose[gui]。根据您的终端软件,您可能需要使用引号,例如:python -m pip install 'cellpose[gui]'
  6. 现在,您可以在该环境中通过 python -m cellpose 运行 cellpose,或者如果您在 cellpose 目录中,直接使用 cellpose 运行。
  7. 要退出环境,请运行 deactivate

Windows 或 Linux 上的 GPU 版本(CUDA)

如果您计划处理大量图像,可能需要安装 torch 的 GPU 版本。要在 Python 中使用 NVIDIA GPU,您需要确保已安装适用于您 GPU 的 NVIDIA 驱动程序,可访问此 网站 进行下载。您也可以安装 CUDA Toolkit,或者使用 PyTorch cudatoolkit(将在下方通过 conda 安装)。如果以下安装过程出现问题,建议您自行安装 CUDA Toolkit,可从 此处 选择 11.x 版本之一。

在 Linux 系统上使用最新版本的 PyTorch 时,只要已安装 NVIDIA 驱动程序,通过 pip 安装会默认安装 GPU 版本。您可以通过打开 GUI 来检查 GPU 支持是否正常工作。如果 GPU 工作正常,GPU 框将被勾选,并且命令行中会显示 CUDA 版本。

如果无法正常工作,则需要卸载 CPU 版本的 torch:

pip uninstall torch

要安装 torch 的 GPU 版本,请按照此处的说明操作。pip 或 conda 安装应可跨平台使用,您需要安装 torch 和 torchvision,例如对于 windows + cuda 12.6,命令为

pip3 install torch torchvision --index-url https://download.pytorch.org/whl/cu126

有关如何安装多个旧版本的信息可在此处获取。安装完成后,您可以通过 conda list 命令查看 pytorch,其版本信息中应显示 cuXX.X,而非 cpu

GitHub 版本的安装

按照上述步骤安装依赖项。然后运行

pip install git+https://www.github.com/mouseland/cellpose.git

如果您希望获得代码的编辑权限,请在 github 仓库文件夹中运行 pip install -e .。如果您想恢复到 pip 版本的 cellpose,请运行 pip install cellpose

无需本地 Python 安装即可运行 cellpose 1.0

您可以先在 website 上快速试用 Cellpose(许多功能未启用)。如果您在本地计算机上遇到 MKL 问题或运行速度问题(并且正在处理 3D 体积),也推荐使用 colab 笔记本。Colab 不允许您运行 GUI,但您可以在 colab 中保存 *_seg.npy 文件,下载后可在 GUI 中打开。

可执行文件:您可以下载适用于 Windows 10Mac OS(High Sierra 或更高版本)的可执行文件,这些文件是使用 PyInstaller 在 Intel 处理器上制作的(MKL 加速有效,但不支持 GPU)。请注意,在这两种情况下,打开文件都需要几秒钟时间。

  • Mac OS 文件将下载为 cellpose_maccellpose_mac.dms。您需要将其设为可执行文件并通过终端运行:
  1. 打开终端并运行 cd ~/Downloads/
  2. 运行 chmod 777 cellpose_macchmod 777 cellpose_mac.dms,使文件成为可执行文件。
  3. 运行 ./cellpose_mac./cellpose_mac.dms 打开 cellpose GUI。cellpose 的消息将在终端中打印。
  4. 您也可以使用命令行界面运行,例如 ./cellpose_mac --dir ~/Pictures/ --chan 2 --save_png
  • Windows 10 文件是一个 exe 文件,您可以点击它来运行 GUI。您也可以使用命令行界面运行,例如 cellpose.exe --dir Pictures/ --chan 2 --save_png

在本地运行 cellpose

最快的开始方式是从命令行终端打开 GUI。如果您没有将 anaconda 添加到路径,可能需要打开 anaconda 提示符:

python -m cellpose

cellpose 首次运行时,会从网站下载最新的可用训练模型权重。

现在,您可以将任何图像(.tif、.png、.jpg、.gif)拖放到 GUI 中,运行 Cellpose 进行自动分割,和/或手动分割它们。当 GUI 正在处理时,您会看到进度条逐渐填满,在此期间您无法点击 GUI 中的任何内容。若要了解 GUI 的具体操作信息,您可以查看打开 GUI 时使用的终端/命令提示符。示例数据请参见 website 或此 zip file。为获得最佳的准确性和运行性能,请调整图像大小,使细胞的横向尺寸小于 100 像素。如果您有 3D tiff 文件,请使用 python -m cellpose --Zstack 命令打开 GUI。

分步演示

  1. 下载此 zip file 图像压缩包并解压。这些是论文中测试图像的子集。
  2. 使用 python -m cellpose 命令启动 GUI。
  3. 将文件夹中的图像拖入 GUI。
  4. 设置模型(演示中均为 cyto)和要分割的通道(演示中均为 green)。如果您正在分割 cyto 且有可用的细胞核通道,可选择设置第二个通道。
  5. 点击 calibrate 按钮以估计图像中物体的大小。或者(推荐)您可以手动设置 cell diameter 并按 ENTER 键。您会在图像左下角看到一个红色圆盘,表示您设置的大小。
  6. 点击 run segmentation 按钮。如果勾选了 MASKS ON,您应该会看到图像上绘制了掩码。
  7. 现在,您可以点击左/右箭头键浏览文件夹并分割另一张图像。

要在图像上绘制 ROI,您可以右键单击,然后悬停以完成 ROI(不要右键单击并拖动)。要移除 ROI,请按住 CTRL 键的同时左键单击。更多详细信息请参见 here

在标准笔记本电脑或台式机(mkl 正常工作)上,演示图像的每个步骤运行时间应不到几秒钟。

3D分割

对于多通道、多Z轴的tiff文件,预期格式为Z x 通道数 x Ly x Lx。使用python -m cellpose --Zstack打开用于3D堆栈的GUI。

贡献

我们乐于接受用于修复错误的小型PR,但通常不会接受过多PR,因为我们审查PR的时间有限。请确保所有测试在本地使用--runslow选项都能通过。此外,我们希望PR和代码由您亲自创建和编写,而非使用AI代理来解决问题和实现代码。您应该能够自己解释修复内容,并请在PR中简要说明。

预训练模型下载

当您首次在cellpose中运行预训练模型时,模型将自动从huggingface(Cellpose4+)或官网(Cellpose1-3)下载。如果您在下载时遇到问题,可以从此谷歌云盘压缩文件下载,解压文件并将模型放在您主目录下的.cellpose/models/路径中,例如在Windows上,路径为C:/Users/您的用户名/.cellpose/models/,在Linux上则为/home/您的用户名/.cellpose/models/,因此/home/您的用户名/.cellpose/models/cyto_0就是其中一个模型的完整路径。如果您无法访问谷歌云盘,模型也可在百度网盘获取:链接:https://pan.baidu.com/s/1CARpRGCBHIYaz7KeyoX-fg ;提取码:pose ;感谢@qixinbo!

Introduction

a generalist algorithm for cellular segmentation with human-in-the-loop capabilities

Customize your domain
332.35 K645Visit GitHub