Houdini 20.0 Nodes Geometry nodes

Volume Normalize Weights geometry node

Ensure a set of volumes add up to one.

The Volume Normalize Weights SOP ensures each voxel will add up to one across a set of volumes. This is very useful when dealing with a set of masks or weighting volumes where they are expected to be normalized.


Volumes to Normalize

Volume Name #

The names of volumes or VDBs to include in the normalization set.


Normalization Mode

How to compute the total for the sake of normalization. For each voxel a total value is computed across all matching voxels in the other volumes. The voxel will then be divided by this total, ensuring the volumes are then normalized.


If the volume is non-zero it contributes one to the total, otherwise zero.


The voxel value is added to form a total. Note that negative values may cause surprising results, either clamp to zero or absolute value may be desired as a pre-processing stage.

Sum of Squares

The square of the voxel value is added to the total. The square root of the final total is then used to normalize. This forms a euclidean metric, so will do the expected thing if normalizing vectors.


The largest voxel value is used as the total. This ensures the largest voxel has a value of 1, and the other values will be between 0 and 1. Negative numbers may have surprising effects, clamp to zero or absolute value may be wished as a pre-processing stage.

Limit Sum to 1

This mode is order dependent. For each volume in order, the value is clamped to the remainder of the total and 1. This ensures the volumes will add up to 1 or less, but by giving preference to the first of the weighting masks. This is useful if you want the earlier masks to win over the later ones.


How close to zero the voxel has to be to count as non-zero in the Non-Zero normalization mode.


Divide the final voxel value by the total. Disabling this will leave only the preprocessing and the remainder addition active, so usually is not disabled.

Weighting Threshold

Normalize by the maximum of the total and the weighting threshold. This allows totals less than the weighting threshold to be rise from zero to one rather than instantly going to one. A value of 1 is a good way to allow totals under one to be unaffected by normalization.

Add Remainder to First Volume

If the total is less than the weighting threshold, the missing component is added to the first volume. This can be useful if one needs to build a “no-selection” mask.


Pre-processing is done to each volume. The volumes are affected by this, not just the total computation.

Absolute Value

Take the absolute value of each voxel.

Clamp to 0

Clamp the voxel value below by 0.

Clamp to 1

Clamp the voxel value above by 1.

See also

Geometry nodes