def METHOD_NAME(overseg_vol, groundtruth_vol, asdict=True):
    """
    Given an oversegmentation and a reference segmentation,
    return a dict of {(sp1, sp2) : bool} indicating whether or
    not edge (sp1,sp2) is ON in the reference segmentation.
    If asdict=False, return separate ndarrays for edge_ids
    and boolean decisions instead of combined dict.
    """
    sp_edges_per_axis = []
    for axis in range(overseg_vol.ndim):
        edge_mask = edge_mask_for_axis(overseg_vol, axis)
        sp_edges = edge_ids_for_axis(overseg_vol, edge_mask, axis)
        del edge_mask
        sp_edges_per_axis.append(sp_edges)
    unique_sp_edges = unique_edge_labels(sp_edges_per_axis)[["sp1", "sp2"]].values
    sp_to_gt_mapping = label_vol_mapping(overseg_vol, groundtruth_vol)
    decisions = sp_to_gt_mapping[unique_sp_edges[0]] != sp_to_gt_mapping[unique_sp_edges[1]]
    if asdict:
        return dict(zip(map(tuple, unique_sp_edges), decisions))
    return unique_sp_edges, decisions