Metadata-Version: 2.4
Name: SCIMAP
Version: 2.4.0
Summary: Spatial Single-Cell Analysis Toolkit
License: MIT
License-File: LICENSE
Keywords: image analysis,multiplex imaging,single cell analysis
Author: Ajit Johnson Nirmal
Author-email: ajitjohnson.n@gmail.com
Requires-Python: >=3.12,<3.15
Classifier: Development Status :: 5 - Production/Stable
Classifier: License :: OSI Approved :: MIT License
Classifier: Natural Language :: English
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.12
Classifier: Programming Language :: Python :: 3.13
Classifier: Programming Language :: Python :: 3.14
Classifier: Programming Language :: Python :: 3 :: Only
Provides-Extra: napari
Requires-Dist: PhenoGraph (>=1.5.7,<2.0.0)
Requires-Dist: anndata (>=0.13.3.post0,<0.14.0)
Requires-Dist: combat (>=0.3.3,<0.4.0)
Requires-Dist: dask[array] (>=2026.8.0,<2027.0.0)
Requires-Dist: llvmlite (>=0.49.0,<0.50.0)
Requires-Dist: matplotlib (>=3.11.1,<4.0.0)
Requires-Dist: mkdocs (>=1.6.1,<2.0.0)
Requires-Dist: mkdocs-material (>=9.7.7,<10.0.0)
Requires-Dist: mpl-scatter-density (>=0.8,<0.9)
Requires-Dist: napari (>=0.9.1,<0.10.0) ; extra == "napari"
Requires-Dist: napari-ome-zarr (>=0.10.0,<0.11.0) ; extra == "napari"
Requires-Dist: numba (>=0.67.0,<0.68.0)
Requires-Dist: numpy (>=2.5.3,<3.0.0)
Requires-Dist: pandas (>=3.0.5,<4.0.0)
Requires-Dist: plotly (>=7.0.0,<8.0.0)
Requires-Dist: pyqt6 (>=6.11.0,<7.0.0) ; extra == "napari"
Requires-Dist: pytest (>=9.1.1,<10.0.0)
Requires-Dist: pytest-xvfb (>=3.1.1,<4.0.0)
Requires-Dist: scanpy (>=1.12.4,<2.0.0)
Requires-Dist: scikit-learn (>=1.9.0,<2.0.0)
Requires-Dist: scipy (>=1.18.1,<2.0.0)
Requires-Dist: seaborn (>=0.13.2,<0.14.0)
Requires-Dist: shapely (>=2.1.2,<3.0.0)
Requires-Dist: tifffile (>=2026.9.9,<2027.0.0)
Requires-Dist: zarr (>=3.3.0,<4.0.0)
Project-URL: Documentation, https://scimap.xyz
Project-URL: Homepage, https://pypi.org/project/scimap/
Project-URL: Repository, https://github.com/labsyspharm/scimap
Description-Content-Type: text/markdown

# SCIMAP: A Python Toolkit for Integrated Spatial Analysis of Multiplexed Imaging Data
<br>

[![build-unix-mac-win](https://github.com/labsyspharm/scimap/actions/workflows/build-unix-mac-win.yml/badge.svg)](https://github.com/labsyspharm/scimap/actions/workflows/build-unix-mac-win.yml)
[![docs](https://github.com/labsyspharm/scimap/actions/workflows/docs.yml/badge.svg)](https://github.com/labsyspharm/scimap/actions/workflows/docs.yml)
[![Downloads](https://pepy.tech/badge/scimap)](https://pepy.tech/project/scimap)
[![PyPI Version](https://img.shields.io/pypi/v/scimap.svg)](https://pypi.org/project/scimap)
[![PyPI License](https://img.shields.io/pypi/l/scimap.svg)](https://pypi.org/project/scimap)
[![DOI](https://joss.theoj.org/papers/10.21105/joss.06604/status.svg)](https://doi.org/10.21105/joss.06604)

<br>

<img src="./docs/assets/scimap_logo.jpg" style="max-width:700px;width:100%" >

<br> 

*Scimap* is a scalable toolkit for analyzing spatial molecular data. The underlying framework is generalizable to spatial datasets mapped to XY coordinates. The package uses the [anndata](https://anndata.readthedocs.io/en/stable/anndata.AnnData.html) framework making it easy to integrate with other popular single-cell analysis toolkits. It includes preprocessing, phenotyping, visualization, clustering, spatial analysis and differential spatial testing. The Python-based implementation efficiently deals with large datasets of millions of cells.

## Citing scimap
Nirmal et al., (2024). SCIMAP: A Python Toolkit for Integrated Spatial Analysis of Multiplexed Imaging Data. *Journal of Open Source Software*, 9(97), 6604, [https://doi.org/10.21105/joss.06604](https://joss.theoj.org/papers/10.21105/joss.06604#)

## Installation

We strongly recommend installing `scimap` in a fresh virtual environment.

```
# If you have conda installed
conda create --name scimap python=3.10
conda activate scimap
```

Install `scimap` directly into an activated virtual environment:
  
**Firstly, we suggest installing `scimap` and `napari` together to enable visualization out of the box. Keep in mind, `napari` needs a GUI toolkit, such as PyQt. If you run into any issues because of your computer's operating system, install `scimap` and `napari` separately by following the guidance in `napari's` documentation.**

Here's how you can install both using pip:

```python
pip install "scimap[napari]"
```

**If you encounter a problem with PyQt6 during the installation, you can install `scimap` alone first. Later on, if you find you need `napari`, you can go ahead and install it by itself.**

To install just `scimap`:

```python
pip install scimap
```

After installation, the package can be imported as:

```python
$ python
>>> import scimap as sm
```


## Get Started

#### Detailed documentation of `scimap` functions and tutorials are available [here](http://scimap.xyz/).

*Scimap* development was led by [Ajit Johnson Nirmal](https://ajitjohnson.com/), Harvard Medical School.  
Check out other tools from the [Nirmal Lab](https://nirmallab.com/tools/). 


## Contibute
Interested in contributing to the package? Check out our guidelines at [https://scimap.xyz/contribute/](https://scimap.xyz/contribute/) for detailed instructions.


## Funding
This work was supported by the following NIH grant K99-CA256497


