Skip to content

vc3d: intensity-as-alpha in overlays - #2236

Merged
pmh47 merged 2 commits into
mainfrom
vc3d-alpha-overlay
Oct 22, 2026
Merged

pmh47 merged 2 commits into
mainfrom
vc3d-alpha-overlay

Conversation

@pmh47

@pmh47 pmh47 commented Oct 22, 2026

Copy link
Copy Markdown
Member
  • use overlay volume intensity as an alpha value instead of just in colormap, so base volume shows through better under ink without reducing overlay opacity excessively
  • drop the overlay threshold slider in the ui, since redundant with overlay window slider

pmh47 and others added 2 commits October 22, 2026 17:52
Adds an "Intensity as alpha" checkbox to the volume overlay panel. When
enabled, the windowed overlay intensity is the blend alpha (transparent
below the window, opaque above it, scaled by opacity). Each colormap spec
gains a `premultiplied` flag: black-to-bright maps (grayscale, tints,
fire, magma) blend as premultiplied colour, so tints stay bright and alpha
does the darkening; other maps (viridis) blend as straight colour; label
maps (glasbey) are opaque where the label is nonzero.

The overlay LUT now carries per-entry alpha (vc::buildOverlayLut) and a
single blend (vc::blendOverlayArgb) handles both modes; the default mode
is unchanged (band-pass in window, uniform opacity).

The overlay threshold spin box is removed: it only ever set window low.
The agent bridge keeps `threshold` as an alias and gains `intensityAsAlpha`.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…erlay threshold

- Label (discrete) colormaps ignore intensity-as-alpha and always use the
  windowed band-pass mode.
- For colormaps that are black at the low end (fire, magma, tints,
  grayscale), intensity-as-alpha takes alpha from the brightest colour
  channel, so rgb <= alpha holds and the overlay over black matches the
  opaque colormap. Straight maps (viridis) still use intensity as alpha.
- buildOverlayLut reuses the spec and window ramp from the shared colormap
  LUT builder instead of resolving them again.
- Remove the overlay threshold from the controller, settings, agent bridge
  and MCP tool; expose intensityAsAlpha through vc3d_set_overlay and
  regenerate rpc_description.json.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@vercel

vercel Bot commented Oct 22, 2026

Copy link
Copy Markdown

The latest updates on your projects. Learn more about Vercel for GitHub.

1 Skipped Deployment
Project Deployment Actions Updated
scrollprize-org Ignored Ignored Oct 22, 2026 6:16pm UTC

Request Review

@pmh47
pmh47 merged commit 7d8a148 into main Oct 22, 2026
31 of 32 checks passed
@pmh47
pmh47 deleted the vc3d-alpha-overlay branch October 22, 2026 18:47
ChaseHendrick added a commit to ChaseHendrick/villa that referenced this pull request Oct 22, 2026
…sityAsAlpha and interpolation in viewer.set_overlay)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant