Skip to main content

3D ST Visualization in Jupyter

Project description

SpatialVista - Interactive 3D Spatial Transcriptomics Visualization in Jupyter

Python Version License Platform Platform

Overview

SpatialVista is an interactive 3D spatial transcriptomics visualization tool designed specifically for Jupyter Notebook/Lab. It seamlessly integrates into your data analysis workflow, providing efficient and intuitive exploration of spatial omics data.

SpatialVista

✨ Key Features

  • 🚀 High-Performance Rendering - WebGL-based 3D rendering supporting millions of cells
  • 📊 Multi-Dimensional Data Display - Support for categorical annotations, continuous values, gene expression, and more
  • 🎨 Interactive Controls - Real-time adjustment of colors, transparency, point size, and other parameters
  • 🔬 2D/3D View Switching - Flexible switching between 3D point cloud and 2D slice views
  • 🧬 Gene Expression Query - Quick visualization of spatial expression patterns for any gene
  • 📐 Multiple Layout Modes - Support for original coordinates, 2D Treemap, histogram, and more
  • 🎯 Precise Filtering - Filter data points by category, numerical range, and other conditions
  • 💾 One-Click Screenshots - Easily save current views for publications and reports

🎯 Use Cases

SpatialVista is particularly suitable for:

  • Spatial Transcriptomics Data Exploration - Visium, MERFISH, seqFISH, STARmap, and other technologies
  • Single-Cell Spatial Data Analysis - Visualize spatial distribution of cell types
  • Tissue Architecture Studies - Explore molecular features of tissue regions
  • Gene Expression Pattern Analysis - View spatial expression of specific genes
  • Data Quality Control - Quickly check data integrity and outliers

🚀 Quick Start

Installation

pip install spatialvista

Basic Usage

import spatialvista as spv
import scanpy as sc

# Load spatial transcriptomics data
adata = sc.read_h5ad("spatial_data.h5ad")

# Create interactive visualization
widget = spv.vis(
    adata,
    position="spatial",  # obsm key containing spatial coordinates
    color="celltype",    # Default annotation for coloring
    height=600               # Widget height in pixels
)

# Display widget
widget

That's it! 🎉

📚 Core Features

1. Categorical Annotation Visualization

# Color by cell type
widget = spv.vis(
    adata,
    position="spatial",
    color="celltype",
    annotations=["leiden", "tissue_region"]  # Additional annotations to load
)

2. Continuous Value Visualization

# Visualize continuous values (e.g., QC metrics)
widget = spv.vis(
    adata,
    position="spatial",
    color="celltype",
    continuous=["total_counts", "n_genes"]  # Continuous value fields
)

3. Gene Expression Visualization

# View expression patterns of specific genes
widget = spv.vis(
    adata,
    position="spatial",
    color="celltype",
    genes=["Pecam1", "Cd3e", "Epcam"],  # Gene list
    layer="normalized"  # Optional: use specific layer if available
)

4. 2D/3D View Switching

# If data has section information, switch to 2D view in UI
widget = spv.vis(
    adata,
    position="spatial",
    color="celltype",
    section="slice_id",  # Section identifier field for section browser
)

🎨 Interactive Controls

Once displayed, the widget provides rich interactive controls for exploring your data:

  • Navigate in 3D space (rotate, pan, zoom)
  • Switch between annotations and customize colors
  • Query continuous values and gene expression
  • Filter by thresholds and hide specific categories
  • Adjust visualization parameters (size, opacity, layout)
  • Export screenshots

🤝 Contributing & Support

Issues and Pull Requests are welcome!

📄 License

SpatialVista is open-sourced under the MIT License.


Built with ❤️ by WenjieWei@YangLab

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

spatialvista-0.1.0.tar.gz (692.5 kB view details)

Uploaded Source

Built Distribution

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

spatialvista-0.1.0-py3-none-any.whl (700.4 kB view details)

Uploaded Python 3

File details

Details for the file spatialvista-0.1.0.tar.gz.

File metadata

  • Download URL: spatialvista-0.1.0.tar.gz
  • Upload date:
  • Size: 692.5 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.10.16

File hashes

Hashes for spatialvista-0.1.0.tar.gz
Algorithm Hash digest
SHA256 739a1f5ae3546111ad81e7bd5c60cc35cc71e80d93b0a5d9dcc509e8449c21e0
MD5 135c9b756d08ae0f68d886e85002ac12
BLAKE2b-256 3602cac906d33ea5f6f2fa58eb559a742ec4d0f85a7f00152e1f7560012c7500

See more details on using hashes here.

File details

Details for the file spatialvista-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: spatialvista-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 700.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.10.16

File hashes

Hashes for spatialvista-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 b2846a6a0bf929fc5da8ee0f8222c5838559b4e8238a097af57fb648907bcda8
MD5 41cd71037e9436f3965299c7b00c9194
BLAKE2b-256 96469e8a72e457f71f025343939cf537b769991ffc9508fc394939a88eb74d3a

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