cigvis.vispynodes.splat module#

class cigvis.vispynodes.splat.Splat(*args, **kwargs)#

Bases: VisualNode, SplatVisual

Scene node wrapper for SplatVisual.

class cigvis.vispynodes.splat.SplatVisual(scaling='fixed', alpha=1.0, antialias=1.0, sigma_rel=0.55, cutoff=0.01, premultiply=True, canvas_size_limits=None, depth_test=True, depth_mask=True, **kwargs)#

Bases: Visual

Gaussian splatting visual (GL_POINTS) for point clouds / voxel masks.

Parameters#

scaling{“fixed”,”scene”,”visual”} or bool

Same semantics as MarkersVisual.

  • “fixed”: a_size in pixels

  • “scene”: a_size in scene units (affected by camera zoom)

  • “visual”: a_size in visual units (affected by Visual transform)

Back-compat: False->”fixed”, True->”scene”

alphafloat

Global opacity multiplier.

antialiasfloat

Antialiasing amount in pixels (only affects pointsize padding here).

sigma_relfloat

Gaussian sigma in normalized sprite space (uv in [-1,1]). Typical: 0.35 ~ 0.75. Bigger -> fatter/softer splat.

cutofffloat

Discard threshold on gaussian value (performance + crispness). Typical: 1e-3 ~ 1e-2.

premultiplybool

Use premultiplied alpha output. Often looks nicer for dense splats.

canvas_size_limitstuple or None

Optional point-size clamp in canvas pixels, (min, max).

depth_testbool

Whether splats should be depth-tested against existing geometry.

depth_maskbool

Whether splats write depth. Keep this enabled for dense surface-like splats so back layers do not keep blending over front layers. Disable it only for intentionally translucent volume clouds.

property alpha#
property antialias#
property canvas_size_limits#
property cutoff#
property depth_mask#
property depth_test#
property premultiply#
property scaling#
set_data(pos=None, size=3.0, color='white')#

Parameters#

pos(N,2) or (N,3) array

Marker positions.

sizefloat or (N,) array

Marker diameter in pixels (fixed) or in scene/visual units (scaling on).

colorColor or (N,4) array

Marker color.

property sigma_rel#