From cc9d3b54f821de5e71b069abc3920f4876fe4ffa Mon Sep 17 00:00:00 2001 From: bethac07 Date: Wed, 28 Aug 2024 11:30:11 +0000 Subject: [PATCH] deploy: cee54031fe5c97195c0208a1f39fe2ef516ed650 --- _sources/using_plugins.md | 297 +++++++++++++++++++++++--------------- searchindex.js | 2 +- using_plugins.html | 190 +++++++++++++----------- 3 files changed, 289 insertions(+), 200 deletions(-) diff --git a/_sources/using_plugins.md b/_sources/using_plugins.md index 8b3902b..662319c 100644 --- a/_sources/using_plugins.md +++ b/_sources/using_plugins.md @@ -26,157 +26,220 @@ See [Using Docker to Bypass Installation Requirements](#using-docker-to-bypass-i ### Installing plugins without dependencies -1. **Install CellProfiler.** -Download a binary (pre-built) version of CellProfiler from the [CellProfiler website](https://cellprofiler.org/releases). +1. **Install CellProfiler.** -Or, you can install CellProfiler from source (See instructions for: [Windows](https://github.com/CellProfiler/CellProfiler/wiki/Source-installation-%28Windows%29); [Mac Intel](https://github.com/CellProfiler/CellProfiler/wiki/Source-installation-%28OS-X-and-macOS%29); [Mac Apple Silicon](https://github.com/CellProfiler/CellProfiler/wiki/Installation-of-CellProfiler-4-from-source-on-MacOS-M1); [Linux](https://github.com/CellProfiler/CellProfiler/wiki/Source-installation-%28Linux%29)) + Download a binary (pre-built) version of CellProfiler from the [CellProfiler website](https://cellprofiler.org/releases). + + Or, you can install CellProfiler from source (See instructions for: [Windows](https://github.com/CellProfiler/CellProfiler/wiki/Source-installation-%28Windows%29); [Mac Intel](https://github.com/CellProfiler/CellProfiler/wiki/Source-installation-%28OS-X-and-macOS%29); [Mac Apple Silicon](https://github.com/CellProfiler/CellProfiler/wiki/Installation-of-CellProfiler-4-from-source-on-MacOS-M1); [Linux](https://github.com/CellProfiler/CellProfiler/wiki/Source-installation-%28Linux%29)) -2. **Clone the CellProfiler-plugins repository.** -This will download all of the plugins in the CellProfiler-plugins repository. +2. **Clone the CellProfiler-plugins repository.** -In your terminal, type -```bash -git clone https://github.com/CellProfiler/CellProfiler-plugins.git -``` + This will download all of the plugins in the CellProfiler-plugins repository. + + In your terminal, type -Alternatively, if you have code for plugins that are not in the CellProfiler-plugins repository, you can place them in any folder that you'll be able to find again. + ```bash + git clone https://github.com/CellProfiler/CellProfiler-plugins.git + ``` + + Alternatively, if you have code for plugins that are not in the CellProfiler-plugins repository, you can place them in any folder that you'll be able to find again. -3. **Set the plugins path in CellProfiler.** -- Open CellProfiler. -- Go to `CellProfiler` => `Preferences` and set the path in the `CellProfiler plugins directory` to the `active_plugins` folder in the GitHub repository that you just cloned (or, if you didn't clone the whole repository, whatever location you have saved your plugins into). -- Select `Save` at the bottom of the Preferences window -- Close CellProfiler and re-open it +3. **Set the plugins path in CellProfiler.** -You are now ready to use any CellProfiler plugin that does not have additional dependencies. -This is most CellProfiler plugins. + - Open CellProfiler. + - Go to `CellProfiler` => `Preferences` and set the path in the `CellProfiler plugins directory` to the `active_plugins` folder in the GitHub repository that you just cloned (or, if you didn't clone the whole repository, whatever location you have saved your plugins into). + - Select `Save` at the bottom of the Preferences window + - Close CellProfiler and re-open it + + You are now ready to use any CellProfiler plugin that does not have additional dependencies. + This is most CellProfiler plugins. ### Installing plugins with dependencies, using CellProfiler from source -1. **Install CellProfiler.** -Install CellProfiler from source (See instructions for: [Windows](https://github.com/CellProfiler/CellProfiler/wiki/Source-installation-%28Windows%29); [Mac Intel](https://github.com/CellProfiler/CellProfiler/wiki/Source-installation-%28OS-X-and-macOS%29); [Mac Apple Silicon](https://github.com/CellProfiler/CellProfiler/wiki/Installation-of-CellProfiler-4-from-source-on-MacOS-M1); [Linux](https://github.com/CellProfiler/CellProfiler/wiki/Source-installation-%28Linux%29)) +1. **Install CellProfiler.** -2. **Clone the CellProfiler-plugins repository.** -In your terminal, type -```bash -git clone https://github.com/CellProfiler/CellProfiler-plugins.git -``` + Install CellProfiler from source (See instructions for: [Windows](https://github.com/CellProfiler/CellProfiler/wiki/Source-installation-%28Windows%29); [Mac Intel](https://github.com/CellProfiler/CellProfiler/wiki/Source-installation-%28OS-X-and-macOS%29); [Mac Apple Silicon](https://github.com/CellProfiler/CellProfiler/wiki/Installation-of-CellProfiler-4-from-source-on-MacOS-M1); [Linux](https://github.com/CellProfiler/CellProfiler/wiki/Source-installation-%28Linux%29)) -3. **Set the plugins path in CellProfiler.** -- Open CellProfiler. -- Go to `CellProfiler` => `Preferences` and set the path in the `CellProfiler plugins directory` to the `active_plugins` folder in the GitHub repository that you just cloned. -- Select `Save` at the bottom of the Preferences window -- Close CellProfiler +2. **Clone the CellProfiler-plugins repository.** + + In your terminal, type: + + ```bash + git clone https://github.com/CellProfiler/CellProfiler-plugins.git + ``` + +3. **Set the plugins path in CellProfiler.** + + - Open CellProfiler. + - Go to `CellProfiler` => `Preferences` and set the path in the `CellProfiler plugins directory` to the `active_plugins` folder in the GitHub repository that you just cloned. + - Select `Save` at the bottom of the Preferences window + - Close CellProfiler 4. **Install the dependencies for your plugin.** -In your terminal, type the following, where FLAG is the flag specific to the module you would like to run, as noted in [Supported Plugins](supported_plugins.md). -```bash -cd CellProfiler-plugins -pip install -e .[FLAG] -``` -e.g. To install Cellpose the pip install command would be `pip install -e .[cellpose]` -If using Mac and getting an error saying `zsh: no matches found: .[somepackage]`, put the dot and square brackets in single quotes, ie `pip install -e '.[cellpose]'` + In your terminal, type the following, where FLAG is the flag specific to the module you would like to run, as noted in [Supported Plugins](supported_plugins.md): + + ```bash + cd CellProfiler-plugins + pip install -e .[FLAG] + ``` + + e.g. To install Cellpose the pip install command would be `pip install -e .[cellpose]` + + If using Mac and getting an error saying `zsh: no matches found: .[somepackage]`, put the dot and square brackets in single quotes, ie `pip install -e '.[cellpose]'` -5. **Open and use CellProfiler.** +5. **Open and use CellProfiler.** -Please note that plugins that have separate install flags may have conflicting dependencies so we recommend making a separate python environment in which to run separate installations. -(e.g. while having CellPose and StarDist in the same python environment is technically possible, it has been reported to be quite troublesome to install, so we recommend choosing either CellPose or StarDist.) + Please note that plugins that have separate install flags may have conflicting dependencies so we recommend making a separate python environment in which to run separate installations. + (e.g. while having CellPose and StarDist in the same python environment is technically possible, it has been reported to be quite troublesome to install, so we recommend choosing either CellPose or StarDist.) ### Installing plugins with dependencies, using pre-built CellProfiler -1. **Install CellProfiler.** -Download a binary (pre-built) version of CellProfiler from the [CellProfiler website](https://cellprofiler.org/releases). +1. **Install CellProfiler.** + + Download a binary (pre-built) version of CellProfiler from the [CellProfiler website](https://cellprofiler.org/releases). + + +2. **Clone the CellProfiler-plugins repository.** + + In your terminal, type + + ```bash + git clone https://github.com/CellProfiler/CellProfiler-plugins.git + ``` -2. **Clone the CellProfiler-plugins repository.** -In your terminal, type -```bash -git clone https://github.com/CellProfiler/CellProfiler-plugins.git -``` +3. **Set the plugins path in CellProfiler.** -3. **Set the plugins path in CellProfiler.** -- Open CellProfiler. -- Go to `CellProfiler` => `Preferences` and set the path in the `CellProfiler plugins directory` to the `active_plugins` folder in the GitHub repository that you just cloned. -- Select `Save` at the bottom of the Preferences window -- Close CellProfiler + - Open CellProfiler. + - Go to `CellProfiler` => `Preferences` and set the path in the `CellProfiler plugins directory` to the `active_plugins` folder in the GitHub repository that you just cloned. + - Select `Save` at the bottom of the Preferences window + - Close CellProfiler 4. **Identify the Python dependencies of the plugins you want to use.** -You can find this information for most plugins by looking in `setup.py`. -```{admonition} e.g. using RunCellpose plugin -If you would like to install the RunCellpose plugin, in `setup.py` you can see that `cellpose_deps = ["cellpose>=1.0.2"]` so the only dependency is `cellpose`. -``` - -Alternatively, you can find this information directly in the plugin code itself by looking at what is imported at the beginning of the plugin. -Note that you will want to compare any imports to what is already required by CellProfiler with that caveat that dependencies often have dependencies. -```{admonition} e.g. using RunImageJScript plugin -If you would like to install the RunImageJScript plugin, you'll notice a number of imports in the beginning of the plugin code. -You can ignore all those from `cellprofiler_core` as they are required for CellProfiler installation. -You can ignore all those that are native to Python such as `sys`, `time`, and `threading`. -A comparison with CellProfiler dependencies will show you that `skimage` is already installed (you can see this in CellProfiler's [environment.yml](https://github.com/CellProfiler/CellProfiler/blob/master/environment.yml) which lists `scikit-image` as a `cellprofiler-core` dependency or in CellProfiler's [setup.py](https://github.com/CellProfiler/CellProfiler/blob/master/setup.py) which lists `scikit-image` as an installation requirement). -What remains is `pyimagej` -``` - -5. **Create a conda environment and install requirements in it** -Create a conda (or other virtual) environment with a Python version matching that of CellProfiler. -CellProfiler 4 uses Python 3.8 (which you can see in CellProfiler's [setup.py](https://github.com/CellProfiler/CellProfiler/blob/master/setup.py)). -Activate the environment and install the plugin requirement/s into it. - -In your terminal, type -``` -# Create a conda environment -conda create --name ENV_NAME python=3.8 -# Activate the conda environment -conda activate ENV_NAME -# Install the plugin requirement/s -pip install REQUIREMENT -``` -```{admonition} e.g. using RunImageJScript plugin -conda create --name cp-ij python=3.8 -conda activate cp-ij -pip install pyimagej -``` - -6. **Copy plugin requirements into CellProfiler installation** -Find the folder that you installed into in the previous step (where to find these libraries in your local environment) by entering `pip show REQUIREMENT` into your terminal e.g. `pip show pyimagej`. -In the information it returns, under `Location` you will find a path that will look something like `/Users/eweisbar/mambaforge/envs/cp-ij/lib/python3.8/site-packages`. - -Find the folder in which you have installed CellProfiler. -On Windows this is likely to be `C:\Program Files\CellProfiler` and on Mac it is likely to be `/Applications/CellProfiler.app/Contents/MacOS/`. -In your terminal, if you `ls` (for Mac) or `dir` (for Windows) that folder (e.g. `ls /Applications/CellProfiler.app/Contents/MacOS/`), you should see a list of all the dependencies that were packaged with CellProfiler. - -Copy the folders and their corresponding `.dist-info` folders (e.g. `pytz` and `pytz-2023.3.dist-info`) for any dependencies that were installed with the installation of `pyimagej` that are not already in the CellProfiler folder. - -```{admonition} e.g. using RunImageJScript plugin -These are all the folders you need to copy over: -`pytz` -`pytz-2023.3.dist-info` -`xarray` -`xarray-2023.1.0.dist-info` -`imglyb` -`imglyb-2.1.0.dist-info` -`jgo` -`jgo-1.0.5.dist-info` -`jpype` -`_jpype.cpython-38-darwin.so` -`imagej` -`pyimagej-1.4.1.dist-info` -``` + + You can find this information for most plugins by looking in `setup.py`. + ```{admonition} e.g. using RunCellpose plugin + If you would like to install the RunCellpose plugin, in `setup.py` you can see that `cellpose_deps = ["cellpose>=1.0.2"]` so the only dependency is `cellpose`. + ``` + + Alternatively, you can find this information directly in the plugin code itself by looking at what is imported at the beginning of the plugin. + + Note that you will want to compare any imports to what is already required by CellProfiler with that caveat that dependencies often have dependencies. + + ```{admonition} e.g. using RunImageJScript plugin + If you would like to install the RunImageJScript plugin, you'll notice a number of imports in the beginning of the plugin code. + You can ignore all those from `cellprofiler_core` as they are required for CellProfiler installation. + You can ignore all those that are native to Python such as `sys`, `time`, and `threading`. + A comparison with CellProfiler dependencies will show you that `skimage` is already installed (you can see this in CellProfiler's [environment.yml](https://github.com/CellProfiler/CellProfiler/blob/master/environment.yml) which lists `scikit-image` as a `cellprofiler-core` dependency or in CellProfiler's [setup.py](https://github.com/CellProfiler/CellProfiler/blob/master/setup.py) which lists `scikit-image` as an installation requirement). + What remains is `pyimagej` + ``` + +5. **Initialize the proper version of python** + + For the subsequent steps, make sure to use the same version of python that CellProfiler uses. For instance, CellProfiler 4 uses python 3.8, (which you can see in CellProfiler's [setup.py](https://github.com/CellProfiler/CellProfiler/blob/4.2.x/setup.py)). You can check what version of python you're using in the terminal: + + ```bash + python --version + ``` + + If necessary, you can create a conda environment with a specific version of python. + + ```bash + conda create --name py38 python=3.8 + conda activate py38 + ``` + + You may replace the value after `--name` with whatever name you'd like to give to the environment. + If you don't have `conda`/`miniconda`/`mamba` or similar, you can either [manually install python directly](https://www.python.org/downloads/), or use a tool like `pyenv` to manage different versions of python: + - [pyenv Mac](https://github.com/pyenv/pyenv) + - [pyenv Windows](https://github.com/pyenv-win/pyenv-win) + + ```{note} + If you have multiple versions of python (e.g. you have python 3.8 and python 3.9 both installed with homebrew on Mac), it is sometimes the case that you may need to specify an exact `pip` version in the below steps, e.g. `pip3.8` instead of just `pip`. You can always double check you're using the correct pip with `pip --version`. + ``` + +6. **Install or copy requirements into CellProfiler installation.** + + Find the folder in which you have installed CellProfiler. On Windows, this is likely to be `C:\Program Files\CellProfiler`, and on Mac, it is likely to be `/Applications/CellProfiler.app/Contents/MacOS/`, but otherwise will be `/path/to/CellProfiler.app/Contents/MacOS/`. + If you're curious, you can run `ls` (on Mac) or `dir` (Windows) on this directory, and you will see all of the dependencies that were packaged with CellProfiler. + + In your terminal run a pip installation, replacing `` with the path you found above. If you're on Windows, depending on where CellProfiler is installed, you may need to do this in a terminal running with admin privileges, which you can do by right-clicking on `cmd.exe` (or `powershell`) and clicking "Run as Administrator". + + ```bash + pip install --target= REQUIRMENTS + ``` + + ```{admonition} e.g. using RunImageJ script + conda create –name cp-ij python=3.8 + + conda activate cp-ij + + pip install --target=/Applications/CellProfiler.app/Contents/MacOS/ pyimagej + ``` + + ```{note} + Do not run the `pip install` from *within* the CellProfiler directory. If you run `pip` with your terminal's current working directory inside the CellProfiler directory, you will confuse `pip`, since there is a version of python bundled with CellProfiler and your `PATH` and/or `PYTHONPATH` may include your current working directory. + ``` + + ```{note} + Do not use the `-U` or `--upgrade` flag as that will overwrite existing CellProfiler dependencies with potentially incompatible ones. + ``` + + Alternatively, you may install the dependencies as usual, and manually copy over only specific requirements into the CellProfiler directory. To do this with `conda` or similar, you may activate that environment and simply run pip without the `--target` flag: + + ```bash + pip install REQUIRMENTS + ``` + + ```{admonition} e.g. using RunImageJ script + conda create –name cp-ij python=3.8 + + conda activate cp-ij + + pip install pyimagej + ``` + + Then you may find the default folder that `pip` installs packages into by entering `pip show REQUIREMENT` into your terminal e.g. `pip show pyimagej`. + In the information it returns, under `Location` you will find a path that will look something like (Mac) `/Users/username/mambaforge/envs/cp-ij/lib/python3.8/site-packages` or (Windows) `c:\users\username\miniforge3\envs\cp\lib\site-packages`. + + Finally you may manually copy the folders and their corresponding `.dist-info` folders (e.g. `pytz` and `pytz-2023.3.dist-info`) for any dependencies that were installed with the installation of e.g. `pyimagej` that are not already in the CellProfiler folder. + + ```{admonition} e.g. using RunImageJScript plugin + These are all the folders you need to copy over: + `pytz` + `pytz-2023.3.dist-info` + `xarray` + `xarray-2023.1.0.dist-info` + `imglyb` + `imglyb-2.1.0.dist-info` + `jgo` + `jgo-1.0.5.dist-info` + `jpype` + `_jpype.cpython-38-darwin.so` + `imagej` + `pyimagej-1.4.1.dist-info` + ``` 7. **Open and use CellProfiler.** -When you try to run your plugin in your pipeline, if you have missed copying over any specific requirements, it will give you an error message that will tell you what dependency is missing in the terminal window that opens with CellProfiler on Windows machines. -This information is not available in Mac machines. + When you try to run your plugin in your pipeline, if you have missed copying over any specific requirements, it will give you an error message that will tell you what dependency is missing in the terminal window that opens with CellProfiler on Windows machines. + + This information is not available in Mac machines when you launch the application directly (by double clicking `CellProfiler.app`). However you may instead open the application with your terminal: `/path/to/CellProfiler.app/Contents/MacOS/cp`. ### Using Docker to bypass installation requirements 1. **Download Docker** -Download Docker Desktop from [Docker.com](https://www.docker.com/products/docker-desktop/). + + Download Docker Desktop from [Docker.com](https://www.docker.com/products/docker-desktop/). 2. **Run Docker Desktop** Open Docker Desktop. + Docker Desktop will need to be open every time you use a plugin with Docker. Please have a look at this [table](https://github.com/CellProfiler/CellProfiler-plugins/blob/master/documentation/CP-plugins-documentation/supported_plugins.md) to know if a docker version is available for a plugin. 3. **Select "Run with Docker"** -In your plugin, select `Docker` for "Run module in docker or local python environment" setting. -On the first run of the plugin, the Docker container will be downloaded, however, this slow downloading process will only have to happen -once. + + In your plugin, select `Docker` for "Run module in docker or local python environment" setting. + + On the first run of the plugin, the Docker container will be downloaded, however, this slow downloading process will only have to happen once. diff --git a/searchindex.js b/searchindex.js index 33ee421..fc72507 100644 --- a/searchindex.js +++ b/searchindex.js @@ -1 +1 @@ -Search.setIndex({"docnames": ["citing", "contributing_plugins", "overview", "runcellpose", "supported_plugins", "troubleshooting", "unsupported_plugins", "using_plugins", "versions"], "filenames": ["citing.md", "contributing_plugins.md", "overview.md", "runcellpose.md", "supported_plugins.md", "troubleshooting.md", "unsupported_plugins.md", "using_plugins.md", "versions.md"], "titles": ["Citing CellProfiler Plugins", "Contributing New Plugins", "What are CellProfiler Plugins?", "RunCellpose", "Supported Plugins", "Troubleshooting", "Currently Unsupported Plugins", "Using plugins", "Versions"], "terms": {"If": [0, 1, 3, 7], "us": [0, 1, 4, 6], "pipelin": [0, 1, 7], "public": 0, "pleas": [0, 1, 4, 6, 7], "our": [0, 1, 2, 4], "paper": 0, "weisbart": 0, "e": [0, 3], "troman": 0, "coia": 0, "c": [0, 7], "diaz": 0, "rohrer": 0, "b": 0, "stirl": 0, "d": 0, "r": 0, "garcia": 0, "fossa": 0, "f": 0, "senft": 0, "A": [0, 2, 4, 7], "hiner": 0, "m": 0, "de": 0, "jesu": 0, "eliceiri": 0, "k": 0, "w": [0, 3], "cimini": [0, 2], "2023": [0, 7], "an": [0, 1, 3, 4, 5, 7], "easi": 0, "imag": [0, 1, 2, 4, 7], "analysi": 0, "platform": [0, 2, 3], "integr": [0, 6], "contain": [0, 1, 4, 5, 7], "python": [0, 3, 7], "tool": [0, 4], "journal": 0, "microscopi": 0, "http": [0, 3, 7], "doi": 0, "org": [0, 3], "10": 0, "1111": 0, "jmi": 0, "13223": 0, "addition": [0, 3, 6], "some": [0, 5, 7], "requir": [0, 2, 4], "citat": [0, 1], "themselv": 0, "you": [0, 1, 3, 4, 5, 7], "can": [0, 1, 3, 4, 6, 7], "determin": [0, 4], "which": [0, 4, 7], "read": [0, 1, 4], "help": [0, 1, 4], "inform": [0, 1, 2, 3, 4, 6, 7], "each": [0, 4], "access": [0, 4, 7], "through": [0, 4], "gener": [0, 1, 3, 4], "built": [0, 3], "sinc": 0, "5": [0, 1, 7], "figur": 0, "1": [0, 4, 7], "how": [0, 4], "To": [0, 3, 7], "s": [0, 1, 2, 3, 7], "load": [0, 3], "your": [0, 3, 4, 7], "navig": 0, "file": [0, 1, 4, 7], "export": 0, "ani": [0, 1, 4, 6, 7], "modul": [0, 1, 2, 3, 4, 5, 6, 7], "current": [0, 1, 2, 4, 7, 8], "disabl": 0, "still": 0, "includ": [0, 1], "tag": 0, "note": [0, 3, 4, 6, 7], "mani": 0, "provid": [0, 1, 4, 6], "refer": [0, 1, 4], "offer": 0, "further": 0, "background": [0, 4, 6], "about": [0, 1, 4, 6, 7], "process": [0, 1, 7], "happen": [0, 7], "within": [0, 1, 4], "mai": [0, 1, 2, 4, 6, 7], "wish": 0, "upon": [0, 7], "analys": 0, "ar": [0, 3, 4, 5, 7], "particularli": 0, "depend": [0, 1, 2, 3, 4, 5], "howev": [0, 7], "do": [0, 3, 4, 6], "separ": [0, 7], "cellprofil": [1, 3, 4, 5, 6], "wiki": 1, "find": [1, 3, 4, 7], "orient": 1, "code": [1, 7], "In": [1, 5, 7], "repositori": [1, 5, 6, 7], "two": [1, 4, 6], "differ": [1, 4], "templat": 1, "creat": [1, 7], "own": 1, "imagetempl": 1, "py": [1, 5, 7], "take": [1, 4], "one": [1, 3, 6], "input": [1, 4], "produc": 1, "second": [1, 7], "downstream": 1, "measurementtempl": 1, "measur": [1, 4], "properti": 1, "both": 1, "whole": [1, 7], "everi": [1, 7], "object": [1, 4, 6], "we": [1, 2, 6, 7], "appreci": 1, "also": [1, 4], "displai": [1, 3], "function": [1, 6], "extens": 1, "document": [1, 2, 4, 7], "pull": 1, "request": [1, 6], "submit": 1, "inclus": 1, "pr": 1, "must": [1, 3], "add": [1, 4, 5, 7], "supported_plugin": 1, "page": [1, 2], "unit": 1, "test": [1, 3], "custom": [1, 4], "instal": [1, 2, 3, 4, 5], "setup": [1, 5, 7], "ha": [1, 2, 3, 4, 7], "un": 1, "would": [1, 7], "like": [1, 3, 4, 7], "encourag": 1, "close": [1, 5, 7], "issu": [1, 7], "github": [1, 5, 7], "relev": 1, "thei": [1, 6, 7], "present": 1, "time": [1, 7], "while": [1, 7], "cannot": [1, 6, 7], "guarante": 1, "user": [1, 7], "introduc": 1, "avail": [1, 3, 4, 7], "from": [1, 4, 5, 6], "sourc": 1, "scan": 1, "all": [1, 2, 3, 5, 7], "them": [1, 3, 4, 7], "specif": [1, 7], "see": [1, 2, 3, 4, 7], "advanc": 2, "capabl": 2, "offici": 2, "support": [2, 3, 6, 7], "same": [2, 4, 7], "wai": [2, 4], "instead": 2, "itself": [2, 4, 7], "becaus": [2, 4], "under": [2, 3, 7], "activ": [2, 7], "develop": 2, "nich": 2, "audienc": 2, "standard": [2, 7], "onli": [2, 7], "work": [2, 6], "certain": 2, "version": [2, 3, 4, 6, 7], "extra": [2, 3, 4], "librari": [2, 3, 7], "other": [2, 6, 7], "unabl": [2, 6], "unwil": 2, "been": [2, 6, 7], "commun": [2, 6], "member": 2, "cellpaint": 2, "maintain": [2, 6], "lab": 2, "broad": 2, "institut": 2, "cambridg": 2, "ma": 2, "usa": 2, "addit": [3, 7], "packag": [3, 7], "therefor": [3, 6], "download": [3, 7], "plugin": [3, 5], "more": [3, 4, 7], "want": [3, 7], "run": [3, 4, 6, 7], "model": [3, 4], "thi": [3, 4, 6, 7], "recommend": [3, 7], "speed": [3, 4], "ll": [3, 7], "need": [3, 7], "compat": [3, 6], "pytorch": 3, "instruct": [3, 5, 7], "link": [3, 4], "should": [3, 7], "visibl": [3, 5, 7], "devic": 3, "manag": 3, "adaptor": 3, "isn": 3, "t": [3, 5, 7], "driver": 3, "here": 3, "where": [3, 7], "nvidia": 3, "whether": 3, "configur": 3, "correctli": 3, "command": [3, 5, 7], "line": 3, "i": 3, "prompt": 3, "termin": [3, 5, 7], "start": [3, 4], "interact": 3, "session": 3, "Then": 3, "follow": [3, 5, 6, 7], "import": [3, 7], "torch": 3, "cuda": 3, "is_avail": 3, "return": [3, 5, 7], "true": 3, "re": [3, 7], "set": [3, 4, 5, 7], "fals": 3, "reinstal": 3, "exact": 3, "exit": 3, "necessari": [3, 6], "pip3": 3, "torchvis": 3, "torchaudio": 3, "index": 3, "url": 3, "whl": 3, "cu113": 3, "have": [3, 4, 5, 6, 7], "previou": [3, 6, 7], "make": [3, 4, 7], "sure": 3, "pip": [3, 7], "uninstal": 3, "first": [3, 7], "might": 3, "get": [3, 5, 7], "warn": 3, "tensorflow": 3, "stream_executor": 3, "default": 3, "dso_load": 3, "cc": 3, "64": 3, "could": 3, "dynam": 3, "cudart64_110": 3, "dll": 3, "dlerror": 3, "found": [3, 4, 6, 7], "2022": 3, "05": 3, "26": 3, "20": 3, "24": 3, "21": 3, "906286": 3, "cudart_stub": 3, "29": 3, "ignor": [3, 7], "abov": 3, "cudart": 3, "up": [3, 4], "machin": [3, 4, 7], "don": 3, "problem": [3, 5], "incorrect": 3, "try": [3, 7], "correct": [3, 5], "system": 3, "below": [4, 7], "brief": 4, "overview": 4, "For": 4, "detail": 4, "particular": [4, 6], "insid": 4, "most": [4, 7], "without": 4, "special": 4, "either": [4, 6, 7], "well": [4, 7], "those": [4, 6, 7], "descript": 4, "flag": [4, 7], "docker": 4, "addnois": 4, "gaussian": 4, "poisson": 4, "salt": 4, "pepper": 4, "nois": 4, "Of": 4, "data": 4, "augment": 4, "deep": [4, 6], "learn": [4, 6], "No": [4, 5], "n": 4, "calculatemo": 4, "extract": 4, "moment": 4, "statist": 4, "given": [4, 6], "distribut": 4, "pixel": [4, 6], "valu": 4, "callbarcod": 4, "assign": 4, "barcod": 4, "base": [4, 6], "channel": 4, "strongest": 4, "intens": 4, "number": [4, 7], "cycl": 4, "It": [4, 7], "optic": 4, "sequenc": 4, "synthesi": 4, "sb": 4, "compensatecolor": 4, "much": 4, "signal": 4, "bleed": 4, "anoth": 4, "remov": [4, 5], "perform": 4, "across": 4, "mask": 4, "preprocess": 4, "rescal": 4, "option": [4, 7], "allow": [4, 7], "troubleshoot": 4, "match": [4, 7], "distancetransform": 4, "comput": 4, "distanc": 4, "transform": 4, "binari": [4, 7], "The": [4, 7], "foreground": 4, "nearest": 4, "result": 4, "scale": 4, "so": [4, 7], "largest": 4, "enhancedmeasuretextur": 4, "degre": 4, "natur": 4, "textur": 4, "comprehens": [4, 6], "tuneabl": 4, "manner": 4, "than": 4, "measuretextur": 4, "nativ": [4, 7], "histogramequ": 4, "increas": 4, "global": 4, "contrast": 4, "low": 4, "volum": 4, "histogram": 4, "equal": 4, "redistribut": 4, "util": 4, "full": 4, "rang": 4, "common": 4, "frequenc": 4, "distinct": 4, "local": [4, 7], "histogrammatch": 4, "manipul": 4, "normal": 4, "2d": 4, "3d": 4, "frame": 4, "choos": [4, 7], "pixelshuffl": 4, "randomli": 4, "shuffl": 4, "its": 4, "posit": 4, "runcellpos": [4, 6], "cellpos": [4, 7], "generalist": 4, "algorithm": 4, "cellular": 4, "segment": 4, "great": 4, "point": [4, 6], "non": 4, "round": 4, "cell": 4, "pre": 4, "train": 4, "gpu": 4, "dramat": 4, "effici": 4, "ye": 4, "runilastik": [4, 6, 7], "runilasitk": 4, "ilastik": [4, 6], "project": 4, "predict": [4, 6], "probabl": 4, "type": [4, 7], "classif": 4, "autocontext": 4, "2": [4, 6, 7], "stage": 4, "runimagejscript": 4, "imagej": [4, 7], "script": 4, "directli": [4, 7], "significantli": 4, "runimagejmacro": 4, "less": 4, "leav": 4, "behind": 4, "temporari": 4, "imagejscript": 4, "though": 4, "conda": [4, 7], "prefer": [4, 5, 7], "runomnipos": 4, "omnipos": 4, "build": [4, 7], "runstardist": 4, "stardist": [4, 7], "detect": [4, 7], "star": 4, "convex": 4, "shape": 4, "best": 4, "suit": 4, "nuclei": 4, "ish": 4, "faster": 4, "variancetransform": 4, "calcul": 4, "varianc": 4, "window": [4, 5, 7], "size": 4, "optim": 4, "predetermin": 4, "obtain": 4, "maximum": 4, "solut": 5, "after": 5, "folder": [5, 6, 7], "won": 5, "open": [5, 7], "error": [5, 7], "suppli": 5, "parent": 5, "active_plugin": [5, 7], "order": 5, "chang": 5, "path": [5, 7], "panel": [5, 7], "properli": [5, 7], "go": [5, 7], "directori": [5, 7], "just": [5, 7], "clone": [5, 7], "select": [5, 6, 7], "save": [5, 7], "bottom": [5, 7], "Not": 5, "unmet": [5, 7], "primarili": 6, "reason": 6, "were": [6, 7], "made": 6, "major": 6, "updat": 6, "Their": 6, "longer": 6, "welcom": 6, "limit": 6, "bandwidth": 6, "complet": 6, "commit": 6, "team": 6, "contribut": 6, "unmaintained_plugin": 6, "cellprofiler2": 6, "cellprofiler3": 6, "cellprofiler4": 6, "cellprofiler4_autoconvert": 6, "automat": [6, 7], "convert": 6, "python2": 6, "python3": [6, 7], "transit": 6, "never": 6, "fulli": 6, "why": 6, "classifypixelsunet": 6, "classifi": 6, "edg": 6, "bodi": 6, "As": 6, "far": 6, "awar": 6, "better": 6, "declumpobject": 6, "split": 6, "seed": 6, "watersh": 6, "method": 6, "wa": 6, "ad": 6, "4": [6, 7], "0": [6, 7], "anymor": 6, "onc": 7, "useabl": 7, "appear": 7, "typic": 7, "consid": 7, "experiment": 7, "show": 7, "report": 7, "bug": 7, "relat": 7, "main": 7, "doe": 7, "outsid": 7, "veri": 7, "simpl": 7, "three": 7, "simpler": 7, "complex": 7, "third": 7, "simplest": 7, "desktop": 7, "look": 7, "tabl": 7, "know": 7, "websit": 7, "Or": 7, "mac": 7, "intel": 7, "appl": 7, "silicon": 7, "linux": 7, "git": 7, "com": 7, "altern": 7, "place": 7, "abl": 7, "again": 7, "didn": 7, "whatev": 7, "locat": 7, "now": 7, "readi": 7, "cd": 7, "sai": 7, "zsh": 7, "somepackag": 7, "put": 7, "dot": 7, "squar": 7, "bracket": 7, "singl": 7, "quot": 7, "ie": 7, "conflict": 7, "environ": 7, "technic": 7, "possibl": 7, "quit": 7, "troublesom": 7, "identifi": 7, "cellpose_dep": 7, "what": 7, "begin": 7, "compar": 7, "alreadi": 7, "caveat": 7, "often": 7, "notic": 7, "cellprofiler_cor": 7, "sy": 7, "thread": 7, "comparison": 7, "skimag": 7, "yml": 7, "list": 7, "scikit": 7, "core": 7, "remain": 7, "pyimagej": 7, "virtual": 7, "3": 7, "8": 7, "name": 7, "env_nam": 7, "cp": 7, "ij": 7, "copi": 7, "step": 7, "enter": 7, "someth": 7, "eweisbar": 7, "mambaforg": 7, "env": 7, "lib": 7, "site": 7, "On": 7, "program": 7, "applic": 7, "app": 7, "content": 7, "maco": 7, "ls": 7, "dir": 7, "correspond": 7, "dist": 7, "info": 7, "pytz": 7, "These": 7, "over": 7, "xarrai": 7, "imglyb": 7, "jgo": 7, "jpype": 7, "_jpype": 7, "cpython": 7, "38": 7, "darwin": 7, "when": 7, "miss": 7, "give": 7, "messag": 7, "tell": 7, "slow": 7}, "objects": {}, "objtypes": {}, "objnames": {}, "titleterms": {"cite": [0, 1], "cellprofil": [0, 2, 7], "plugin": [0, 1, 2, 4, 6, 7], "contribut": [1, 2], "new": 1, "bug": 1, "fix": 1, "updat": 1, "deprec": 1, "have": 1, "your": 1, "what": [2, 6], "ar": [2, 6], "how": 2, "do": 2, "i": 2, "us": [2, 3, 7], "avail": 2, "who": 2, "made": 2, "thi": 2, "runcellpos": [3, 7], "gpu": 3, "support": 4, "troubleshoot": 5, "current": 6, "unsupport": 6, "where": 6, "instal": 7, "without": 7, "depend": 7, "from": 7, "sourc": 7, "pre": 7, "built": 7, "e": 7, "g": 7, "runimagejscript": 7, "docker": 7, "bypass": 7, "requir": 7, "version": 8, "histori": 8}, "envversion": {"sphinx.domains.c": 2, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 6, "sphinx.domains.index": 1, "sphinx.domains.javascript": 2, "sphinx.domains.math": 2, "sphinx.domains.python": 3, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx.ext.intersphinx": 1, "sphinx": 56}}) \ No newline at end of file +Search.setIndex({"docnames": ["citing", "contributing_plugins", "overview", "runcellpose", "supported_plugins", "troubleshooting", "unsupported_plugins", "using_plugins", "versions"], "filenames": ["citing.md", "contributing_plugins.md", "overview.md", "runcellpose.md", "supported_plugins.md", "troubleshooting.md", "unsupported_plugins.md", "using_plugins.md", "versions.md"], "titles": ["Citing CellProfiler Plugins", "Contributing New Plugins", "What are CellProfiler Plugins?", "RunCellpose", "Supported Plugins", "Troubleshooting", "Currently Unsupported Plugins", "Using plugins", "Versions"], "terms": {"If": [0, 1, 3, 7], "us": [0, 1, 4, 6], "pipelin": [0, 1, 7], "public": 0, "pleas": [0, 1, 4, 6, 7], "our": [0, 1, 2, 4], "paper": 0, "weisbart": 0, "e": [0, 3], "troman": 0, "coia": 0, "c": [0, 7], "diaz": 0, "rohrer": 0, "b": 0, "stirl": 0, "d": [0, 7], "r": 0, "garcia": 0, "fossa": 0, "f": 0, "senft": 0, "A": [0, 2, 4, 7], "hiner": 0, "m": 0, "de": 0, "jesu": 0, "eliceiri": 0, "k": 0, "w": [0, 3], "cimini": [0, 2], "2023": [0, 7], "an": [0, 1, 3, 4, 5, 7], "easi": 0, "imag": [0, 1, 2, 4, 7], "analysi": 0, "platform": [0, 2, 3], "integr": [0, 6], "contain": [0, 1, 4, 5, 7], "python": [0, 3, 7], "tool": [0, 4, 7], "journal": 0, "microscopi": 0, "http": [0, 3, 7], "doi": 0, "org": [0, 3], "10": 0, "1111": 0, "jmi": 0, "13223": 0, "addition": [0, 3, 6], "some": [0, 5, 7], "requir": [0, 2, 4], "citat": [0, 1], "themselv": 0, "you": [0, 1, 3, 4, 5, 7], "can": [0, 1, 3, 4, 6, 7], "determin": [0, 4], "which": [0, 4, 7], "read": [0, 1, 4], "help": [0, 1, 4], "inform": [0, 1, 2, 3, 4, 6, 7], "each": [0, 4], "access": [0, 4, 7], "through": [0, 4], "gener": [0, 1, 3, 4], "built": [0, 3], "sinc": [0, 7], "5": [0, 1, 7], "figur": 0, "1": [0, 4, 7], "how": [0, 4], "To": [0, 3, 7], "s": [0, 1, 2, 3, 7], "load": [0, 3], "your": [0, 3, 4, 7], "navig": 0, "file": [0, 1, 4, 7], "export": 0, "ani": [0, 1, 4, 6, 7], "modul": [0, 1, 2, 3, 4, 5, 6, 7], "current": [0, 1, 2, 4, 7, 8], "disabl": 0, "still": 0, "includ": [0, 1, 7], "tag": 0, "note": [0, 3, 4, 6, 7], "mani": 0, "provid": [0, 1, 4, 6], "refer": [0, 1, 4], "offer": 0, "further": 0, "background": [0, 4, 6], "about": [0, 1, 4, 6, 7], "process": [0, 1, 7], "happen": [0, 7], "within": [0, 1, 4, 7], "mai": [0, 1, 2, 4, 6, 7], "wish": 0, "upon": [0, 7], "analys": 0, "ar": [0, 3, 4, 5, 7], "particularli": 0, "depend": [0, 1, 2, 3, 4, 5], "howev": [0, 7], "do": [0, 3, 4, 6, 7], "separ": [0, 7], "cellprofil": [1, 3, 4, 5, 6], "wiki": 1, "find": [1, 3, 4, 7], "orient": 1, "code": [1, 7], "In": [1, 5, 7], "repositori": [1, 5, 6, 7], "two": [1, 4, 6], "differ": [1, 4, 7], "templat": 1, "creat": [1, 7], "own": 1, "imagetempl": 1, "py": [1, 5, 7], "take": [1, 4], "one": [1, 3, 6], "input": [1, 4], "produc": 1, "second": [1, 7], "downstream": 1, "measurementtempl": 1, "measur": [1, 4], "properti": 1, "both": [1, 7], "whole": [1, 7], "everi": [1, 7], "object": [1, 4, 6], "we": [1, 2, 6, 7], "appreci": 1, "also": [1, 4], "displai": [1, 3], "function": [1, 6], "extens": 1, "document": [1, 2, 4, 7], "pull": 1, "request": [1, 6], "submit": 1, "inclus": 1, "pr": 1, "must": [1, 3], "add": [1, 4, 5, 7], "supported_plugin": 1, "page": [1, 2], "unit": 1, "test": [1, 3], "custom": [1, 4], "instal": [1, 2, 3, 4, 5], "setup": [1, 5, 7], "ha": [1, 2, 3, 4, 7], "un": 1, "would": [1, 7], "like": [1, 3, 4, 7], "encourag": 1, "close": [1, 5, 7], "issu": [1, 7], "github": [1, 5, 7], "relev": 1, "thei": [1, 6, 7], "present": 1, "time": [1, 7], "while": [1, 7], "cannot": [1, 6, 7], "guarante": 1, "user": [1, 7], "introduc": 1, "avail": [1, 3, 4, 7], "from": [1, 4, 5, 6], "sourc": 1, "scan": 1, "all": [1, 2, 3, 5, 7], "them": [1, 3, 4, 7], "specif": [1, 7], "see": [1, 2, 3, 4, 7], "advanc": 2, "capabl": 2, "offici": 2, "support": [2, 3, 6, 7], "same": [2, 4, 7], "wai": [2, 4], "instead": [2, 7], "itself": [2, 4, 7], "becaus": [2, 4], "under": [2, 3, 7], "activ": [2, 7], "develop": 2, "nich": 2, "audienc": 2, "standard": [2, 7], "onli": [2, 7], "work": [2, 6, 7], "certain": 2, "version": [2, 3, 4, 6, 7], "extra": [2, 3, 4], "librari": [2, 3], "other": [2, 6, 7], "unabl": [2, 6], "unwil": 2, "been": [2, 6, 7], "commun": [2, 6], "member": 2, "cellpaint": 2, "maintain": [2, 6], "lab": 2, "broad": 2, "institut": 2, "cambridg": 2, "ma": 2, "usa": 2, "addit": [3, 7], "packag": [3, 7], "therefor": [3, 6], "download": [3, 7], "plugin": [3, 5], "more": [3, 4, 7], "want": [3, 7], "run": [3, 4, 6, 7], "model": [3, 4], "thi": [3, 4, 6, 7], "recommend": [3, 7], "speed": [3, 4], "ll": [3, 7], "need": [3, 7], "compat": [3, 6], "pytorch": 3, "instruct": [3, 5, 7], "link": [3, 4], "should": 3, "visibl": [3, 5, 7], "devic": 3, "manag": [3, 7], "adaptor": 3, "isn": 3, "t": [3, 5, 7], "driver": 3, "here": 3, "where": [3, 7], "nvidia": 3, "whether": 3, "configur": 3, "correctli": 3, "command": [3, 5, 7], "line": 3, "i": 3, "prompt": 3, "termin": [3, 5, 7], "start": [3, 4], "interact": 3, "session": 3, "Then": [3, 7], "follow": [3, 5, 6, 7], "import": [3, 7], "torch": 3, "cuda": 3, "is_avail": 3, "return": [3, 5, 7], "true": 3, "re": [3, 7], "set": [3, 4, 5, 7], "fals": 3, "reinstal": 3, "exact": [3, 7], "exit": 3, "necessari": [3, 6, 7], "pip3": [3, 7], "torchvis": 3, "torchaudio": 3, "index": 3, "url": 3, "whl": 3, "cu113": 3, "have": [3, 4, 5, 6, 7], "previou": [3, 6], "make": [3, 4, 7], "sure": [3, 7], "pip": [3, 7], "uninstal": 3, "first": [3, 7], "might": 3, "get": [3, 5, 7], "warn": 3, "tensorflow": 3, "stream_executor": 3, "default": [3, 7], "dso_load": 3, "cc": 3, "64": 3, "could": 3, "dynam": 3, "cudart64_110": 3, "dll": 3, "dlerror": 3, "found": [3, 4, 6, 7], "2022": 3, "05": 3, "26": 3, "20": 3, "24": 3, "21": 3, "906286": 3, "cudart_stub": 3, "29": 3, "ignor": [3, 7], "abov": [3, 7], "cudart": 3, "up": [3, 4], "machin": [3, 4, 7], "don": [3, 7], "problem": [3, 5], "incorrect": 3, "try": [3, 7], "correct": [3, 5, 7], "system": 3, "below": [4, 7], "brief": 4, "overview": 4, "For": [4, 7], "detail": 4, "particular": [4, 6], "insid": [4, 7], "most": [4, 7], "without": 4, "special": 4, "either": [4, 6, 7], "well": [4, 7], "those": [4, 6, 7], "descript": 4, "flag": [4, 7], "docker": 4, "addnois": 4, "gaussian": 4, "poisson": 4, "salt": 4, "pepper": 4, "nois": 4, "Of": 4, "data": 4, "augment": 4, "deep": [4, 6], "learn": [4, 6], "No": [4, 5], "n": 4, "calculatemo": 4, "extract": 4, "moment": 4, "statist": 4, "given": [4, 6], "distribut": 4, "pixel": [4, 6], "valu": [4, 7], "callbarcod": 4, "assign": 4, "barcod": 4, "base": [4, 6], "channel": 4, "strongest": 4, "intens": 4, "number": [4, 7], "cycl": 4, "It": [4, 7], "optic": 4, "sequenc": 4, "synthesi": 4, "sb": 4, "compensatecolor": 4, "much": 4, "signal": 4, "bleed": 4, "anoth": 4, "remov": [4, 5], "perform": 4, "across": 4, "mask": 4, "preprocess": 4, "rescal": 4, "option": [4, 7], "allow": [4, 7], "troubleshoot": 4, "match": [4, 7], "distancetransform": 4, "comput": 4, "distanc": 4, "transform": 4, "binari": [4, 7], "The": [4, 7], "foreground": 4, "nearest": 4, "result": 4, "scale": 4, "so": [4, 7], "largest": 4, "enhancedmeasuretextur": 4, "degre": 4, "natur": 4, "textur": 4, "comprehens": [4, 6], "tuneabl": 4, "manner": 4, "than": 4, "measuretextur": 4, "nativ": [4, 7], "histogramequ": 4, "increas": 4, "global": 4, "contrast": 4, "low": 4, "volum": 4, "histogram": 4, "equal": 4, "redistribut": 4, "util": 4, "full": 4, "rang": 4, "common": 4, "frequenc": 4, "distinct": 4, "local": [4, 7], "histogrammatch": 4, "manipul": 4, "normal": 4, "2d": 4, "3d": 4, "frame": 4, "choos": [4, 7], "pixelshuffl": 4, "randomli": 4, "shuffl": 4, "its": 4, "posit": 4, "runcellpos": [4, 6], "cellpos": [4, 7], "generalist": 4, "algorithm": 4, "cellular": 4, "segment": 4, "great": 4, "point": [4, 6], "non": 4, "round": 4, "cell": 4, "pre": 4, "train": 4, "gpu": 4, "dramat": 4, "effici": 4, "ye": 4, "runilastik": [4, 6, 7], "runilasitk": 4, "ilastik": [4, 6], "project": 4, "predict": [4, 6], "probabl": 4, "type": [4, 7], "classif": 4, "autocontext": 4, "2": [4, 6, 7], "stage": 4, "runimagejscript": 4, "imagej": [4, 7], "script": 4, "directli": [4, 7], "significantli": 4, "runimagejmacro": 4, "less": 4, "leav": 4, "behind": 4, "temporari": 4, "imagejscript": 4, "though": 4, "conda": [4, 7], "prefer": [4, 5, 7], "runomnipos": 4, "omnipos": 4, "build": [4, 7], "runstardist": 4, "stardist": [4, 7], "detect": [4, 7], "star": 4, "convex": 4, "shape": 4, "best": 4, "suit": 4, "nuclei": 4, "ish": 4, "faster": 4, "variancetransform": 4, "calcul": 4, "varianc": 4, "window": [4, 5, 7], "size": 4, "optim": 4, "predetermin": 4, "obtain": 4, "maximum": 4, "solut": 5, "after": [5, 7], "folder": [5, 6, 7], "won": 5, "open": [5, 7], "error": [5, 7], "suppli": 5, "parent": 5, "active_plugin": [5, 7], "order": 5, "chang": 5, "path": [5, 7], "panel": [5, 7], "properli": [5, 7], "go": [5, 7], "directori": [5, 7], "just": [5, 7], "clone": [5, 7], "select": [5, 6, 7], "save": [5, 7], "bottom": [5, 7], "Not": 5, "unmet": [5, 7], "primarili": 6, "reason": 6, "were": [6, 7], "made": 6, "major": 6, "updat": 6, "Their": 6, "longer": 6, "welcom": 6, "limit": 6, "bandwidth": 6, "complet": 6, "commit": 6, "team": 6, "contribut": 6, "unmaintained_plugin": 6, "cellprofiler2": 6, "cellprofiler3": 6, "cellprofiler4": 6, "cellprofiler4_autoconvert": 6, "automat": [6, 7], "convert": 6, "python2": 6, "python3": [6, 7], "transit": 6, "never": 6, "fulli": 6, "why": 6, "classifypixelsunet": 6, "classifi": 6, "edg": 6, "bodi": 6, "As": 6, "far": 6, "awar": 6, "better": 6, "declumpobject": 6, "split": 6, "seed": 6, "watersh": 6, "method": 6, "wa": 6, "ad": 6, "4": [6, 7], "0": [6, 7], "anymor": 6, "onc": 7, "useabl": 7, "appear": 7, "typic": 7, "consid": 7, "experiment": 7, "show": 7, "report": 7, "bug": 7, "relat": 7, "main": 7, "doe": 7, "outsid": 7, "veri": 7, "simpl": 7, "three": 7, "simpler": 7, "complex": 7, "third": 7, "simplest": 7, "desktop": 7, "look": 7, "tabl": 7, "know": 7, "websit": 7, "Or": 7, "mac": 7, "intel": 7, "appl": 7, "silicon": 7, "linux": 7, "git": 7, "com": 7, "altern": 7, "place": 7, "abl": 7, "again": 7, "didn": 7, "whatev": 7, "locat": 7, "now": 7, "readi": 7, "cd": 7, "sai": 7, "zsh": 7, "somepackag": 7, "put": 7, "dot": 7, "squar": 7, "bracket": 7, "singl": 7, "quot": 7, "ie": 7, "conflict": 7, "environ": 7, "technic": 7, "possibl": 7, "quit": 7, "troublesom": 7, "identifi": 7, "cellpose_dep": 7, "what": 7, "begin": 7, "compar": 7, "alreadi": 7, "caveat": 7, "often": 7, "notic": 7, "cellprofiler_cor": 7, "sy": 7, "thread": 7, "comparison": 7, "skimag": 7, "yml": 7, "list": 7, "scikit": 7, "core": 7, "remain": 7, "pyimagej": 7, "initi": 7, "proper": 7, "subsequ": 7, "step": 7, "instanc": 7, "3": 7, "8": 7, "check": 7, "name": 7, "py38": 7, "replac": 7, "give": 7, "miniconda": 7, "mamba": 7, "similar": 7, "manual": 7, "pyenv": 7, "multipl": 7, "9": 7, "homebrew": 7, "sometim": 7, "case": 7, "specifi": 7, "alwai": 7, "doubl": 7, "copi": 7, "On": 7, "program": 7, "applic": 7, "app": 7, "content": 7, "maco": 7, "otherwis": 7, "curiou": 7, "ls": 7, "dir": 7, "admin": 7, "privileg": 7, "right": 7, "click": 7, "cmd": 7, "ex": 7, "powershel": 7, "administr": 7, "target": 7, "cp": 7, "ij": 7, "confus": 7, "bundl": 7, "pythonpath": 7, "u": 7, "upgrad": 7, "overwrit": 7, "exist": 7, "potenti": 7, "incompat": 7, "ones": 7, "usual": 7, "over": 7, "simpli": 7, "enter": 7, "someth": 7, "usernam": 7, "mambaforg": 7, "env": 7, "lib": 7, "site": 7, "miniforge3": 7, "final": 7, "correspond": 7, "dist": 7, "info": 7, "pytz": 7, "These": 7, "xarrai": 7, "imglyb": 7, "jgo": 7, "jpype": 7, "_jpype": 7, "cpython": 7, "38": 7, "darwin": 7, "when": 7, "miss": 7, "messag": 7, "tell": 7, "launch": 7, "slow": 7}, "objects": {}, "objtypes": {}, "objnames": {}, "titleterms": {"cite": [0, 1], "cellprofil": [0, 2, 7], "plugin": [0, 1, 2, 4, 6, 7], "contribut": [1, 2], "new": 1, "bug": 1, "fix": 1, "updat": 1, "deprec": 1, "have": 1, "your": 1, "what": [2, 6], "ar": [2, 6], "how": 2, "do": 2, "i": 2, "us": [2, 3, 7], "avail": 2, "who": 2, "made": 2, "thi": 2, "runcellpos": [3, 7], "gpu": 3, "support": 4, "troubleshoot": 5, "current": 6, "unsupport": 6, "where": 6, "instal": 7, "without": 7, "depend": 7, "from": 7, "sourc": 7, "pre": 7, "built": 7, "e": 7, "g": 7, "runimagejscript": 7, "runimagej": 7, "script": 7, "docker": 7, "bypass": 7, "requir": 7, "version": 8, "histori": 8}, "envversion": {"sphinx.domains.c": 2, "sphinx.domains.changeset": 1, "sphinx.domains.citation": 1, "sphinx.domains.cpp": 6, "sphinx.domains.index": 1, "sphinx.domains.javascript": 2, "sphinx.domains.math": 2, "sphinx.domains.python": 3, "sphinx.domains.rst": 2, "sphinx.domains.std": 2, "sphinx.ext.intersphinx": 1, "sphinx": 56}}) \ No newline at end of file diff --git a/using_plugins.html b/using_plugins.html index 03d7ca5..31eed94 100644 --- a/using_plugins.html +++ b/using_plugins.html @@ -434,23 +434,20 @@

Installation

Installing plugins without dependencies#

-
    -
  1. Install CellProfiler.
    -Download a binary (pre-built) version of CellProfiler from the CellProfiler website.

  2. -
+
    +
  1. Install CellProfiler.

    +

    Download a binary (pre-built) version of CellProfiler from the CellProfiler website.

    Or, you can install CellProfiler from source (See instructions for: Windows; Mac Intel; Mac Apple Silicon; Linux)

    -
      -
    1. Clone the CellProfiler-plugins repository. -This will download all of the plugins in the CellProfiler-plugins repository.

    2. -
    +
  2. +
  3. Clone the CellProfiler-plugins repository.

    +

    This will download all of the plugins in the CellProfiler-plugins repository.

    In your terminal, type

    git clone https://github.com/CellProfiler/CellProfiler-plugins.git
     

    Alternatively, if you have code for plugins that are not in the CellProfiler-plugins repository, you can place them in any folder that you’ll be able to find again.

    -
      -
    1. Set the plugins path in CellProfiler.

    2. -
    +
  4. +
  5. Set the plugins path in CellProfiler.

    • Open CellProfiler.

    • Go to CellProfiler => Preferences and set the path in the CellProfiler plugins directory to the active_plugins folder in the GitHub repository that you just cloned (or, if you didn’t clone the whole repository, whatever location you have saved your plugins into).

    • @@ -459,73 +456,72 @@

      Installing plugins without dependencies

      Installing plugins with dependencies, using CellProfiler from source#

      -
        -
      1. Install CellProfiler.
        -Install CellProfiler from source (See instructions for: Windows; Mac Intel; Mac Apple Silicon; Linux)

      2. -
      3. Clone the CellProfiler-plugins repository. -In your terminal, type

      4. -
      +
        +
      1. Install CellProfiler.

        +

        Install CellProfiler from source (See instructions for: Windows; Mac Intel; Mac Apple Silicon; Linux)

        +
      2. +
      3. Clone the CellProfiler-plugins repository.

        +

        In your terminal, type:

        git clone https://github.com/CellProfiler/CellProfiler-plugins.git
         
        -
          -
        1. Set the plugins path in CellProfiler.

        2. -
        +
      4. +
      5. Set the plugins path in CellProfiler.

        • Open CellProfiler.

        • Go to CellProfiler => Preferences and set the path in the CellProfiler plugins directory to the active_plugins folder in the GitHub repository that you just cloned.

        • Select Save at the bottom of the Preferences window

        • Close CellProfiler

        -
          -
        1. Install the dependencies for your plugin. -In your terminal, type the following, where FLAG is the flag specific to the module you would like to run, as noted in Supported Plugins.

        2. -
        +
      6. +
      7. Install the dependencies for your plugin.

        +

        In your terminal, type the following, where FLAG is the flag specific to the module you would like to run, as noted in Supported Plugins:

        cd CellProfiler-plugins
         pip install -e .[FLAG]
         

        e.g. To install Cellpose the pip install command would be pip install -e .[cellpose]

        If using Mac and getting an error saying zsh: no matches found: .[somepackage], put the dot and square brackets in single quotes, ie pip install -e '.[cellpose]'

        -
          -
        1. Open and use CellProfiler.

        2. -
        +
      8. +
      9. Open and use CellProfiler.

        Please note that plugins that have separate install flags may have conflicting dependencies so we recommend making a separate python environment in which to run separate installations. (e.g. while having CellPose and StarDist in the same python environment is technically possible, it has been reported to be quite troublesome to install, so we recommend choosing either CellPose or StarDist.)

        +
      10. +

      Installing plugins with dependencies, using pre-built CellProfiler#

      -
        -
      1. Install CellProfiler.
        -Download a binary (pre-built) version of CellProfiler from the CellProfiler website.

      2. -
      3. Clone the CellProfiler-plugins repository. -In your terminal, type

      4. -
      +
        +
      1. Install CellProfiler.

        +

        Download a binary (pre-built) version of CellProfiler from the CellProfiler website.

        +
      2. +
      3. Clone the CellProfiler-plugins repository.

        +

        In your terminal, type

        git clone https://github.com/CellProfiler/CellProfiler-plugins.git
         
        -
          -
        1. Set the plugins path in CellProfiler.

        2. -
        +
      4. +
      5. Set the plugins path in CellProfiler.

        • Open CellProfiler.

        • Go to CellProfiler => Preferences and set the path in the CellProfiler plugins directory to the active_plugins folder in the GitHub repository that you just cloned.

        • Select Save at the bottom of the Preferences window

        • Close CellProfiler

        -
          -
        1. Identify the Python dependencies of the plugins you want to use. -You can find this information for most plugins by looking in setup.py.

        2. -
        +
      6. +
      7. Identify the Python dependencies of the plugins you want to use.

        +

        You can find this information for most plugins by looking in setup.py.

        e.g. using RunCellpose plugin

        If you would like to install the RunCellpose plugin, in setup.py you can see that cellpose_deps = ["cellpose>=1.0.2"] so the only dependency is cellpose.

        -

        Alternatively, you can find this information directly in the plugin code itself by looking at what is imported at the beginning of the plugin. -Note that you will want to compare any imports to what is already required by CellProfiler with that caveat that dependencies often have dependencies.

        +

        Alternatively, you can find this information directly in the plugin code itself by looking at what is imported at the beginning of the plugin.

        +

        Note that you will want to compare any imports to what is already required by CellProfiler with that caveat that dependencies often have dependencies.

        e.g. using RunImageJScript plugin

        If you would like to install the RunImageJScript plugin, you’ll notice a number of imports in the beginning of the plugin code. @@ -534,36 +530,62 @@

        Installing plugins with dependencies, using pre-built CellProfilerskimage is already installed (you can see this in CellProfiler’s environment.yml which lists scikit-image as a cellprofiler-core dependency or in CellProfiler’s setup.py which lists scikit-image as an installation requirement). What remains is pyimagej

        -
          -
        1. Create a conda environment and install requirements in it -Create a conda (or other virtual) environment with a Python version matching that of CellProfiler. -CellProfiler 4 uses Python 3.8 (which you can see in CellProfiler’s setup.py). -Activate the environment and install the plugin requirement/s into it.

        2. -
        -

        In your terminal, type

        -
        # Create a conda environment
        -conda create --name ENV_NAME python=3.8
        -# Activate the conda environment
        -conda activate ENV_NAME
        -# Install the plugin requirement/s
        -pip install REQUIREMENT
        +
      8. +
      9. Initialize the proper version of python

        +

        For the subsequent steps, make sure to use the same version of python that CellProfiler uses. For instance, CellProfiler 4 uses python 3.8, (which you can see in CellProfiler’s setup.py). You can check what version of python you’re using in the terminal:

        +
        python --version
         
        -
        -

        e.g. using RunImageJScript plugin

        -

        conda create –name cp-ij python=3.8 -conda activate cp-ij -pip install pyimagej

        +

        If necessary, you can create a conda environment with a specific version of python.

        +
        conda create --name py38 python=3.8
        +conda activate py38
        +
        -
          -
        1. Copy plugin requirements into CellProfiler installation -Find the folder that you installed into in the previous step (where to find these libraries in your local environment) by entering pip show REQUIREMENT into your terminal e.g. pip show pyimagej. -In the information it returns, under Location you will find a path that will look something like /Users/eweisbar/mambaforge/envs/cp-ij/lib/python3.8/site-packages.

        2. -
        -

        Find the folder in which you have installed CellProfiler. -On Windows this is likely to be C:\Program Files\CellProfiler and on Mac it is likely to be /Applications/CellProfiler.app/Contents/MacOS/. -In your terminal, if you ls (for Mac) or dir (for Windows) that folder (e.g. ls /Applications/CellProfiler.app/Contents/MacOS/), you should see a list of all the dependencies that were packaged with CellProfiler.

        -

        Copy the folders and their corresponding .dist-info folders (e.g. pytz and pytz-2023.3.dist-info) for any dependencies that were installed with the installation of pyimagej that are not already in the CellProfiler folder.

        +

        You may replace the value after --name with whatever name you’d like to give to the environment. +If you don’t have conda/miniconda/mamba or similar, you can either manually install python directly, or use a tool like pyenv to manage different versions of python:

        + +
        +

        Note

        +

        If you have multiple versions of python (e.g. you have python 3.8 and python 3.9 both installed with homebrew on Mac), it is sometimes the case that you may need to specify an exact pip version in the below steps, e.g. pip3.8 instead of just pip. You can always double check you’re using the correct pip with pip --version.

        +
        +
      10. +
      11. Install or copy requirements into CellProfiler installation.

        +

        Find the folder in which you have installed CellProfiler. On Windows, this is likely to be C:\Program Files\CellProfiler, and on Mac, it is likely to be /Applications/CellProfiler.app/Contents/MacOS/, but otherwise will be /path/to/CellProfiler.app/Contents/MacOS/. +If you’re curious, you can run ls (on Mac) or dir (Windows) on this directory, and you will see all of the dependencies that were packaged with CellProfiler.

        +

        In your terminal run a pip installation, replacing </path/to/CellProfiler> with the path you found above. If you’re on Windows, depending on where CellProfiler is installed, you may need to do this in a terminal running with admin privileges, which you can do by right-clicking on cmd.exe (or powershell) and clicking “Run as Administrator”.

        +
        pip install --target=</path/to/CellProfiler> REQUIRMENTS
        +
        +
        +
        +

        e.g. using RunImageJ script

        +

        conda create –name cp-ij python=3.8

        +

        conda activate cp-ij

        +

        pip install –target=/Applications/CellProfiler.app/Contents/MacOS/ pyimagej

        +
        +
        +

        Note

        +

        Do not run the pip install from within the CellProfiler directory. If you run pip with your terminal’s current working directory inside the CellProfiler directory, you will confuse pip, since there is a version of python bundled with CellProfiler and your PATH and/or PYTHONPATH may include your current working directory.

        +
        +
        +

        Note

        +

        Do not use the -U or --upgrade flag as that will overwrite existing CellProfiler dependencies with potentially incompatible ones.

        +
        +

        Alternatively, you may install the dependencies as usual, and manually copy over only specific requirements into the CellProfiler directory. To do this with conda or similar, you may activate that environment and simply run pip without the --target flag:

        +
        pip install REQUIRMENTS
        +
        +
        +
        +

        e.g. using RunImageJ script

        +

        conda create –name cp-ij python=3.8

        +

        conda activate cp-ij

        +

        pip install pyimagej

        +
        +

        Then you may find the default folder that pip installs packages into by entering pip show REQUIREMENT into your terminal e.g. pip show pyimagej. +In the information it returns, under Location you will find a path that will look something like (Mac) /Users/username/mambaforge/envs/cp-ij/lib/python3.8/site-packages or (Windows) c:\users\username\miniforge3\envs\cp\lib\site-packages.

        +

        Finally you may manually copy the folders and their corresponding .dist-info folders (e.g. pytz and pytz-2023.3.dist-info) for any dependencies that were installed with the installation of e.g. pyimagej that are not already in the CellProfiler folder.

        e.g. using RunImageJScript plugin

        These are all the folders you need to copy over: @@ -580,24 +602,28 @@

        Installing plugins with dependencies, using pre-built CellProfilerimagej pyimagej-1.4.1.dist-info

        -
          -
        1. Open and use CellProfiler. -When you try to run your plugin in your pipeline, if you have missed copying over any specific requirements, it will give you an error message that will tell you what dependency is missing in the terminal window that opens with CellProfiler on Windows machines. -This information is not available in Mac machines.

        2. + +
        3. Open and use CellProfiler.

          +

          When you try to run your plugin in your pipeline, if you have missed copying over any specific requirements, it will give you an error message that will tell you what dependency is missing in the terminal window that opens with CellProfiler on Windows machines.

          +

          This information is not available in Mac machines when you launch the application directly (by double clicking CellProfiler.app). However you may instead open the application with your terminal: /path/to/CellProfiler.app/Contents/MacOS/cp.

          +

      Using Docker to bypass installation requirements#

      -
        -
      1. Download Docker -Download Docker Desktop from Docker.com.

      2. +
          +
        1. Download Docker

          +

          Download Docker Desktop from Docker.com.

          +
        2. Run Docker Desktop -Open Docker Desktop. -Docker Desktop will need to be open every time you use a plugin with Docker. Please have a look at this table to know if a docker version is available for a plugin.

        3. -
        4. Select “Run with Docker” -In your plugin, select Docker for “Run module in docker or local python environment” setting. -On the first run of the plugin, the Docker container will be downloaded, however, this slow downloading process will only have to happen -once.

        5. +Open Docker Desktop.

          +
        +

        Docker Desktop will need to be open every time you use a plugin with Docker. Please have a look at this table to know if a docker version is available for a plugin.

        +
          +
        1. Select “Run with Docker”

          +

          In your plugin, select Docker for “Run module in docker or local python environment” setting.

          +

          On the first run of the plugin, the Docker container will be downloaded, however, this slow downloading process will only have to happen once.

          +