cellpose

cellpose

多功能细胞分割和图像修复工具

Cellpose是一款开源的细胞分割和图像处理工具,适用于各类生物图像分析。它支持细胞和细胞核的通用分割,可针对特定数据进行优化。Cellpose提供图形界面、API和命令行接口,支持人机交互训练。最新版本还增加了图像去噪、去模糊和上采样等修复功能,进一步提升分割效果。该工具具有高度灵活性和准确性,能满足研究人员的多样化需求。

Cellpose细胞分割图像处理机器学习生物医学图像Github开源项目

<p><b>Cellpose</b></p>

<img src="https://yellow-cdn.veclightyear.com/0a4dffa0/0b62c239-a18f-4133-b755-b037dd187c20.png?raw=True" width="250" title="cellpose" alt="cellpose" align="right" vspace = "50">

文档状态 测试 代码覆盖率 PyPI版本 下载量 月下载量 Python版本 许可证: GPL v3 贡献者 网站 Image.sc论坛 仓库大小 GitHub星标 GitHub分支

这是一种通用的细胞和细胞核分割算法(v1.0),可以针对您自己的数据进行优化(v2.0),并且(新功能)执行图像修复(v3.0)。

Cellpose由Carsen Stringer和Marius Pachitariu编写。要了解Cellpose3(图像修复),请阅读论文。要了解Cellpose 2.0(人机交互循环),请阅读论文或观看演讲。要了解Cellpose 1.0,请阅读论文或观看演讲。如需支持,请提交问题。 请查看下方的安装说明https://github.com/MouseLand/cellpose/blob/main/README.md/#Installation,也请查看cellpose.readthedocs.io上的详细文档以获取更多信息。

:star2: v3(2024年2月):star2:

Cellpose3在图形用户界面、API和命令行界面中启用了图像恢复功能(保存为_seg.npy)。想了解更多...

  • 查看论文
  • API文档在此
  • 图像恢复的Google Colab示例笔记本:在Colab中打开,使用新的CellposeDenoiseModel
  • 使用新的超通用"cyto3"模型的Google Colab示例笔记本:在Colab中打开。使用model_type="cyto3"尝试新的cyto3超通用Cellpose模型。
去噪去模糊上采样
<img src="https://yellow-cdn.veclightyear.com/0a4dffa0/aeebf0db-7ddb-4117-903a-6c6ec8ed3b7a.gif?raw=True" width="350" title="cellpose去噪" alt="cellpose去噪示例"><img src="https://yellow-cdn.veclightyear.com/0a4dffa0/233f1a64-fe55-4010-b8d7-6bcf75c05e57.gif?raw=True" width="350" title="cellpose去模糊" alt="cellpose去模糊示例"><img src="https://yellow-cdn.veclightyear.com/0a4dffa0/c8809b7d-4377-427f-a29a-16bf0b974d61.gif?raw=True" width="350" title="cellpose上采样" alt="cellpose上采样示例">

引用

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

如果您使用人机交互训练,请同时引用Cellpose 2.0论文 Pachitariu, M. & Stringer, C. (2022). Cellpose 2.0: how to train your own model. <em>Nature methods</em>, 1-8.

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

:triangular_flag_on_post: Cellpose中的所有模型,除了yeast_BF_cp3yeast_PhC_cp3deepbacs_cp3之外,都在一定程度上使用了CC-BY-NC许可的数据进行训练。Cellpose注释数据集也采用CC-BY-NC许可。

:star2: v2.0(2022年4月):star2:

Cellpose 2.0支持人机交互式模型训练!了解更多信息...

  • 查看这个Twitter帖子以获取概述。
  • 查看这篇论文了解算法和性能的更多细节。此外,这里有一篇简短的论文评论链接
  • 观看简短的概述讲座和更长的教程讲座,介绍如何在GUI和Jupyter notebook中运行Cellpose 2.0。
  • 查看完整的人机交互视频
  • 查看Colab notebook,获取云端GPU访问权限以训练模型或运行自定义模型:在Colab中打开
  • 查看文档了解如何使用,并查看GUI中"Models"菜单的帮助信息。

Cellpose不再支持Mxnet。如需使用Mxnet,请使用v1.0.2版本(不推荐)。

安装

如果您的电脑上安装了Python 3.8或更高版本,可以使用conda或原生Python安装Cellpose。

本地安装(< 2分钟)

系统要求

支持在Linux、Windows和Mac OS上运行代码。要运行图形界面,您需要Yosemite之后的Mac OS版本。运行软件至少需要8GB RAM。对于较大的图像和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. 安装Anaconda Python发行版。注意,如果没有将anaconda添加到路径中,可能需要使用anaconda提示符。
  2. 打开anaconda提示符/命令提示符,确保路径中包含Python 3conda
  3. 使用conda create --name cellpose python=3.8创建新环境。我们推荐使用Python 3.8,但Python 3.9和3.10也可能正常工作。
  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

要升级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安装Python 3.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通过python -m pip install cellpose命令在cellpose虚拟环境中安装cellpose。

  5. 使用python -m pip install cellpose[gui]安装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工具包,或使用pytorch cudatoolkit(通过下面的conda安装)。如果遇到安装问题,我们建议自行安装CUDA工具包,从这里选择11.x版本之一。

接下来需要卸载CPU版本的torch:

pip uninstall torch

要安装torch的GPU版本,请按照这里的说明操作。强烈推荐使用conda安装,然后选择你的GPU支持的CUDA版本(较新的GPU可能需要高于10.2的CUDA版本)。例如,这个命令将在Linux和Windows上安装11.6版本(注意删除了torchvisiontorchaudio命令,因为cellpose不需要它们):

conda install pytorch pytorch-cuda=11.6 -c pytorch -c nvidia

如果最新的CUDA版本不工作,尝试较旧的版本,如cuda 11.3:

conda install pytorch==1.12.0 cudatoolkit=11.3 -c pytorch

有关如何安装几个较旧版本的信息可在这里找到。安装后,你可以检查conda list中的pytorch,其版本信息应该包含cuXX.X,而不是cpu

安装GitHub版本

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

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

如果你想要编辑代码的能力,在GitHub仓库文件夹中运行pip install -e .。如果你想回到cellpose的pip版本,只需运行pip install cellpose

无需本地Python安装运行cellpose 1.0

你可以先在网站上快速试用Cellpose(许多功能被禁用)。

你还可以在Google Colab上使用GPU运行Cellpose:

  • 基于代码的notebook:在Colab中打开
  • @pr4deepr编写的更加用户友好的2D分割notebook:在Colab中打开
  • @guijacquemet编写的用户友好的ZeroCostDL4Mic notebook,包括训练cellpose模型:在Colab中打开

如果你在本地计算机上遇到MKL问题或运行速度问题(尤其是处理3D数据时),推荐使用Colab notebooks。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图形界面。cellpose的消息将显示在终端中。
  4. 您也可以使用命令行界面运行,例如./cellpose_mac --dir ~/Pictures/ --chan 2 --save_png
  • Windows 10文件是一个exe文件,您可以点击它来运行图形界面。您也可以使用命令行界面运行,例如cellpose.exe --dir Pictures/ --chan 2 --save_png

在本地运行cellpose

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

python -m cellpose

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

现在您可以将任何图像(.tif、.png、.jpg、.gif)拖放到图形界面中并运行Cellpose,和/或手动分割它们。当图形界面处理时,您会看到进度条填满,在此期间您无法点击图形界面中的任何内容。有关图形界面正在执行的操作的更多信息,您可以查看打开图形界面的终端/提示符。示例数据请参见网站或此zip文件。为获得最佳准确性和运行时性能,请调整图像大小使细胞宽度小于100像素。

对于具有多个Z层的3D数据,请使用3D版本的图形界面:

python -m cellpose --Zstack

分步演示

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

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

在演示图像上,在标准笔记本电脑或台式机上(MKL正常工作的情况下),这些步骤中的每一步都应该在几秒钟内完成。

3D分割

对于多通道、多Z层的tiff文件,预期的格式是Z x 通道 x Ly x Lx。

下载预训练模型

当您首次在cellpose中运行预训练模型时,模型将自动从网站下载。如果您在下载时遇到问题,可以从这个Google Drive zip文件下载,解压文件并将模型放在您的主目录下的.cellpose/models/路径中,例如在Windows上路径为C:/Users/YOUR_USERNAME/.cellpose/models/,在Linux上路径为/home/YOUR_USERNAME/.cellpose/models/,因此/home/YOUR_USERNAME/.cellpose/models/cyto_0是一个模型的完整路径示例。如果您无法访问Google Drive,模型也可在百度网盘上获取:链接:https://pan.baidu.com/s/1CARpRGCBHIYaz7KeyoX-fg ;提取码:pose ;感谢@qixinbo!

旧版软件发布

更新v1.0(2022年1月)

Cellpose已经相对稳定一段时间了。小的错误将继续修复,但我们现在发布一个参考1.0版本。Cellpose的更大更新将朝着即将发布的新2.0候选版本进行。

此更新修复了GUI和绘图中的错误。它还停止了模型权重的重新加载以提高速度。resample=True再次成为默认设置,如同早期版本,可以使用--no_resample关闭。现在默认关闭日志记录。在CLI中使用--verbose标志或在脚本/笔记本中通过以下方式打开:

from cellpose.io import logger_setup
logger_setup();

要安装此版本,请使用

pip install cellpose==1.0.2

更新v0.7(2021年11月)

查看Omnipose,这是Cellpose的一个扩展,用于长丝状细菌。Omnipose由Kevin Cutler (@kevinjohncutler)编写。要了解Omnipose,请阅读论文

更新v0.6(2020年12月)

Pytorch现在是cellpose的默认深度神经网络软件。Mxnet仍将得到支持。要安装mxnet(CPU版本),请运行pip install mxnet-mkl。要在notebook中使用mxnet,在创建模型时声明torch=False,例如model = models.Cellpose(torch=False)。要在命令行中使用mxnet,添加标志--mxnet,例如python -m cellpose --dir ~/images/ --mxnet。在GPU上运行时,pytorch实现比mxnet实现快20%,而在CPU上运行时慢20%。

默认情况下,动态计算使用双线性插值而非最近邻插值。在model.eval中设置interp=False可以关闭此功能。双线性插值在CPU上会稍慢,但如果使用torch且启用GPU,它比最近邻插值更快。

计时(v0.6版本)

您可以通过添加--check_mkl标志来检查cellpose是否正在运行MKL版本(如果您使用的是CPU而非GPU)。如果不使用MKL,cellpose会慢得多。以下是Cellpose的运行时间,分为运行深度神经网络(DNN)的时间和后处理(梯度追踪、分割、质量控制等)的时间。DNN运行时间显示了使用GPU(Nvidia GTX 1080Ti)或CPU(Intel 10核7900X)的情况,有无网络集成(4net vs 1net)。无论是否进行集成或使用CPU/GPU版本,后处理运行时间都相似。运行时间针对不同的图像大小显示,所有图像的细胞直径均为30像素(我们训练集的平均值)。

256像素512像素1024像素
DNN(1net,GPU)0.054秒0.12秒0.31秒
DNN(1net,CPU)0.30秒0.65秒2.4秒
DNN(4net,GPU)0.23秒0.41秒1.3秒
DNN(4net,CPU)1.3秒2.5秒9.1秒
后处理(CPU)0.32秒1.2秒6.1秒

编辑推荐精选

Trae

Trae

字节跳动发布的AI编程神器IDE

Trae是一种自适应的集成开发环境(IDE),通过自动化和多元协作改变开发流程。利用Trae,团队能够更快速、精确地编写和部署代码,从而提高编程效率和项目交付速度。Trae具备上下文感知和代码自动完成功能,是提升开发效率的理想工具。

AI工具TraeAI IDE协作生产力转型热门
问小白

问小白

全能AI智能助手,随时解答生活与工作的多样问题

问小白,由元石科技研发的AI智能助手,快速准确地解答各种生活和工作问题,包括但不限于搜索、规划和社交互动,帮助用户在日常生活中提高效率,轻松管理个人事务。

热门AI助手AI对话AI工具聊天机器人
Transly

Transly

实时语音翻译/同声传译工具

Transly是一个多场景的AI大语言模型驱动的同声传译、专业翻译助手,它拥有超精准的音频识别翻译能力,几乎零延迟的使用体验和支持多国语言可以让你带它走遍全球,无论你是留学生、商务人士、韩剧美剧爱好者,还是出国游玩、多国会议、跨国追星等等,都可以满足你所有需要同传的场景需求,线上线下通用,扫除语言障碍,让全世界的语言交流不再有国界。

讯飞智文

讯飞智文

一键生成PPT和Word,让学习生活更轻松

讯飞智文是一个利用 AI 技术的项目,能够帮助用户生成 PPT 以及各类文档。无论是商业领域的市场分析报告、年度目标制定,还是学生群体的职业生涯规划、实习避坑指南,亦或是活动策划、旅游攻略等内容,它都能提供支持,帮助用户精准表达,轻松呈现各种信息。

AI办公办公工具AI工具讯飞智文AI在线生成PPTAI撰写助手多语种文档生成AI自动配图热门
讯飞星火

讯飞星火

深度推理能力全新升级,全面对标OpenAI o1

科大讯飞的星火大模型,支持语言理解、知识问答和文本创作等多功能,适用于多种文件和业务场景,提升办公和日常生活的效率。讯飞星火是一个提供丰富智能服务的平台,涵盖科技资讯、图像创作、写作辅助、编程解答、科研文献解读等功能,能为不同需求的用户提供便捷高效的帮助,助力用户轻松获取信息、解决问题,满足多样化使用场景。

热门AI开发模型训练AI工具讯飞星火大模型智能问答内容创作多语种支持智慧生活
Spark-TTS

Spark-TTS

一种基于大语言模型的高效单流解耦语音令牌文本到语音合成模型

Spark-TTS 是一个基于 PyTorch 的开源文本到语音合成项目,由多个知名机构联合参与。该项目提供了高效的 LLM(大语言模型)驱动的语音合成方案,支持语音克隆和语音创建功能,可通过命令行界面(CLI)和 Web UI 两种方式使用。用户可以根据需求调整语音的性别、音高、速度等参数,生成高质量的语音。该项目适用于多种场景,如有声读物制作、智能语音助手开发等。

咔片PPT

咔片PPT

AI助力,做PPT更简单!

咔片是一款轻量化在线演示设计工具,借助 AI 技术,实现从内容生成到智能设计的一站式 PPT 制作服务。支持多种文档格式导入生成 PPT,提供海量模板、智能美化、素材替换等功能,适用于销售、教师、学生等各类人群,能高效制作出高品质 PPT,满足不同场景演示需求。

讯飞绘文

讯飞绘文

选题、配图、成文,一站式创作,让内容运营更高效

讯飞绘文,一个AI集成平台,支持写作、选题、配图、排版和发布。高效生成适用于各类媒体的定制内容,加速品牌传播,提升内容营销效果。

热门AI辅助写作AI工具讯飞绘文内容运营AI创作个性化文章多平台分发AI助手
材料星

材料星

专业的AI公文写作平台,公文写作神器

AI 材料星,专业的 AI 公文写作辅助平台,为体制内工作人员提供高效的公文写作解决方案。拥有海量公文文库、9 大核心 AI 功能,支持 30 + 文稿类型生成,助力快速完成领导讲话、工作总结、述职报告等材料,提升办公效率,是体制打工人的得力写作神器。

openai-agents-python

openai-agents-python

OpenAI Agents SDK,助力开发者便捷使用 OpenAI 相关功能。

openai-agents-python 是 OpenAI 推出的一款强大 Python SDK,它为开发者提供了与 OpenAI 模型交互的高效工具,支持工具调用、结果处理、追踪等功能,涵盖多种应用场景,如研究助手、财务研究等,能显著提升开发效率,让开发者更轻松地利用 OpenAI 的技术优势。

下拉加载更多