Package: cellpose
CellposeA generalist algorithm for cell and nucleus segmentation (v1.0) that can be optimized for your own data (v2.0) and (NEW) perform image restoration (v3.0).Cellpose was written by Carsen Stringer and Marius Pachitariu. To learn about Cellpose3 (image restoration), read thepaper. To learn about Cellpose 2.0 (human-in-the-loop), read thepaperor watch thetalk. To learn about Cellpose 1.0, read thepaperor watch thetalk. For support, please open anissue.Please see install instructionsbelow, and also check out the detailed documentation atcellpose.readthedocs.iofor more information.:star2: v3 (Feb 2024) :star2:Cellpose3 enables image restoration in the GUI, API and CLI (saved to_seg.npy). To learn more...Check out thepaper.Check out the paperthread.API documentationhereExample google colab notebook for image restoration:.Example google colab notebook with new super-generalist "cyto3" model:.Try out the newcyto3super-generalist Cellpose model withmodel_type="cyto3". There are some Cellpose API changes from v2.0 which will be documented soon.CITATIONIf you use Cellpose 1 or 2, please cite the Cellpose 1.0paper:Stringer, C., Wang, T., Michaelos, M., & Pachitariu, M. (2021). Cellpose: a generalist algorithm for cellular segmentation.Nature methods, 18(1), 100-106.If you use the new human-in-the-loop training, please also cite the Cellpose 2.0paper:Pachitariu, M. & Stringer, C. (2022). Cellpose 2.0: how to train your own model.Nature methods, 1-8.If you use the restoration models, please also cite the Cellpose3paper:Stringer, C. & Pachitariu, M. (2024). Cellpose3: one-click image restoration for improved segmentation.bioRxiv.:triangular_flag_on_post: All models in Cellpose, exceptyeast_BF_cp3,yeast_PhC_cp3, anddeepbacs_cp3, are trained on some amount of data that isCC-BY-NC. The Cellpose annotated dataset is also CC-BY-NC.:star2: v2.0 (April 2022) :star2:Cellpose 2.0 now allows human-in-the-loop training of models! To learn more...Check out the twitterthreadfor an overview.Check out thepaperfor more details on the algorithm and the performance. Also, there's a short review of the paper availablehere.Watch the short introtalkand watch the longertutorial talkwhich goes through running Cellpose 2.0 in the GUI and a jupyter notebook.Check out the full human-in-the-loopvideo.Check out the colab notebook to get cloud access to a GPU to train your models or run your custom models:.See how to use it yourself in thedocsand also check out the help info in theModelsmenu in the GUI.Results of human-in-the-loopand updated GUI:Mxnet is no longer supported in cellpose. To use mxnet, please use v1.0.2.InstallationLocal installation (< 2 minutes)System requirementsLinux, Windows and Mac OS are supported for running the code. For running the graphical interface you will need a Mac OS later than Yosemite. At least 8GB of RAM is required to run the software. 16GB-32GB may be required for larger images and 3D volumes. The software has been heavily tested on Windows 10 and Ubuntu 18.04 and less well-tested on Mac OS. Please open an issue if you have problems with installation.Dependenciescellpose relies on the following excellent packages (which are automatically installed with conda/pip if missing):pytorchpyqtgraphPyQt5numpy(>=1.16.0)numbascipynatsortInstructionsIf you have an oldercellposeenvironment you can remove it withconda env remove -n cellposebefore creating a new one.If you are using a GPU, make sure its drivers and the cuda libraries are correctly installed.Install anAnacondadistribution of Python. Note you might need to use an anaconda prompt if you did not add anaconda to the path.Open an anaconda prompt / command prompt which hascondaforpython 3in the pathCreate a new environment withconda create --name cellpose python=3.8. We recommend python 3.8, but python 3.9 and 3.10 will likely work as well.To activate this new environment, runconda activate cellposeTo install the minimal version of cellpose, runpython -m pip install cellpose.To install cellpose and the GUI, runpython -m pip install cellpose[gui]. If you're on a zsh server, you may need to use ' ' around the cellpose[gui] call:python -m pip install 'cellpose[gui]'.To upgrade cellpose (packagehere), run the following in the environment:python-mpipinstallcellpose--upgradeNote you will always have to runconda activate cellposebefore you run cellpose. If you want to run jupyter notebooks in this environment, then alsopython -m pip install notebookandpython -m pip install matplotlib.You can also try to install cellpose and the GUI dependencies from your base environment using the commandpython-mpipinstallcellpose[gui]If you haveissueswith installation, see thedocsfor more details. You can also use the cellpose environment file included in the repository and create a cellpose environment withconda env create -f environment.ymlwhich may solve certain dependency issues.If these suggestions fail, open an issue.GPU version (CUDA) on Windows or LinuxIf you plan on running many images, you may want to install a GPU version oftorch(if it isn't already installed).To use your NVIDIA GPU with python, you will first need to install the NVIDIA driver for your GPU, check out thiswebsiteto download it. You can also install the CUDA toolkit, or use the pytorch cudatoolkit (installed below with conda). If you have trouble with the below install, we recommend installing the CUDA toolkit yourself, choosing one of the 11.x releaseshere.Next we need to remove the CPU version of torch:pip uninstall torchTo install the GPU version of torch, follow the instructionshere. The conda install is strongly recommended, and then choose the CUDA version that is supported by your GPU (newer GPUs may need newer CUDA versions > 10.2). For instance this command will install the 11.6 version on Linux and Windows (note thetorchvisionandtorchaudiocommands are removed because cellpose doesn't require them):conda install pytorch pytorch-cuda=11.6 -c pytorch -c nvidiaIf the latest CUDA versions don't work, try an older version like cuda 11.3:conda install pytorch==1.12.0 cudatoolkit=11.3 -c pytorchInfo on how to install several older versions is availablehere. After install you can checkconda listforpytorch, and its version info should havecuXX.X, notcpu.Installation of github versionFollow steps from above to install the dependencies. Then runpip install git+https://www.github.com/mouseland/cellpose.gitIf you want edit ability to the code, in the github repository folder, runpip install -e .. If you want to go back to the pip version of cellpose, then saypip install cellpose.Run cellpose 1.0 without local python installationYou can quickly try out Cellpose on thewebsitefirst (some features disabled).You can also run Cellpose in google colab with a GPU:a code-based notebook:a more user-friendly notebook for 2D segmentation written by@pr4deepr:a user-friendlyZeroCostDL4Micnotebook that includes training cellpose models, written by@guijacquemet:The colab notebooks are recommended if you have issues with MKL or run speed on your local computer (and are running 3D volumes). Colab does not allow you to run the GUI, but you can save*_seg.npyfiles in colab that you can download and open in the GUI.Executable file: You can download an executable file forWindows 10or forMac OS(High Sierra or greater) that were made using PyInstaller on Intel processors (MKL acceleration works, but no GPU support). Note in both cases it will take a few seconds to open.TheMac OSfile will download ascellpose_macORcellpose_mac.dms. You will need to make it into an executable file and run it through the terminal:Open a terminal and runcd ~/Downloads/.Runchmod 777 cellpose_macORchmod 777 cellpose_mac.dmsto make the file executable.Run./cellpose_macOR./cellpose_mac.dmsto open the cellpose GUI. Messages from cellpose will be printed in the terminal.You can also run using the command line interface, e.g. as./cellpose_mac --dir ~/Pictures/ --chan 2 --save_png.TheWindows 10file is an exe and you can click on it to run the GUI. You can also run using the command line interface, e.g. ascellpose.exe --dir Pictures/ --chan 2 --save_pngRun cellpose locallyThe quickest way to start is to open the GUI from a command line terminal. You might need to open an anaconda prompt if you did not add anaconda to the path:python -m cellposeThe first time cellpose runs it downloads the latest available trained model weights from the website.You can nowdrag and dropany images (*.tif, *.png, *.jpg, *.gif) into the GUI and run Cellpose, and/or manually segment them. When the GUI is processing, you will see the progress bar fill up and during this time you cannot click on anything in the GUI. For more information about what the GUI is doing you can look at the terminal/prompt you opened the GUI with. For example data, seewebsiteor this google drivefolder. For best accuracy and runtime performance, resize images so cells are less than 100 pixels across.Step-by-step demoDownload thisfolderof images and unzip it. These are a subset of the test images from the paper.Start the GUI withpython -m cellpose.Drag an image from the folder into the GUI.Set the model (in demo all arecyto) and the channel you want to segment (in demo all aregreen). Optionally set the second channel if you are segmentingcytoand have an available nucleus channel.Click thecalibratebutton to estimate the size of the objects in the image. Alternatively (RECOMMENDED) you can set thecell diameterby hand and press ENTER. You will see the size you set as a red disk at the bottom left of the image.Click therun segmentationbutton. If MASKS ON is checked, you should see masks drawn on the image.Now you can click the LEFT/RIGHT arrow keys to move through the folder and segment another image.To draw ROIs on the image you can right-click then hover to complete the ROI (do not right-click and drag). To remove ROIs left-click while holding down CTRL. See more detailshere.On the demo images each of these steps should run in less than a few seconds on a standard laptop or desktop (with mkl working).3D segmentationFor multi-channel, multi-Z tiff's, the expected format is Z x channels x Ly x Lx.Download of pretrained modelsThe models will be downloaded automatically from thewebsitewhen you first run a pretrained model in cellpose. If you are having issues with the downloads, you can download them from thisgoogle drive zip file, unzip the file and put the models in your home directory under the path .cellpose/models/, e.g. on Windows this would be C:/Users/YOUR_USERNAME/.cellpose/models/ or on Linux this would be /home/YOUR_USERNAME/.cellpose/models/, so /home/YOUR_USERNAME/.cellpose/models/cyto_0 is the full path to one model for example. If you cannot access google drive, the models are also available on baidu: Link：https://pan.baidu.com/s/1CARpRGCBHIYaz7KeyoX-fg; Fetch code：pose ; thanks to @qixinbo!Older software releasesUPDATE v1.0 (Jan 2022)Cellpose has been relatively stable for a while now. Small bugs will continue to be fixed, but we are now releasing a reference 1.0 version. Larger updates to Cellpose will go towards a new 2.0 candidate version to be released soon.This update fixes bugs in GUI and plotting. It also stops model weight reloading to improve speed.resample=Trueis default again as in earlier releases, turn off with--no_resample. Now logging is turned off by default. Turn on in CLI with--verboseflag or in a script/notebook byfrom cellpose.io import logger_setup
logger_setup();To install this version please usepip install cellpose==1.0.2UPDATE v0.7 (Nov 2021)Check outOmnipose, an extension of Cellpose for long filamentous bacteria. Omnipose was written by Kevin Cutler (@kevinjohncutler). To learn about Omnipose, read thepaper.UPDATE v0.6 (Dec 2020)Pytorch is now the default deep neural network software for cellpose. Mxnet will still be supported. To install mxnet (CPU), runpip install mxnet-mkl. To use mxnet in a notebook, declaretorch=Falsewhen creating a model, e.g.model = models.Cellpose(torch=False). To use mxnet on the command line, add the flag--mxnet, e.g.python -m cellpose --dir ~/images/ --mxnet. The pytorch implementation is 20% faster than the mxnet implementation when running on the GPU and 20% slower when running on the CPU.Dynamics are computed using bilinear interpolation by default instead of nearest neighbor interpolation. Setinterp=Falseinmodel.evalto turn off. The bilinear interpolation will be slightly slower on the CPU, but it is faster than nearest neighbor if using torch and the GPU is enabled.Timing (v0.6)You can check if cellpose is running the MKL version (if you are using the CPU not the GPU) by adding the flag--check_mkl. If you are not using MKL cellpose will be much slower. Here are Cellpose run times divided into the time it takes to run the deep neural network (DNN) and the time for postprocessing (gradient tracking, segmentation, quality control etc.). The DNN runtime is shown using either a GPU (Nvidia GTX 1080Ti) or a CPU (Intel 10-core 7900X), with or without network ensembling (4net vs 1net). The postprocessing runtime is similar regardless of ensembling or CPU/GPU version. Runtime is shown for different image sizes, all with a cell diameter of 30 pixels (the average from our training set).256 pix512 pix1024 pixDNN (1net, GPU)0.054 s0.12 s0.31 sDNN (1net, CPU)0.30 s0.65 s2.4 sDNN (4net, GPU)0.23 s0.41 s1.3 sDNN (4net, CPU)1.3 s2.5 s9.1 sPostprocessing (CPU)0.32 s1.2 s6.1 s