Skip to content

RemoveStaticBackground

in Lib.image.analyze

Uses statistical filtering to remove static background from an image.

This is basically a keyer that tries to detect movement in front of a static background.

Input Parameters

Name (Relevancy & Type) Description
Texture2d (Texture2D Required)
Update (Boolean)
OutputMode (Int32)
MeanRate (Single) How quickly the background “memory” adapts to slow changes like lighting drift. Higher values settle faster, but risk absorbing slow-moving people into the background.
SpreadUpRate (Single) How fast the system becomes more tolerant when a pixel suddenly gets noisy or unstable. Higher values reduce flicker, but can make the key less sensitive.
SpreadDownRate (Single) How slowly the tolerance tightens again when things become stable. Lower values keep the key steady over time and avoid nervous, popping edges
MinSpread (Single) A minimum "noise cushion" so perfectly flat areas don’t become hypersensitive. Increase it if you see sparkly false positives in quiet regions.
BackgroundGateLo (Single) The point where the system starts to distrust changes and begins to slow down background learning. Raise it if you want the background to keep adapting even with mild motion.
BackgroundGateHi (Single) The point where the system stops learning from a pixel because it’s likely foreground. Lower it to prevent “burn-in” of people; raise it if the background needs to adapt under stronger changes.
ZScale (Single) Overall sensitivity knob for what counts as "different from the background".
Higher values key more aggressively; lower values are more forgiving.
BrightSuppression (Single) How much to ignore pixels that get brighter than the background (useful for projectors adding light). Lower values ignore bright projection changes more strongly, focusing on dark occlusions like people.
EnableChroma (Boolean)
ChromaWeight (Single) How strongly color changes influence the key compared to brightness changes. Increase it to react more to hue shifts; decrease it if you only care about silhouettes from light/dark changes.
VoteThreshold (Single) How “foreground” a pixel must look before it really counts as a vote in the neighborhood check. Raise it to ignore weak, noisy changes; lower it to pick up faint motion.
DensityRange (Vector2) x: The minimum amount of nearby agreement needed before the mask starts strengthening a pixel. Raise it to require bigger, more solid shapes; lower it to keep thinner details.

y: The density where the neighborhood consensus is treated as fully confident. Lower it to fill gaps more aggressively; raise it to stay stricter and preserve fine edges.
TemporalStability (Single)
KeepOriginal (Single) How much of the raw mask is kept versus the neighborhood-refined result. Higher values preserve delicate details but keep more noise; lower values look cleaner and more "chunky".
IsTraining (Boolean)
TrainingMeanRate (Single)
TrainingSpreadUpRate (Single)
TrainingSpreadDownRate (Single)
TrainingBrightSuppression (Single)

Outputs

Name Type
Output T3.Core.DataTypes.Texture2D