Skip to main content

An automatic deep learning algorithm for spot detection in fluorescence microscopy images.

Project description

Piscis

Piscis

piscis is an automatic deep learning algorithm for spot detection, written in Python using the JAX and 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 Cell Systems paper or bioRxiv preprint.

This Python package allows users to apply pre-trained models from Hugging Face 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 notebook environments such as on Google Colab. 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 for NimbusImage, 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

Examples

Installation

Install piscis from PyPI 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.

Usage

If you want to use piscis with its Python API, check out the inference example and training example 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 paper.

Niu, Z., O’Farrell, A., Li, J., Reffsin, S., Jain, N., Dardani, I., Goyal, Y., & Raj, A. (2025). Piscis: A loss estimator of the F1 score enables accurate spot detection in fluorescence microscopy images via deep learning. Cell Systems. https://doi.org/10.1016/j.cels.2025.101448

@article{Niu2025-Piscis,
    title={Piscis: A 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=2025,
    journal="Cell Systems",
    DOI={10.1016/j.cels.2025.101448}
}

License

piscis is licensed under the MIT License. The copyright and permission notices found in the LICENSE file shall be included in all copies or substantial portions of the Software.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

piscis-0.2.8.tar.gz (37.0 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

piscis-0.2.8-py3-none-any.whl (43.8 kB view details)

Uploaded Python 3

File details

Details for the file piscis-0.2.8.tar.gz.

File metadata

  • Download URL: piscis-0.2.8.tar.gz
  • Upload date:
  • Size: 37.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.0.1 CPython/3.12.8

File hashes

Hashes for piscis-0.2.8.tar.gz
Algorithm Hash digest
SHA256 bcc17aca894a55ff27c1bc51020421f86dfa82bff39ee1b3b292116fc0b6dd89
MD5 6b5c9cf61a96871d1886943f721b0d30
BLAKE2b-256 013ff8ca956ff1bc7dc575473f907de2d08f68cccac42f5bb01983a9afba0626

See more details on using hashes here.

File details

Details for the file piscis-0.2.8-py3-none-any.whl.

File metadata

  • Download URL: piscis-0.2.8-py3-none-any.whl
  • Upload date:
  • Size: 43.8 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.0.1 CPython/3.12.8

File hashes

Hashes for piscis-0.2.8-py3-none-any.whl
Algorithm Hash digest
SHA256 07a0d5c5ab05d39496d38c97a72716f5c384f0c1df7c3631a945c6becc14469b
MD5 3742311c18f627f992d4eae363dae02e
BLAKE2b-256 9816071b85883d0b52c1c0e1a684dd2f6489caca3a16160e44ca2544e751b1b1

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page