def ring_dilation_above_thres(labels, img, MARGIN=2, RINGWIDTH=4, EXTRA_RINGWIDTH=15, THRES=50): sub_label = dilate_to_cytoring(labels, RINGWIDTH, MARGIN) extra_sub_label = dilate_to_cytoring(labels, EXTRA_RINGWIDTH, RINGWIDTH) extra_sub_label[img < THRES] = 0 return sub_label + extra_sub_label
def ring_dilation(labels, MARGIN=0, RINGWIDTH=4): """Create a ring around label. :param RINGWIDTH (int): Width of rings :param MARGIN (int): A region of rings is ignored if they are within MARGIN pixels away from label. Examples: >>> arr = np.zeros((5, 5));arr[2, 2] = 10 >>> ring_dilation(None, arr, None, MARGIN=1, RINGWIDTH=2) array([[ 0, 10, 10, 10, 0], [10, 0, 0, 0, 10], [10, 0, 0, 0, 10], [10, 0, 0, 0, 10], [ 0, 10, 10, 10, 0]], dtype=uint16) """ return dilate_to_cytoring(labels, RINGWIDTH, MARGIN)