# 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. To learn more about `piscis`, please read our
[preprint](https://doi.org/10.1101/2024.01.31.578123).
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.
For more information, please refer to the comprehensive documentation available at https://piscis.netlify.app.
## 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`.
## Citation
If you use `piscis` in your research, please cite our [preprint](https://doi.org/10.1101/2024.01.31.578123).
> Niu, Z., O’Farrell, A., Li, J., Reffsin, S., Jain, N., Dardani, I., Goyal, Y., & Raj, A. (2024). Piscis: A novel loss
> estimator of the F1 score enables accurate spot detection in fluorescence microscopy images via deep learning.
> _bioRxiv_. https://doi.org/10.1101/2024.01.31.578123
```
@article{Niu2024-Piscis,
title={Piscis: A novel loss estimator of the F1 score enables accurate spot detection in fluorescence microscopy images via deep learning},
author={Niu, Zijian and O’Farrell, Aoife and Li, Jingxin and Reffsin, Sam and Jain, Naveen and Dardani, Ian and Goyal, Yogesh and Raj, Arjun},
year=2024,
journal="bioRxiv",
DOI={10.1101/2024.01.31.578123}
}
```
## 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/01/e0/bebba30ffda8748b637a430762ac6fba5a8fe35af33efcff382c91c7ed91/piscis-0.2.5.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. To learn more about `piscis`, please read our\n[preprint](https://doi.org/10.1101/2024.01.31.578123).\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\nFor more information, please refer to the comprehensive documentation available at https://piscis.netlify.app.\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\n\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## Citation\n\nIf you use `piscis` in your research, please cite our [preprint](https://doi.org/10.1101/2024.01.31.578123).\n> Niu, Z., O\u2019Farrell, A., Li, J., Reffsin, S., Jain, N., Dardani, I., Goyal, Y., & Raj, A. (2024). Piscis: A novel loss\n> estimator of the F1 score enables accurate spot detection in fluorescence microscopy images via deep learning.\n> _bioRxiv_. https://doi.org/10.1101/2024.01.31.578123\n```\n@article{Niu2024-Piscis,\n title={Piscis: A novel loss estimator of the F1 score enables accurate spot detection in fluorescence microscopy images via deep learning},\n author={Niu, Zijian and O\u2019Farrell, Aoife and Li, Jingxin and Reffsin, Sam and Jain, Naveen and Dardani, Ian and Goyal, Yogesh and Raj, Arjun},\n year=2024,\n journal=\"bioRxiv\",\n DOI={10.1101/2024.01.31.578123}\n}\n```\n\n## License\n\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.2.5",
"project_urls": null,
"split_keywords": [
"machine learning",
" deep learning",
" spot detection",
" fluorescence microscopy"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "53bbc0b502b8ea5ffaa72d2e980bb8c945db9920421eb0d6e21143d6c7862528",
"md5": "3f047d77ea8b3d8e89326a0fddbeb766",
"sha256": "51f4bff3a444bb49420386c5c23a52e47db09bc77c8936ed8fac8f4be6642964"
},
"downloads": -1,
"filename": "Piscis-0.2.5-py3-none-any.whl",
"has_sig": false,
"md5_digest": "3f047d77ea8b3d8e89326a0fddbeb766",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": "<4,>=3.7",
"size": 43660,
"upload_time": "2024-12-02T06:10:23",
"upload_time_iso_8601": "2024-12-02T06:10:23.941906Z",
"url": "https://files.pythonhosted.org/packages/53/bb/c0b502b8ea5ffaa72d2e980bb8c945db9920421eb0d6e21143d6c7862528/Piscis-0.2.5-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "01e0bebba30ffda8748b637a430762ac6fba5a8fe35af33efcff382c91c7ed91",
"md5": "53e68878f3b13ee9fd50f9a7e8160197",
"sha256": "a34196980b9d32f8026ba84621dd11d3f085857b9fee1d9e896496529013c6c2"
},
"downloads": -1,
"filename": "piscis-0.2.5.tar.gz",
"has_sig": false,
"md5_digest": "53e68878f3b13ee9fd50f9a7e8160197",
"packagetype": "sdist",
"python_version": "source",
"requires_python": "<4,>=3.7",
"size": 36702,
"upload_time": "2024-12-02T06:10:25",
"upload_time_iso_8601": "2024-12-02T06:10:25.107196Z",
"url": "https://files.pythonhosted.org/packages/01/e0/bebba30ffda8748b637a430762ac6fba5a8fe35af33efcff382c91c7ed91/piscis-0.2.5.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-12-02 06:10:25",
"github": false,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"lcname": "piscis"
}