Metadata-Version: 2.1
Name: SCIMAP
Version: 2.1.3
Summary: Spatial Single-Cell Analysis Toolkit
Home-page: https://pypi.org/project/scimap/
License: MIT
Keywords: image analysis,multiplex imaging,single cell analysis
Author: Ajit Johnson Nirmal
Author-email: ajitjohnson.n@gmail.com
Requires-Python: >=3.9,<3.13
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.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Provides-Extra: napari
Requires-Dist: PhenoGraph (>=1.5.7,<2.0.0)
Requires-Dist: TiffFile (>=2023.9.26,<2024.0.0)
Requires-Dist: anndata (>=0.10.5.post1,<0.11.0)
Requires-Dist: combat (>=0.3.3,<0.4.0)
Requires-Dist: dask[array] (>=2023.11.0,<2024.0.0)
Requires-Dist: gensim (>=4.3.2,<5.0.0)
Requires-Dist: llvmlite (>=0.41.1,<0.42.0)
Requires-Dist: matplotlib (>=3.8.1,<4.0.0)
Requires-Dist: mkdocs (>=1.5.3,<2.0.0)
Requires-Dist: mkdocs-material (>=9.4.8,<10.0.0)
Requires-Dist: mpl-scatter-density (>=0.7,<0.8)
Requires-Dist: napari (>=0.4.18,<0.5.0) ; extra == "napari"
Requires-Dist: napari-ome-zarr (>=0.4.0,<0.5.0) ; extra == "napari"
Requires-Dist: numba (>=0.58.1)
Requires-Dist: numpy (>=1.26.2,<2.0.0)
Requires-Dist: pandas (>=1.5.3)
Requires-Dist: plotly (>=5.18.0,<6.0.0)
Requires-Dist: pyqt6 (>=6.6.1,<7.0.0) ; extra == "napari"
Requires-Dist: pytest (>=7.4.3,<8.0.0)
Requires-Dist: pytest-xvfb (>=3.0.0,<4.0.0)
Requires-Dist: scanpy (>=1.9.6,<2.0.0)
Requires-Dist: scikit-learn (>=1.4.2,<2.0.0)
Requires-Dist: scipy (>1.11.3,<=1.12.0)
Requires-Dist: seaborn (>=0.13.2,<0.14.0)
Requires-Dist: shapely (>=2.0.2,<3.0.0)
Requires-Dist: tifffile (>=2023.9.26,<2024.0.0)
Requires-Dist: zarr (==2.10.3)
Project-URL: Documentation, https://scimap.xyz
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/ajitjohnson/scimap/actions/workflows/build-unix-mac-win.yml/badge.svg)](https://github.com/ajitjohnson/scimap/actions/workflows/build-unix-mac-win.yml)
[![Docs](https://github.com/ajitjohnson/scimap/actions/workflows/docs.yml/badge.svg)](https://github.com/ajitjohnson/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


