ufv_variation_masks_over_stack#
- t3toolbox.backend.ufv_masking.ufv_variation_masks_over_stack(frame_masks, frame_stack, out_stack)#
def ufv_variation_masks_over_stack( frame_masks, # the frame's (up, down, frame_left, frame_right) masks, each (len,)+C+(size,) frame_stack, # C, the frame stack out_stack, # K + C, the stack of the variations the masks are for (K leading, possibly empty) ): # -> the 4 variation masks, each (d,)+K+C+(size,), HOST numpy
The frame’s gauge-shifted variation masks (
ufv_variation_masks()) broadcast (constant) over an extra leading tangent stackK– the masks aK-stack of tangents at oneC-stacked frame carries. Every op that produces variations with a stack wider than the frame’s needs this: the sampling transposes (K_new= the kept probe/tangent stack), the ambient projection of aK-stacked gradient, hencetransportof aK-stacked tangent (the last two used to hand aC-stack mask toK+Cvariations and fail in a reshape, review C3). Host numpy: static structure.