masks.py 文件源码

python
阅读 27 收藏 0 点赞 0 评论 0

项目:circletracking 作者: caspervdw 项目源码 文件源码
def get_slice(coords, shape, radius):
    """Returns the slice and origin that belong to ``slice_image``"""
    # interpret parameters
    ndim = len(shape)
    radius = validate_tuple(radius, ndim)
    coords = np.atleast_2d(np.round(coords).astype(np.int))
    # drop features that have no pixels inside the image
    in_bounds = np.array([(coords[:, i] >= -r) & (coords[:, i] < sh + r)
                         for i, sh, r in zip(range(ndim), shape, radius)])
    coords = coords[np.all(in_bounds, axis=0)]
    # return if no coordinates are left
    if len(coords) == 0:
        return [slice(None, 0)] * ndim, None
    # calculate the box
    lower = coords.min(axis=0) - radius
    upper = coords.max(axis=0) + radius + 1
    # calculate the slices
    origin = [None] * ndim
    slices = [None] * ndim
    for i, sh, low, up in zip(range(ndim), shape, lower, upper):
        lower_bound_trunc = max(0, low)
        upper_bound_trunc = min(sh, up)
        slices[i] = slice(lower_bound_trunc, upper_bound_trunc)
        origin[i] = lower_bound_trunc
    return slices, origin
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号