Create depth silhouette
create_depth_silhouetteExtract a body silhouette from depth or video sources using blur and threshold, with options to invert or fill with color. Outputs a mask for compositing or reactive visuals.
Instructions
Extract a silhouette / body mask from a depth or video source — a person's white outline on black you can composite, fill with colour, or use as a mask for reactive visuals (interactive installations / camera-reactive sets). The signal is smoothed (Blur TOP), keyed to a mask (Threshold TOP), optionally inverted (Level TOP) and optionally filled with a colour keyed through the mask (Constant + multiply Composite). Creates a new baseCOMP under parent_path holding the source, Blur, Threshold, Level, optional Constant + Composite fill, and a Null output. Source defaults to a self-contained synthetic noise field so it builds and previews with ZERO device permissions; pick 'file' for a clip, or a 'kinect_azure'/'kinect'/'realsense' sensor for the live installation (may prompt for macOS permission). Exposes Threshold (bind to proximity/audio), Smooth, Invert (+ FillColor) and outputs a Null TOP. Use create_depth_displacement instead for true 3D relief geometry rather than a flat 2D mask. Returns a summary plus a JSON block with the container path, created node paths, the mask/output paths, exposed controls, any node errors, warnings, and an inline preview image.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| source | No | Where the depth/luma signal comes from. 'synthetic' (the default) = a self-contained animated noise/ramp field that needs ZERO device permissions, so the network builds and previews immediately — use it to dial in the look. 'file' = a movie/image file (source_file_path). 'kinect_azure' | 'kinect' | 'realsense' = a live depth/IR sensor (the real installation source); creating it may pop a one-time macOS camera/depth-permission dialog — click Allow. (The depth-device op names are confirmed to exist; their per-device params still need live confirmation.) | synthetic |
| source_file_path | No | Movie/image file path for source='file' (e.g. a pre-recorded depth or IR clip). Ignored for other sources. | |
| threshold | No | Depth/luma cutoff (0..1) that separates the body from the background: pixels brighter than this become the white silhouette, the rest go black. The headline 'Threshold' knob and the parameter to bind to audio/beat/proximity later. | |
| smooth | No | Edge smoothing — a Blur TOP filter size applied to the raw mask to round off jagged sensor edges before the silhouette is keyed. 0 = hard, aliased edges; higher = softer outline. | |
| invert | No | Invert the mask (swap silhouette and background). Off = white body on black; on = black body on white. Drives a Level TOP's invert. | |
| fill_color | No | Optional hex colour ('#rrggbb') to fill the silhouette with instead of plain white — keyed through the mask via a Constant TOP composited (multiply) against it. Omit for a white-on-black mask. | |
| expose_controls | No | When true (default), expose live Threshold / Smooth / Invert (+ FillColor) controls on the system container. | |
| parent_path | No | Parent network where the silhouette container is created (default '/project1'). | /project1 |