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. Image processing of an experiment is divided into fields of view (FOV) that correspond to the data produced by a microscope at a single location on a microscope slide. Each FOV is processed into a table of spots localized in 3D and then spots are aggregated into a cell x gene expression matrix by comparing physical positions of spots and cells.

If you want to give it a try, the quick start tutorial will guide you from installation to running a pipeline in under 10 minutes. For more comprehensive instructions on how to use starfish, see the user guide on creating image-based transcriptomics processing pipelines, which organizes and contextualizes the tutorials on running starfish using the API. Finally, advanced users can examine the Data Structures and Help & Reference sections to learn more details about starfish and its object models.

In addition to the library of image processing functions, starfish introduces a standardized data format for image-based spatial transcriptomic assays. Examples and tutorials for formatting your data into the SpaceTx format can be found in Formatting Data.

Features