utv_unstack_frame_stack#

t3toolbox.backend.utv_operations.utv_unstack_frame_stack(frame_data, variations_data)#
def utv_unstack_frame_stack(
        frame_data,       # frame .data,      supercore stack = C
        variations_data,  # variations .data, supercore stack = K + C
):  # -> array-like tree (shape C) of (frame_data, variations_data) pairs

Peel the frame stack C off both the frame and the variations, returning a C-shaped tree whose leaves are (frame_data, variations_data) pairs – one single-base-point tangent per leaf.

Each frame-.data leaf has stack () (a single frame); each variations-.data leaf has stack K. The frame stack is the inner part of the K + C variation stack, so it is peeled from the interior axes 1+|K| .. 1+|K|+|C| of the variation supercores; the frame’s whole stack is C. The leaves are paired for you (a plain stacking.tree_zip() would recurse into the data tuples). Inverse of utv_stack_frame_stack().