Loading...
Rendering…
+
βŠ™
βˆ’
NaVis
πŸ’Ύ Save all GitHub
πŸ“‚ Data Source
πŸ”’ No data is stored. All processing is session-only. For unpublished data, deploy locally.
Upload type
⬑ Acquire Channel
Variable
Appearance

Auto params

Manual parameters
🧹 Leakage correction

Subtracts a fraction of each spot's neighbour mean before interpolation, correcting for Visium RNA diffusion leakage (SpotClean method). 0 = off. Typical range: 0.10 – 0.20. SELECT A GENE FIRST!

Auto-detect sweeps Ξ± values and finds the elbow of the architecture-coupling curve.

πŸ’§ Dropout sensitivity (signatures)

Visium has substantial dropout: a zero count at a single spot whose neighbours are positive is more likely a sampling artefact than true biological absence. This slider sets the fraction of 6 nearest-neighbour spots that must also be zero for a zero to count as a true zero . Below this threshold, the zero is treated as dropout and imputed from the mean of non-zero neighbours before the signature is gated.

Ο„ = 0 β†’ impute every zero (permissive; signature covers maximal area, risks false positives). Ο„ = 1 β†’ never impute (strict AND; robust to halos but loses real positives to dropout). Ο„ = 0.5 (default) β†’ impute only isolated zeros whose neighbours clearly disagree. Applied only when 2+ genes are selected.

πŸ“‹ Channel List
Loading...
πŸ”† H&E Overlay
Overlay channel on H&E

Move the sliders to preview the blend live. When satisfied, press Acquire to save it as a new channel.

Loading...
βŠ• Merge & Interface
Channels
Interface parameters
Spatial scale at which channels A and B are considered adjacent without overlapping.
Defines what intensity counts as present in each channel.
Last computation
🎚 Image Controls
Tools
Export
Image
All
Object
πŸ”¬ Spot Analysis
Click on tissue to analyse:
Left-click Inspect a single spot Right-click Compare two regions (right-click twice) Shift+drag Draw a region of interest (ROI)
Analysing…
πŸ“ Location
πŸ”¬ H&E Crop
πŸ’Ύ
Loading...
🎨 H&E Colour Histogram
πŸ’Ύ
Loading...
🧬 Expression at Spot
🧱 Tissue Context
πŸ’Ύ
πŸ“Š Channel vs Tissue Correlations
πŸ’Ύ
Loading...
πŸ’Ύ Save all as ZIP
🏷 Metadata Channel
Generate image from metadata

Select a metadata column to render it as a NaVis channel. Categorical columns are rainbow-coded; numeric columns can be super-resolved via AD-EBIDW using the current Acquire parameters.

Super-resolve numeric column

Re-render the column with AD-EBIDW using the current Acquire parameters. Active only for numeric columns.

πŸ”­ Spatial Insights
Select a gene or signature channel, then press Run Analysis to compute spatial insights.

Spatial analysis runs on a 400-pixel downsample. Similar genes use spot-level expression.

πŸ’Ύ Save all as ZIP
🧭 Compartment Enrichment
πŸ’Ύ

Observed / expected signal per tissue compartment. β˜… p<0.05, β˜…β˜… p<0.01 (permutation).

Loading...
✏️ Expression Boundaries
πŸ’Ύ

Edge gradient map. Bright = sharp expression boundary.

Loading...
πŸ“‘ Spatial Cross-correlation
πŸ’Ύ

Cross-correlation with each tissue prior at multiple lag distances (Β΅m).

Loading...
🏝 Expression Islands
πŸ’Ύ

Connected expression domains above threshold: size, circularity, count.

Loading...
πŸ”— Histology Decoupling

Fraction of spatial variance NOT explained by tissue architecture (1βˆ’RΒ²). High = novel spatial pattern independent of H&E.

πŸ”Ž Similar Spatial Profiles
πŸ’Ύ

Top 10 genes with the most similar spatial expression profile (Pearson r, spot-level).

Loading...
? About & Tutorial
About NaVis

NaVis is an image-based framework for Visium spatial transcriptomics. Rather than treating expression as a table with coordinates as metadata, NaVis reconstructs each gene as a continuous spatial image and exposes five quantitative image-analytic operations unavailable in matrix-based tools: tissue-compartment enrichment, expression boundary detection, spatial cross-correlation at lag distances, expression island morphology, and histology decoupling scoring.

⚠ Spatial resolution. Maps are interpolated via the AD-EBIDW algorithm. Visual sharpness is high, but precision is bounded by the technology (Visium: 55 ¡m spot diameter, 100 ¡m centre-to-centre pitch). These are spatially continuous inference maps, not single-cell measurements.
Tutorial β€” DCIS Breast Cancer Demo

Click πŸ“‚ Data β†’ Load Demo to start. Results described below were obtained on the bundled FFPE DCIS dataset.

1
Load data and inspect the tissue

Open πŸ“‚ Data β†’ Load Demo . A brief modal describes the dataset; loading runs in the background. Close the modal when you are ready. Five tissue-architecture channels appear in πŸ“‹ Channels β€” H&E Image, Nuclei, Fibrillar ECM, Soft Tissue, and Entropy. Click each to inspect them. Use mouse-wheel to zoom, click-drag to pan, βŠ™ to reset.

2
Generate a single-gene map

Open ⬑ Acquire . Type ERBB2 and select it from the dropdown β€” it closes automatically on selection. Choose red as the colour. Leave Auto on. Expand 🧹 Leakage correction β€” the slider is at Ξ± = 0.10 by default. Click ⚑ Auto-detect Ξ± to let NaVis sweep Ξ± values and find the architecture-coupling elbow for this gene (typically 0.05–0.15 on FFPE Visium). Then click ⬑ Acquire Channel Image . The map appears in Channels and is selected automatically.

3
Tune the channel with Image Controls

The newly acquired ERBB2 channel still carries some halo from low-confidence spots β€” the AD-EBIDW interpolation extends each spot's signal a few hundred microns beyond its physical footprint, and the lowest-intensity tail of that extension is where most spurious-looking signal lives. Open 🎚 Image Controls to clean it up live.

  • Noise gate β€” pixels below this intensity are forced to zero. Default 0.30; raise to 0.40–0.50 to drop diffuse background and keep only the regions where the gene was confidently expressed. The channel image redraws live as you drag the slider.
  • Contrast boost β€” applies an unsharp-mask-style boost to the surviving signal. Default 0 (off); raise to 0.3–0.6 after gating to recover crispness of the regions you kept.

Three buttons under Tools expose secondary readouts:

  • πŸ“ˆ Spatial Autocorrelation β€” computes Moran's-style autocorrelation of the active channel at multiple lag distances and plots the decay profile. The shape of the curve characterises the channel's spatial scale: a sharp drop signals fine-grained patterning, a slow decay signals broad gradients. Useful for comparing how 'clumpy' vs 'smooth' two channels are.
  • 🎨 Show Legend β€” displays the colour-mapping legend for the active channel (the gene name, the colour assigned, the dynamic range). The legend is also embedded in any saved channel ZIP.
  • πŸ“‹ Image Parameters β€” opens a modal listing every parameter used to build the active channel: the gene or signature name, leakage-correction Ξ±, noise gate, contrast boost, AD-EBIDW Οƒ and iteration count, dropout sensitivity Ο„ (for signatures), and any leakage-correction status. This is the channel's audit trail β€” paste it into a notebook for reproducibility.

Image Controls operate on the rendered image, not on the raw expression data β€” Insights and Find-Similar-Genes always re-read the underlying channel. Adjustments here are for visualisation; the analytical readouts are unaffected. Each channel keeps its own slider settings, so switching channels restores their independent values.

4
Run Spatial Insights on ERBB2

Open πŸ”­ Insights β†’ click β–Ά Run Spatial Analysis . Observed results on this dataset (ERBB2, auto Ξ± = 0.15, auto mode):

  • Compartment Enrichment β€” near 1Γ— across all three compartments. An epithelial marker like ERBB2 occupies cellular regions generally; the H&E-derived priors (nuclei density, fibrous ECM, soft tissue) are architectural signals that do not separate epithelial identity specifically, so 1Γ— is the honest null. Strong enrichment requires a signature specific to a compartment- bound phenotype.
  • Expression Boundaries β€” gradient map shows sharp ductal perimeters. Boundary alignment with tissue edges is moderate (~0.2–0.3 Pearson r for all three priors), indicating ductal boundaries align with general tissue-architecture transitions rather than with any single compartment edge specifically.
  • Spatial Cross-correlation β€” peaks around r β‰ˆ 0.5 at lag 0 Β΅m for Nuclei (ERBB2+ cells contain nuclei), decays monotonically, crosses zero around 400 Β΅m, and goes negative beyond that. The 400 Β΅m zero-crossing reflects this section's typical duct-to-duct spacing; at longer distances ducts are anti-correlated with each other because they are separated by stroma.
  • Expression Islands β€” 102 islands above the 75th-percentile threshold, median area 16 Β΅mΒ², mean area 5 783 Β΅mΒ², largest island 586 000 Β΅mΒ², median circularity 0.79. The huge mean vs median gap signals a heavily skewed size distribution: many small intra-ductal hotspots plus a few very large connected components that span entire ducts or groups of ducts merged across the threshold.
  • Histology Decoupling β€” 63% (MODERATE). ERBB2's spatial pattern is partly explained by the H&E priors but also carries genuine transcriptional information beyond histology β€” expected for a gene whose level varies between histologically similar ducts.
5
Find spatially similar genes

With ERBB2 still selected, click πŸ”Ž Find Similar Genes . Correlation runs over all spots (including zeros), so a gene expressed everywhere scores near zero β€” only genes with matching spatial ON/OFF patterns rank high.

Observed top 10 for ERBB2 (Pearson r, spot-level):

# Gene r Role
1 AZGP1 0.813 apocrine/luminal
2 PPDPF 0.774 epithelial-enriched
3 CD24 0.773 luminal marker
4 MAL2 0.746 apical / trafficking
5 MUCL1 0.742 mammary luminal
6 KRT7 0.739 luminal keratin
7 SPINT2 0.731 epithelial protease inh.
8 ATG5 0.722 autophagy (co-localised)
9 KRT8 0.706 luminal keratin
10 FOXA1 0.694 luminal TF

Nine of ten hits are canonical luminal/ductal epithelial markers ( AZGP1 , CD24 , MUCL1 , KRT7 , KRT8 , FOXA1 , etc.) β€” this is strong biological validation: the spatial correlation recovered the HER2+ ductal-epithelial compartment from scratch without any prior knowledge. Click any gene name in the results to load it into ⬑ Acquire and visualise its spatial pattern.

6
Acquire a second gene and merge

Acquire ACTA2 in green β€” a microenvironmental marker that highlights Ξ±-smooth-muscle-actin-expressing cells surrounding the ductal compartment (cancer-associated fibroblasts, myofibroblasts and myoepithelial cells all contribute). The resulting pattern is typically ductal-adjacent rather than a sharp perimeter ring β€” use it to visualise the tumour–microenvironment interface. Open βŠ• Merge & Interface , set Channel A to ERBB2 and Channel B to ACTA2, optionally adjust the reach (ΞΌm) slider, then click Compute . Three new channels appear in πŸ“‹ Channels : the composite (blended A+B colors), the agreement map (bright where A and B overlap), and the new interface map (bright at the boundary between A's and B's territories, in each channel's color). The Last computation section of the Merge panel reports interface area, A-vs-B asymmetry, and mean interface strength. Open 🎚 Image Controls to adjust per-layer noise gate and contrast independently.

7
Live H&E overlay

Open πŸ”† H&E Overlay . Select ERBB2 from the dropdown. Move the opacity and brightness sliders β€” the preview updates live in the panel. When satisfied, click πŸ”† Acquire this Overlay to commit it as a permanent channel that can be used in further merges and analysis.

8
Analyze the tissue: three click modalities

Click πŸ”¬ Analyze in the toolbar to enter Analyze mode. The Analyze panel hosts three distinct interactions, each tied to a different mouse action. Press Escape to exit at any time.

Left-click β€” inspect a single point

Click any tissue location to open the spot drawer. It shows: the H&E crop centred on that point, an RGB histogram of the local histology, a tissue composition breakdown (Nuclei / Fibrillar ECM / Soft tissue summing to 100%), the active channel's interpolated intensity at the clicked pixel, and Pearson correlations of the channel image with each tissue prior.

Right-click twice β€” compare two regions

Right-click anywhere to store region A (a blue numbered marker appears). Right-click a second location to store region B (orange marker) β€” the drawer flips to a side-by-side comparison: paired H&E crops, paired tissue composition with logβ‚‚(B/A) fold-changes, and channel-intensity fold-changes. Positive logβ‚‚ means the readout is higher in B than in A; negative means the reverse. Changes within Β±0.1 are shown as a gray dash (no meaningful difference). Useful for quick contrasts: duct vs stroma, tumor vs adjacent normal, lesion vs background. Switching channels auto-clears the comparison.

Shift+drag β€” draw a region of interest (ROI)

Hold Shift and drag a rectangle on the tissue. The drawer opens with: an H&E crop of the boxed region, tissue composition averaged inside the ROI, and the top 20 genes by enrichment ratio (mean inside / mean outside). Each gene row has a β†’ button that pre-populates ⬑ Acquire with that gene β€” click Acquire to load it as a channel. Try drawing an ROI on a clear DCIS duct: top genes typically include luminal markers ( KRT8 , CD24 , EPCAM ). The ROI persists across channel switches β€” use it to browse multiple genes through the same regional lens. Click βœ• Clear ROI to dismiss it.

9
Save results

After running Insights, click πŸ’Ύ Save all as ZIP to download all five analysis tables (compartment enrichment CSV, boundary alignment CSV, cross-correlation CSV, island morphology CSV, summary TXT with decoupling score) plus the boundary gradient PNG. Individual sections also have per-section πŸ’Ύ download links. Zoom any panel with πŸ” for a larger, print-quality view of each result.

Navigation
Mouse wheel Zoom in / out on the stage
Click + drag Pan the tissue canvas
βŠ™ button Reset zoom to fit
Panel header Drag any floating panel to reposition it
βœ• Close a floating panel
Escape Exit Analyze / crosshair mode
πŸ“– Documentation & source β†’ github.com/Izzilab/NaVis
πŸ”— Demo dataset on 10x Genomics
πŸ”’ Data & Privacy

NaVis does not store, log, or transmit your data. All processing is session-only and discarded on close.

The app is hosted on ShinyApps.io. For unpublished or patient-derived datasets, use local deployment.

To deploy locally: clone from github.com/Izzilab and run shiny::runApp().