90b78b1379b3423aa3b4b5d0de7313f88bda23ab,chainercv/utils/mask/mask_to_bbox.py,,mask_to_bbox,#,5

Before Change


    // CuPy does not support argwhere yet
    mask = cuda.to_cpu(mask)

    bbox = []
    for msk in mask:
        where = np.argwhere(msk)
        if len(where) > 0:
            y_min, x_min = where.min(0)
            y_max, x_max = where.max(0) + 1
        else:
            y_min, x_min, y_max, x_max = 0, 0, 0, 0
        bbox.append((y_min, x_min, y_max, x_max))
    if len(bbox) == 0:
        return xp.empty((0, 4), dtype=np.float32)
    return xp.array(bbox, dtype=np.float32)

After Change



    instance_index, ys, xs = xp.nonzero(mask)
    bbox = xp.zeros((R, 4), dtype=np.float32)
    for i in range(R):
        ys_i = ys[instance_index == i]
        xs_i = xs[instance_index == i]
        if len(ys_i) == 0:
            continue
        y_min = ys_i.min()
        x_min = xs_i.min()
        y_max = ys_i.max() + 1
        x_max = xs_i.max() + 1
        bbox[i] = xp.array([y_min, x_min, y_max, x_max], dtype=np.float32)
    return bbox
Italian Trulli
In pattern: SUPERPATTERN

Frequency: 3

Non-data size: 8

Instances


Project Name: chainer/chainercv
Commit Name: 90b78b1379b3423aa3b4b5d0de7313f88bda23ab
Time: 2019-02-17
Author: yuyuniitani@gmail.com
File Name: chainercv/utils/mask/mask_to_bbox.py
Class Name:
Method Name: mask_to_bbox


Project Name: arogozhnikov/einops
Commit Name: 29389772364178f76ccf565917870639cad283bb
Time: 2018-09-27
Author: iamfullofspam@gmail.com
File Name: einops.py
Class Name:
Method Name: get_axes_names


Project Name: ilastik/ilastik
Commit Name: 53aeaaf93a5daddaafea79ee403768fa5d057c78
Time: 2019-07-26
Author: tomaz.vieira@embl.de
File Name: tests/test_applets/dataSelection/testOpDataSelection.py
Class Name: TestOpDataSelection_Basic2D
Method Name: testProjectLocalData