# Piscis
<img src="https://raw.githubusercontent.com/zjniu/piscis/main/docs/source/_static/logo.svg" width="40%" max-width="250" alt="Piscis" align="right">
`piscis` is an automatic deep learning algorithm for spot detection, written in Python using the
[JAX](https://github.com/google/jax) and [Flax](https://github.com/google/flax) libraries. It is named after the Latin
word for fish, as it was designed specifically for microscopy images generated by RNA fluorescence _in situ_
hybridization (FISH). However, we have found it to be useful for other imaging methods, such as immunofluorescence (IF)
and FISH-based spatial transcriptomics.
This Python package allows users to apply pre-trained models from [Hugging Face](https://huggingface.co/wniu/Piscis) to
both single plane images and z-stacks or to train new models using custom datasets. It provides a simple API for both
training and inference that can be used in traditional Python scripts or [Jupyter](https://jupyter.org/) notebook
environments such as on [Google Colab](https://colab.research.google.com/). It also provides a command line interface
for those who prefer the terminal. For a user-friendly graphical user interface, we have implemented `piscis` as a
[Docker image](https://github.com/arjunrajlaboratory/ImageAnalysisProject/tree/master/workers/annotations/piscis) for
[NimbusImage](https://github.com/Kitware/UPennContrast), a cloud platform for biological image analysis enabling
researchers to interactively visualize their data while leveraging state-of-the-art machine learning algorithms.
## Examples
<img src="https://raw.githubusercontent.com/zjniu/piscis/main/docs/source/_static/examples.png" width="750" alt="Examples">
## Installation
Install `piscis` from [PyPI](https://pypi.org/project/piscis/) with `pip`.
```
pip install piscis
```
By default, this will install the CPU version of JAX. If you would like to run or train `piscis` on a GPU or TPU, follow
[JAX's instructions](https://github.com/google/jax#instructions).
## Usage
If you want to use `piscis` with its Python API, check out the [inference example](notebooks/run_piscis.ipynb) and
[training example](notebooks/train_piscis.ipynb) notebooks.
If you want to use `piscis` with its command line interface, run the following commands.
```
# Run Piscis.
piscis predict INPUT_PATH OUTPUT_PATH [OPTIONS]
# Train Piscis.
piscis train MODEL_NAME DATASET_PATH [OPTIONS]
```
To see the full list of options, run `piscis predict --help` or `piscis train --help`.
## License
`piscis` is licensed under the MIT License. The copyright and permission notices found in the [LICENSE](LICENSE) file
shall be included in all copies or substantial portions of the Software.
Raw data
{
"_id": null,
"home_page": null,
"name": "Piscis",
"maintainer": null,
"docs_url": null,
"requires_python": "<4,>=3.7",
"maintainer_email": null,
"keywords": "machine learning, deep learning, spot detection, fluorescence microscopy",
"author": "William Niu",
"author_email": "wniu721@gmail.com",
"download_url": "https://files.pythonhosted.org/packages/49/e3/1fb3813a3ce5b0f83d0014437883e2bdfbdf359242cefd951153d0531634/piscis-0.1.2.tar.gz",
"platform": null,
"description": "# Piscis\n\n<img src=\"https://raw.githubusercontent.com/zjniu/piscis/main/docs/source/_static/logo.svg\" width=\"40%\" max-width=\"250\" alt=\"Piscis\" align=\"right\">\n\n`piscis` is an automatic deep learning algorithm for spot detection, written in Python using the\n[JAX](https://github.com/google/jax) and [Flax](https://github.com/google/flax) libraries. It is named after the Latin\nword for fish, as it was designed specifically for microscopy images generated by RNA fluorescence _in situ_\nhybridization (FISH). However, we have found it to be useful for other imaging methods, such as immunofluorescence (IF)\nand FISH-based spatial transcriptomics.\n\nThis Python package allows users to apply pre-trained models from [Hugging Face](https://huggingface.co/wniu/Piscis) to\nboth single plane images and z-stacks or to train new models using custom datasets. It provides a simple API for both\ntraining and inference that can be used in traditional Python scripts or [Jupyter](https://jupyter.org/) notebook\nenvironments such as on [Google Colab](https://colab.research.google.com/). It also provides a command line interface\nfor those who prefer the terminal. For a user-friendly graphical user interface, we have implemented `piscis` as a\n[Docker image](https://github.com/arjunrajlaboratory/ImageAnalysisProject/tree/master/workers/annotations/piscis) for\n[NimbusImage](https://github.com/Kitware/UPennContrast), a cloud platform for biological image analysis enabling\nresearchers to interactively visualize their data while leveraging state-of-the-art machine learning algorithms.\n\n\n## Examples\n\n<img src=\"https://raw.githubusercontent.com/zjniu/piscis/main/docs/source/_static/examples.png\" width=\"750\" alt=\"Examples\">\n\n\n## Installation\n\nInstall `piscis` from [PyPI](https://pypi.org/project/piscis/) with `pip`.\n```\npip install piscis\n```\n\nBy default, this will install the CPU version of JAX. If you would like to run or train `piscis` on a GPU or TPU, follow\n[JAX's instructions](https://github.com/google/jax#instructions).\n\n\n## Usage\nIf you want to use `piscis` with its Python API, check out the [inference example](notebooks/run_piscis.ipynb) and\n[training example](notebooks/train_piscis.ipynb) notebooks.\n\nIf you want to use `piscis` with its command line interface, run the following commands.\n```\n# Run Piscis.\npiscis predict INPUT_PATH OUTPUT_PATH [OPTIONS]\n\n# Train Piscis.\npiscis train MODEL_NAME DATASET_PATH [OPTIONS]\n```\nTo see the full list of options, run `piscis predict --help` or `piscis train --help`.\n\n## License\n`piscis` is licensed under the MIT License. The copyright and permission notices found in the [LICENSE](LICENSE) file\nshall be included in all copies or substantial portions of the Software.\n",
"bugtrack_url": null,
"license": null,
"summary": "An automatic deep learning algorithm for spot detection in fluorescence microscopy images.",
"version": "0.1.2",
"project_urls": null,
"split_keywords": [
"machine learning",
" deep learning",
" spot detection",
" fluorescence microscopy"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "ca15c5e4cb6e24b3a816cfd176ee7a7bcae1524a5f689ea3c57e51a783520ea4",
"md5": "9e754ced680abe7ac7f696c39cb5bfb6",
"sha256": "b60b948836447fcdfd3847ac9fdaecf539bacc622d38d96a88d4d1c3899fce2e"
},
"downloads": -1,
"filename": "Piscis-0.1.2-py3-none-any.whl",
"has_sig": false,
"md5_digest": "9e754ced680abe7ac7f696c39cb5bfb6",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": "<4,>=3.7",
"size": 42817,
"upload_time": "2024-05-09T16:49:31",
"upload_time_iso_8601": "2024-05-09T16:49:31.375754Z",
"url": "https://files.pythonhosted.org/packages/ca/15/c5e4cb6e24b3a816cfd176ee7a7bcae1524a5f689ea3c57e51a783520ea4/Piscis-0.1.2-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "49e31fb3813a3ce5b0f83d0014437883e2bdfbdf359242cefd951153d0531634",
"md5": "7cb9b2dae40ffa932cd9d5442490046b",
"sha256": "2df52770097295dec6e731d2a3c54092c280b2133bce7b475f793f37825b60c8"
},
"downloads": -1,
"filename": "piscis-0.1.2.tar.gz",
"has_sig": false,
"md5_digest": "7cb9b2dae40ffa932cd9d5442490046b",
"packagetype": "sdist",
"python_version": "source",
"requires_python": "<4,>=3.7",
"size": 36109,
"upload_time": "2024-05-09T16:49:32",
"upload_time_iso_8601": "2024-05-09T16:49:32.521008Z",
"url": "https://files.pythonhosted.org/packages/49/e3/1fb3813a3ce5b0f83d0014437883e2bdfbdf359242cefd951153d0531634/piscis-0.1.2.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-05-09 16:49:32",
"github": false,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"lcname": "piscis"
}