starfish: scalable pipelines for image-based transcriptomics
============================================================

.. image:: https://github.com/spacetx/starfish/blob/64add94b51dbf6f8f5fd614b02c4dfbf4b0d702d/docs/source/_static/design/logo.png?raw=True
    :alt: starfish logo
    :width: 312
    :height: 127
    :align: center

-----------------------------

.. image:: https://img.shields.io/badge/dynamic/json.svg?label=forum&url=https%3A%2F%2Fforum.image.sc%2Ftags%2Fstarfish.json&query=%24.topic_list.tags.0.topic_count&colorB=brightgreen&suffix=%20topics&logo=data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAA4AAAAOCAYAAAAfSC3RAAABPklEQVR42m3SyyqFURTA8Y2BER0TDyExZ+aSPIKUlPIITFzKeQWXwhBlQrmFgUzMMFLKZeguBu5y+//17dP3nc5vuPdee6299gohUYYaDGOyyACq4JmQVoFujOMR77hNfOAGM+hBOQqB9TjHD36xhAa04RCuuXeKOvwHVWIKL9jCK2bRiV284QgL8MwEjAneeo9VNOEaBhzALGtoRy02cIcWhE34jj5YxgW+E5Z4iTPkMYpPLCNY3hdOYEfNbKYdmNngZ1jyEzw7h7AIb3fRTQ95OAZ6yQpGYHMMtOTgouktYwxuXsHgWLLl+4x++Kx1FJrjLTagA77bTPvYgw1rRqY56e+w7GNYsqX6JfPwi7aR+Y5SA+BXtKIRfkfJAYgj14tpOF6+I46c4/cAM3UhM3JxyKsxiOIhH0IO6SH/A1Kb1WBeUjbkAAAAAElFTkSuQmCC
    :target: https://forum.image.sc/tag/starfish
    :alt: Image.sc forum

.. image:: https://img.shields.io/pypi/v/starfish
    :target: https://pypi.org/project/starfish/
    :alt: PyPI

.. image:: https://img.shields.io/pypi/dm/starfish
   :target: https://pypistats.org/packages/starfish
   :alt: PyPI - Downloads

.. image:: https://readthedocs.org/projects/spacetx-starfish/badge/?version=latest
    :target: https://spacetx-starfish.readthedocs.io/en/latest/?badge=latest
    :alt: Documentation Status

.. image:: https://github.com/spacetx/starfish/actions/workflows/starfish-prod-ci.yml/badge.svg?branch=master
    :target: https://github.com/spacetx/starfish/actions/workflows/starfish-prod-ci.yml
    :alt: starfish production CI

.. image:: https://codecov.io/gh/spacetx/starfish/branch/master/graph/badge.svg
    :target: https://codecov.io/gh/spacetx/starfish
    :alt: Code Coverage

-------------------------------

**starfish** is a Python library for processing images of image-based spatial transcriptomics.
It lets you build scalable pipelines that localize and quantify RNA transcripts in image data
generated by any FISH method, from simple RNA single-molecule FISH to combinatorial barcoded
assays.

- `Starfish enterprise: finding RNA patterns in single cells <https://www.nature.com/articles/d41586-019-02477-9>`_, Nature Technology Feature, Aug 2019
- `Developing a Computational Pipeline and Benchmark Datasets for Image-Based Transcriptomics <https://www.ascb.org/science-news/developing-a-computational-pipeline-and-benchmark-datasets-for-image-based-transcriptomics/>`_, ASCB Science News, Dec 2018

Documentation
-------------

See `spacetx-starfish.readthedocs.io <https://spacetx-starfish.readthedocs.io/en/latest/>`_ for the `quickstart <https://spacetx-starfish.readthedocs.io/en/latest/gallery/quick_start/plot_quick_start.html>`_, `user guide <https://spacetx-starfish.readthedocs.io/en/latest/user_guide/>`_, `examples <https://spacetx-starfish.readthedocs.io/en/latest/gallery/>`_, and `API <https://spacetx-starfish.readthedocs.io/en/latest/api/>`_.

Installation
------------

starfish supports python 3.9-3.12 and can easily be installed from PyPI:

.. code-block:: bash

    $ pip install starfish

for the most updated version install directly from Github (starfish release on PyPI might be a few months behind the repo's master branch):

.. code-block:: bash

    $ pip install starfish@git+https://github.com/spacetx/starfish.git

To install starfish with napari (for interactive visualization), use:

.. code-block:: bash

    $ pip install starfish[napari]

To install starfish with both napari and jupyter (for notebook support), use:

.. code-block:: bash

    $ pip install starfish[jupyter]

`For any difficulties with dependencies, see more detailed installation instructions at https://spacetx-starfish.readthedocs.io/en/latest/installation/ <https://spacetx-starfish.readthedocs.io/en/latest/installation/>`_.

Python Version Notice
---------------------

starfish will be dropping support for python 3.9 in future release when
upstream dependencies will require a minimum python=3.10 version.

Contributing
------------

We welcome contributions from our users! See our contributing.rst_ and `developer guide`_ for more information.

.. _`developer guide`: https://spacetx-starfish.readthedocs.io/en/latest/developer_guide/
.. _contributing.rst: https://github.com/spacetx/starfish/blob/master/CONTRIBUTING.rst

Help, support, and questions
----------------------------

- Forum: ask on the `Image.sc forum <https://forum.image.sc/tag/starfish>`_
- Email: `starfish@chanzuckerberg.com <mailto:starfish@chanzuckerberg.com>`_
