Vol. 01 · No. 1 · Beta Edition
Node reference

Spatial nodes.

Spatial transcriptomics end to end. Native loaders read a SpaceRanger folder (Visium, with H&E and scalefactors), one binned resolution of a Visium HD run, Xenium, MERSCOPE, CosMx and single-molecule transcript tables, or attach coordinates from a CSV. Then density QC, an interactive Plotly viewer with lasso / box / polygon selection, region grouping into obs labels, the spatial neighbour graph and squidpy statistics (neighborhood enrichment, co-occurrence, Moran / Geary / sepal autocorrelation, Ripley), Hotspot modules, BANKSY spatial domains, cellular neighborhoods, NNLS spot deconvolution, image features, and two ligand-receptor routes.

24 nodesCategory · spatialin 4 templates

Resolution matters

Xenium, MERSCOPE and CosMx are single-cell resolution; Visium and Visium HD are spot / bin based. Load Visium HD applies a bin-count guard before anything is read into memory — 8 µm bins are the practical starting point; a 2 µm run is tens of millions of bins and is not a bug when it is refused.

Every spatial statistic needs Spatial Neighbors first. Spatial Visualization then draws the overlays — 16 plot types, from an H&E overlay and transcript density to neighbourhood enrichment and ligand-receptor panels.

The Spatial Viewer keeps its zoom across re-renders, highlights a single group, and streams large tables in full (v0.25.0). Regions drawn with the lasso, box or polygon tools become an obs column through Spatial Grouping, which Subset Data can then filter on.

Common pitfalls

“No spatial coordinates.” Coordinates live in obsm['spatial']. Merge Cell Meta only writes obs columns and can never create them — use a native loader or Add Coordinates.

Ligand-Receptor (squidpy) needs the OmniPath intercell snapshot installed in the Resource Center, licence accepted. The shipped Spatial Full Analysis template stops at that node until you do; the other nodes still run.

sepal is grid-only. The sepal mode of Spatial Autocorrelation requires a regular grid (Visium / Visium HD) and refuses single-cell coordinates.

Load Transcripts

loadTranscriptssince v0.9.0-beta.41

Load single-molecule transcript locations (Xenium / MERFISH / seqFISH) into adata.uns["transcripts"]. Connect after Merge Cell Meta. Does not change adata.X; required for transcript dot overlays in Spatial Viewer.

Node LibrarySpatial
InAnnData
OutAnnData (uns["transcripts"] added)
Parameters (7)
NameTypeDefaultDescription
file_pathfile (.csv, .tsv, .txt, .parquet)—Transcript file. Parquet preferred for Xenium.
gene_coltextautoGene column name.
x_coltextautoX coordinate column.
y_coltextautoY coordinate column.
qscore_coltextautoQuality score column.
min_qscorenumber0Min Phred Q-score (Xenium standard: 20).
max_transcriptsnumber0Cap (0 = no limit). 5000000 recommended for Xenium.
Add Coordinates node

Add Coordinates

addSpatialCoordinates

Add spatial X/Y from CSV/TSV directly to obsm["spatial"]. Has its own loader — no Load CSV needed. Use this when you ONLY need X/Y. For full metadata, use Merge Cell Meta (which also handles obsm["spatial"]).

Node LibrarySpatial
InAnnData
OutAnnData (obsm["spatial"] set)
Parameters (7)
NameTypeDefaultDescription
coords_filefile (.csv, .tsv, .txt)—Coordinates file.
x_colobs column—X column (auto-detected from x/x_centroid/pxl_col_in_fullres).
y_colobs column—Y column.
id_colobs column—Cell ID column (empty = file index).
delimiterselect,Auto from extension.
drop_unmatchedcheckboxfalseIf True, drop cells whose id_col value is not present in adata.obs_names. If False (default), keep unmatched cells with NaN coordinates.
library_idtextspatialStored in uns["spatial"].
Spatial Density QC node

Spatial Density QC

spatialDensityQCsince v0.9.0-beta.41

Filter low-density spatial regions (Xenium edges, bubbles, control probe noise) using a grid. Always filters — use Workspace modal for interactive threshold tuning. Defaults: grid_size=100µm, min_cells=2.

Node LibrarySpatial
InAnnData (with spatial coords)
OutAnnData (filtered)
Parameters (4)
NameTypeDefaultDescription
grid_sizenumber100Grid cell size (µm).
min_cellsnumber2Strictly more than this many cells.
x_coltextx_centroidFallback obs column for X.
y_coltexty_centroidFallback obs column for Y.

Spatial Grouping

spatialGroupingsince v0.9.0-beta.39 (replaces spatialInteractiveViewer)

Lasso/box-select tissue regions and label them as obs categorical column. Replaces spatialInteractiveViewer. Polygon geometry persists with the workflow — survives preview subsampling. Pairs with Subset Data for region-specific analysis.

Node LibrarySpatial
InAnnData (with spatial coords)
OutAnnData (obs[label_col] categorical)
Parameters (4)
NameTypeDefaultDescription
label_coltextspatial_groupOutput obs column.
unassigned_labeltextUnassignedLabel for cells outside regions.
overlap_policytextlast_wins"last_wins" or "first_wins".
groupsarray[]Drawn region polygons (set via Workspace modal).

Spatial Viewer

spatialViewersince v0.9.0-beta.41

Read-only interactive Plotly WebGL scatter. Color by obs column or gene, select with lasso, box or polygon, highlight groups, inspect stats — all without modifying adata. 16 colormaps with live previews. Categorical/continuous mode toggle. To persist a selection, use Spatial Grouping.

Node LibrarySpatial
InAnnData (with spatial coords)
OutAnnData (pass-through)
Parameters (4)
NameTypeDefaultDescription
color_bytext—Last-used obs column or gene (hidden state).
modetextautocategorical/continuous/auto.
cmaptextviridis16 colormaps.
marker_sizenumber3Scatter marker radius (1-8).
Spatial Neighbors node

Spatial Neighbors

spatialNeighbors

Spatial neighbor graph based on physical coordinates. Required for all spatial statistics.

Node LibrarySpatial
InAnnData (with spatial coords)
OutAnnData (obsp spatial_connectivities)
Parameters (8)
NameTypeDefaultDescription
coord_typeselectautoauto uses the spot grid for Visium (array_row/array_col present) and point coordinates otherwise; or force "generic" / "grid".
n_neighsnumber66 hex Visium, 10-20 single-cell.
n_ringsnumber1Rings for Visium grid.
delaunaycheckboxfalseUse Delaunay triangulation.
radiusnumber—Search radius (auto if null).
spatial_keytextspatialKey in adata.obsm for spatial coordinates.
library_keyobs column—obs column separating tissue sections. Empty auto-detects canonical obs['library_id'] or reuses a stored Spatial Neighbors key; if neither exists, the object is treated as one section.
drop_na_coordscheckboxtrueDrop cells with NaN/Inf coordinates before graph construction. False reports an error instead.
Nhood Enrichment node

Nhood Enrichment

nhoodEnrichment

Test if cell types co-localize or avoid each other (squidpy nhood_enrichment).

Node LibrarySpatial
InAnnData (with spatial neighbors + clusters)
OutAnnData (uns["nhood_enrichment"])
Parameters (3)
NameTypeDefaultDescription
cluster_keyobs columnleidenCell type column.
n_permsnumber1000Permutations.
seednumber0Random seed.
Co-Occurrence node

Co-Occurrence

coOccurrence

Spatial co-occurrence at multiple distances.

Node LibrarySpatial
InAnnData (with spatial neighbors + clusters)
OutAnnData (uns["co_occurrence"])
Parameters (6)
NameTypeDefaultDescription
cluster_keyobs columnleidenCell type column.
intervalnumber50Distance interval.
max_distancenumber0Upper distance bound in coordinate units. 0 derives a common bound across sections; a positive value uses thresholds from 0 to this value.
n_splitsnumber—Parallel splits (auto if null).
library_keyobs column—obs column separating tissue sections. Empty auto-detects library_id or a stored Spatial Neighbors key; otherwise one coordinate system. Resolved sections are independent and cross-section pairs are excluded.
max_pair_evaluationsnumber500000000Advanced quadratic-work safety cap on the sum of n_section². Subset cells or regions before raising it.
Spatial Autocorrelation node

Spatial Autocorrelation

spatialAutocorr

Moran's I, Geary's C, or sepal diffusion time — identifies spatially variable genes (SVGs).

Node LibrarySpatial
InAnnData (with spatial neighbors)
OutAnnData (uns["moranI"], uns["gearyC"], or uns["sepal_score"])
Parameters (7)
NameTypeDefaultDescription
modeselectmoran"moran" / "geary" work on any coordinates; "sepal" measures diffusion time and requires a regular grid graph.
genestext—Empty = HVGs.
n_permsnumber—null = analytical p-value (moran/geary only).
max_neighsselect6sepal only — lattice degree: 6 hexagonal (Visium), 4 square.
sepal_n_iternumber30000sepal only — max diffusion steps; genes that do not settle are reported as unconverged.
sepal_max_genesnumber1000sepal only — cap on genes tested (0 = all). sepal costs ~0.1 s per gene.
n_jobsnumber1Parallel jobs.

Load Visium (SpaceRanger)

loadVisium

Reads a whole 10x Visium SpaceRanger folder — counts, real coordinates, true scalefactors, and the H&E image.

Node LibrarySpatial
InSpaceRanger outs folder
OutAnnData (obsm['spatial'], obs['in_tissue'], uns['spatial'][library] with images + scalefactors)
Parameters (6)
NameTypeDefaultDescription
directory_pathdirectory—SpaceRanger output folder (the one containing the count matrix and spatial/).
countsselectfiltered'filtered' uses SpaceRanger's tissue-called barcodes; 'raw' loads the whole slide including background.
filter_in_tissuecheckboxtrueKeep only spots with in_tissue == 1.
load_imagescheckboxtrueRead the tissue PNG. Coordinates load either way.
library_idtext—Blank = read from .h5 metadata, else the folder name.
var_namesselectgene_symbolsGene symbols or Ensembl IDs.

Load Xenium

loadXenium

Reads a 10x Xenium cell-feature matrix with its aligned micron centroids, without pulling in whole-slide morphology images.

Node LibrarySpatial
InXenium output folder
OutAnnData (obsm['spatial'] micron centroids, obs cell metadata, uns['xenium'])
Parameters (4)
NameTypeDefaultDescription
directory_pathdirectory—Xenium folder holding cell_feature_matrix.h5 (preferred) or the MEX directory, plus cells.parquet/csv.
library_idtext—Sample identifier. Blank uses the folder name.
gex_onlycheckboxtrueKeep Gene Expression features only, dropping controls when feature types are present.
var_namesselectgene_symbolsGene symbols or Ensembl IDs. Names are made unique.

Load Visium HD

loadVisiumHD

Loads one chosen square-bin resolution from a Visium HD run, with a bin-count guard applied before anything is read into memory.

Node LibrarySpatial
InSpace Ranger outs folder (or a square_XXXum folder)
OutAnnData (Visium contract + obs['bin_size_um'], uns['visium_hd'])
Parameters (9)
NameTypeDefaultDescription
directory_pathdirectory—Space Ranger outs folder, or an exact square_XXXum bin folder.
bin_size_umselect82, 8, or 16 µm. 8 is recommended; 2 µm needs an explicit opt-in.
countsselectfilteredCanonical options: 'filtered' or 'raw'.
var_namesselectgene_symbolsGene symbols or Ensembl IDs.
library_idtext—Name for the uns['spatial'] entry. Empty delegates to the native Visium loader's metadata/folder resolution.
load_imagescheckboxtrueRead the tissue image. Required for H&E overlays and Spatial Image Features.
filter_in_tissuecheckboxtrueKeep only bins marked in_tissue == 1.
max_binsnumber2000000Barcode ceiling checked before loading. Prefer a coarser bin size over raising it.
allow_2umcheckboxfalseRequired opt-in for 2 µm bins. Does not bypass max_bins.

Load MERSCOPE

loadMERSCOPE

Loads Vizgen MERSCOPE cell-by-gene counts with their metadata, micron coordinates, and optional coordinate transformation.

Node LibrarySpatial
InMERSCOPE export folder + counts/metadata files
OutAnnData (obsm['spatial'] microns, obsm['blank_genes'], uns['merscope'])
Parameters (5)
NameTypeDefaultDescription
directory_pathdirectory—Root MERSCOPE output folder.
counts_filefile (.csv, .csv.gz)—Cell-by-gene CSV/CSV.GZ filename.
meta_filefile (.csv, .csv.gz)—Cell metadata CSV/CSV.GZ with cell IDs and center_x/center_y.
transformation_filefile (.txt, .csv, .csv.gz)—Optional Vizgen coordinate transformation in the selected export's images folder. Accepts its existing images-relative name or the desktop picker's absolute path; Oreumics resolves and validates the target, rejects external/traversal paths, and passes Squidpy an images-relative path. Empty = no transformation.
library_idtextmerscopeLibrary identifier written to obs and provenance.

Load CosMx

loadCosMx

Loads flat NanoString CosMx exports, using slide-wide global coordinates as the canonical spatial system.

Node LibrarySpatial
InCosMx export folder + counts/metadata files
OutAnnData (obsm['spatial'] global pixels, obsm['spatial_local'], obs['fov'], uns['cosmx'])
Parameters (10)
NameTypeDefaultDescription
directory_pathdirectory—Root CosMx output folder.
counts_filefile (.csv, .csv.gz)—Cell-by-gene CSV/CSV.GZ file.
meta_filefile (.csv, .csv.gz)—Cell metadata CSV/CSV.GZ file.
library_idtextcosmxLibrary identifier written to obs and provenance.
fov_coltext—FOV column override. Blank auto-detects fov / FOV / fov_id.
cell_id_coltext—Cell-ID column override applied to both files. Blank auto-detects.
x_global_coltext—Global X override. Blank auto-detects known global-pixel names.
y_global_coltext—Global Y override. Blank auto-detects known global-pixel names.
x_local_coltext—Local FOV X override. Local coordinates never replace the canonical global ones.
y_local_coltext—Local FOV Y override.

Spatial Graph Statistics

spatialGraphStats

Reports the observed contact matrix between clusters plus each cluster's network role on the spatial graph.

Node LibrarySpatial
InAnnData (spatial graph + cluster labels)
OutAnnData (uns['<cluster_key>_interactions'], uns['<cluster_key>_centrality_scores'])
Parameters (3)
NameTypeDefaultDescription
cluster_keyobs columnleidenobs column with cluster or cell-type labels (needs at least 2 observed groups).
normalizedcheckboxtrueRow-normalize the interaction matrix. True reports each source cluster's edge fractions; false reports raw edge counts.
weightscheckboxfalseOff counts edges; on sums stored connectivity weights.

Spot Deconvolution (NNLS)

spotDeconvolution

Estimates the cell-type mixture inside each spot with a transparent non-negative least-squares fit against a labelled reference.

Node LibrarySpatial
InAnnData (spots), Reference .h5ad with cell-type labels
OutAnnData (obsm[key_added] proportions, obs['deconv_dominant_type'], obs['deconv_residual'], uns['spot_deconvolution'])
Parameters (9)
NameTypeDefaultDescription
reference_filefile (.h5ad)—Labelled single-cell reference .h5ad.
celltype_keytextcell_typeReference obs column holding cell-type labels, with no missing values.
spatial_sourceselectXExpression source for spots. Canonical UI options: 'X' or 'layer'; backend also accepts 'raw'.
spatial_layerlayer—Layer name required when spatial_source='layer'.
reference_sourceselectXExpression source for reference cells. Canonical UI options: 'X' or 'layer'; backend also accepts 'raw'.
reference_layertext—Reference layer name required when reference_source='layer'.
min_cells_per_typenumber10Reference types with fewer cells are dropped; at least 2 must remain.
min_shared_genesnumber100Minimum genes shared between reference and spots.
key_addedtextdeconvolution_proportionsobsm key receiving the spot-by-cell-type proportions.

Spatial Image Features

spatialImageFeatures

Extracts per-spot intensity, histogram, and texture descriptors from the tissue image already attached to the data.

Node LibrarySpatial
InAnnData (obsm["spatial"] + attached hires/lowres image)
OutAnnData (obsm[key_added] feature table, uns['spatial_image_features'])
Parameters (10)
NameTypeDefaultDescription
library_idtext—Image-bearing library. Blank auto-selects only when exactly one library has an image.
image_keyselecthiresCanonical options: 'hires' or 'lowres'. The key must exist in the selected library.
featuresselectsummarysummary, texture, histogram, or a comma-separated combination.
spot_scalenumber1.0Multiplier controlling the image crop taken around each spot.
histogram_binsnumber10Bins used when the histogram family is selected.
texture_distancestext1Comma-separated pixel offsets for texture features.
texture_anglestext0Comma-separated angles in degrees.
key_addedtextimage_featuresobsm key receiving the feature table.
n_jobsnumber1Requested worker threads; must be at least 1 and is capped at 4 internally.
max_image_megapixelsnumber250Image-size safety cap. Use a lower-resolution image before raising it.

Spatial Hotspot

spatialHotspot

Finds spatially autocorrelated genes and groups them into coordinated local-expression modules using Hotspot.

Node LibrarySpatial
InAnnData (obsm["spatial"] + non-negative expression)
OutAnnData (var['hotspot_module'], obsm['hotspot_module_scores'], uns['hotspot_autocorrelations'], uns['spatial_hotspot'])
Parameters (13)
NameTypeDefaultDescription
layer_keylayer—Non-negative expression source. Blank uses X.
modelselectdanbCanonical options: 'danb', 'bernoulli', 'normal', or 'none'. Use a count model only with integer-like counts.
umi_counts_obs_keyobs column—Optional obs column containing finite positive full per-observation UMI library sizes. Empty computes library size from row sums of the full selected expression matrix before gene filtering.
weighted_graphcheckboxfalseUse a distance-weighted spatial KNN graph.
n_neighborsnumber30Spatial KNN size used to build the graph.
neighborhood_factornumber3Positive Hotspot neighborhood scale factor.
approx_neighborscheckboxtrueUse Hotspot's approximate neighbor search.
seednumber0Random seed used to make Hotspot's approximate-neighbor construction reproducible.
library_keyobs column—obs section/sample column used as a safety boundary check. Empty auto-detects library_id or the stored Spatial Neighbors key. Multiple observed sections are refused; subset one section first.
fdr_thresholdnumber0.05FDR cutoff selecting genes for the pairwise correlation and module step.
max_genesnumber500Cap on FDR-ranked genes entering the quadratic step (hard cap 1500).
min_gene_countnumber10Minimum total selected-matrix expression per gene before autocorrelation testing.
module_min_gene_thresholdnumber20Minimum genes required to form a module.

Spatial Ligand-Receptor

spatialLigrecBivariate

Scores ligand-receptor pairs per spot against the spatial graph, mapping where signalling is co-located.

Node LibrarySpatial
InAnnData (with spatial neighbors)
OutAnnData (obsm['spatial_lr_local'], uns['spatial_ligrec'])
Parameters (8)
NameTypeDefaultDescription
resource_nameselectconsensusLigand-receptor database. 'consensus' (human) and 'mouseconsensus' (mouse) are the usual choices.
local_nameselectmoransLocal statistic scoring co-localization of the ligand and receptor around each spot. Options: morans, cosine, pearson, spearman, jaccard, product, norm_product, masked_spearman.
n_top_interactionsnumber50Interactions keeping per-spot scores. The full ranking is always saved.
nz_propnumber0.05Minimum fraction of spots expressing a gene before its pairs are tested.
n_permsnumber0Permutations for per-spot p-values. 0 = skip (much faster).
mask_negativescheckboxfalseKeep only co-localization, zeroing avoidance scores.
use_rawselectauto'auto' uses adata.raw when it exists (it predates HVG selection, which routinely drops ligands and receptors), otherwise X. 'true'/'false' force the choice.
seednumber1337Random seed for permutations.

Spatial Domains (BANKSY)

spatialDomains

Segments tissue into contiguous domains by blending each cell's expression with its physical neighbours.

Node LibrarySpatial
InAnnData (with obsm["spatial"] + HVG)
OutAnnData (obs[key_added], obsm["X_banksy"], uns["spatial_domains"])
Parameters (10)
NameTypeDefaultDescription
spatial_weightnumber0.8BANKSY lambda. 0 = non-spatial baseline, 0.2 = spatial cell typing, 0.8 = tissue domains. Visium domains are the exception: 0.2 with k_geom 18.
k_geomnumber15Spatial neighbours for the neighbour-mean block (18 for Visium).
resolutionnumber1.0Leiden resolution.
key_addedtextspatial_domainobs column receiving the domain labels.
use_agfcheckboxfalseAdd the azimuthal Gabor filter block (local expression gradient).
use_highly_variablecheckboxtrueRestrict to highly variable genes — strongly recommended.
n_pcsnumber20PCA components taken from the BANKSY matrix.
n_neighborsnumber15Neighbours for the clustering graph.
library_keyobs column—obs column separating tissue sections (empty = one section).
random_statenumber0Random seed.

Cellular Neighborhood

cellularNeighborhood

Groups cells by the mix of cell types surrounding them, revealing recurring tissue microenvironments.

Node LibrarySpatial
InAnnData (with obsm["spatial"] + cell type labels)
OutAnnData (obs[label_col], uns["cellular_neighborhood"])
Parameters (7)
NameTypeDefaultDescription
celltype_keyobs columnleidenobs column holding cell-type or cluster labels.
k_neighborsnumber10Nearest neighbours forming each window (published default 10).
n_neighborhoodsnumber10Number of neighborhoods for MiniBatchKMeans.
label_coltextcellular_neighborhoodobs column receiving the CN labels.
include_selfcheckboxtrueWhether the index cell counts in its own window (true matches Schurch et al.).
library_keyobs column—obs column separating tissue sections.
random_statenumber0Random seed.
Ripley node

Ripley

ripley

Ripley's L/F/G statistics — measures spatial clustering patterns.

Node LibrarySpatial
InAnnData (with spatial neighbors + clusters)
OutAnnData (uns ripley results)
Parameters (9)
NameTypeDefaultDescription
cluster_keyobs columnleidenCell type column.
modeselectL"L" / "F" / "G".
n_neighnumber2Neighbor rank used by F and G. Retained in the common contract for L but does not change L.
n_simulationsnumber100Confidence envelope simulations.
n_observationsnumber1000Number of random query points for the F function (G and F use every cell).
max_distancenumber0Shared maximum radius in coordinate units. 0 uses the smallest sqrt(convex-hull area / 2) across sections.
n_stepsnumber50Number of equally spaced radii from 0 through max_distance; at least 3.
seednumber0Random seed. Stable section/group-specific generators make subsampling and simulations reproducible.
library_keyobs column—obs column separating tissue sections. Empty auto-detects library_id or a stored Spatial Neighbors key; otherwise one study window. Every resolved section receives its own convex hull and simulated null.
Ligand-Receptor node

Ligand-Receptor

ligandReceptor

L-R interaction analysis using squidpy ligrec (CellPhoneDB-like permutations).

Node LibrarySpatial
InAnnData (with spatial neighbors + clusters)
OutAnnData (uns["ligrec"])
Parameters (4)
NameTypeDefaultDescription
cluster_keyobs columnleidenCell type column.
n_permsnumber1000Permutations.
thresholdnumber0.01P-value threshold.
seednumber0Random seed.
Spatial Visualization node

Spatial Visualization

spatialVisualization

Spatial scatter and analysis overlays (nhood, co-occurrence, ripley, autocorr, ligrec).

Node LibrarySpatial
InAnnData (with spatial coords)
OutPNG image
Plots (16)spatial_scatterhe_overlaysvg_panelrgb_coexpressiontranscript_densityneighbors_graphgraph_statscn_enrichmentdeconvolution_maphotspot_module_mapnhood_enrichmentco_occurrenceripleyspatial_autocorrligrecspatial_overview
Parameters (31)
NameTypeDefaultDescription
plot_typetextspatial_scatter7 plot types.
color_bytext—obs column or gene.
cluster_keytextleidenCluster column for overlays.
section_viewselectautoFor co_occurrence/ripley. Canonical options: 'auto', 'summary', 'pooled', 'section', or 'facets'. Auto selects summary for multiple sections and one section otherwise. Ripley maps pooled to summary because independent study windows cannot be pooled.
section_idtext—Exact stored section ID used when section_view='section'. Empty selects the first stored section.
ripley_modeselectautoFor ripley. Canonical options: 'auto', 'F', 'G', or 'L'. Auto follows uns['ripley_latest']; an explicit mode resolves a stored result with that mode.
show_nullcheckboxtrueFor a single-section Ripley view, draw the per-group simulated null median. With show_interval=true, also draw its pointwise 2.5–97.5 percentile band.
show_intervalcheckboxtrueDraw available interval bands: section q25–q75 for multi-section summaries, or the simulated pointwise band for a single-section Ripley curve.
clusterstext—Advanced comma-separated conditioning groups to draw. Empty auto-selects informative groups for co-occurrence and the first groups for Ripley; at most 6 co-occurrence or 12 Ripley groups are shown.
deconvolution_keytextdeconvolution_proportionsFor deconvolution_map, exact dynamic obsm key written by Spot Deconvolution.
deconvolution_cell_typetext—For deconvolution_map, required exact cell-type proportion column. Missing/unknown values fail with the available columns.
hotspot_module_columntext—For hotspot_module_map, required exact column in obsm['hotspot_module_scores'], for example module_1. Spatial Hotspot reports module_score_columns.
map_section_keytext—For result maps, optional obs column separating tissue sections. Empty auto-detects library_id; multiple sections render as facets.
map_section_idtext—For result maps, optional exact section value. Empty renders all detected sections as facets up to the 12-section safety limit.
vminnumber—For result maps, optional lower color limit. Empty uses 0 for deconvolution and the observed minimum for Hotspot.
vmaxnumber—For result maps, optional upper color limit. Empty uses 1 for deconvolution and the observed maximum for Hotspot.
cmapselectviridisColormap.
sizenumber1.0Point size.
figsizearray[10, 8]Figure size [width, height] in inches.
alpha_imgnumber1.0Tissue-image opacity for spatial_scatter when Visium-style image metadata is available.
bwcheckboxfalseRender an available tissue image in grayscale for spatial_scatter.
spot_sizetext—Manual spatial point size. null uses max(2, size × 6).
scale_barnumber—Optional scale-bar length in the same coordinate units as obsm['spatial']; null disables it.
flip_ycheckboxfalseApply an extra Y-axis flip in the direct spatial_scatter renderer.
tissue_alphatext—Optional tissue-image opacity override; null uses alpha_img.
source_groupstext—For ligrec plots, optional comma-separated ligand-producing source groups. Empty = all.
target_groupstext—For ligrec plots, optional comma-separated receptor-bearing target groups. Empty = all.
pvalue_thresholdnumber0.05For ligrec plots, hide interactions above this p-value.
font_sizenumber—Font size. null = matplotlib default.
titletext—Custom plot title.
publication_qualitycheckboxfalseGenerate high-resolution publication-quality figure.