build_subdivision_plan

function of dascore.utils.chunk_plan source

build_subdivision_plan(
    df: DataFrame ,
    pieces ,
    name: str ,
)-> ‘ChunkPlan’

Build a plan cutting each row of a relation into its own pieces.

Unlike a chunk plan, no row ever meets another: each output is one contiguous piece of exactly one source row. A row handed the whole of its own envelope passes through as a single unmodified output, and one handed no pieces at all leaves the relation — which is how a selection along the dimension drops a patch none of whose samples it keeps. This is what operations which re-describe patches rather than restructure them (Spool.conform_to_inventory, inventory-backed channel selection) need.

Parameters

Parameter Description
df The relation to subdivide; one row per patch.
pieces One sequence of inclusive (low, high) envelopes per row, in the
row’s own units and already on its sample grid. They must be
disjoint within a row but need not be in envelope order —
Spool.expand_by emits them grouped by value. subdivision_pieces
builds them from cut values, and a mask over the row’s samples
gives them directly.
name The dimension being subdivided.