Encode RLE (Run-length-encode) from 1D binary mask. Args: mask (np.ndarray): 1D binary mask Returns: counts (list): encoded counts RLE
(mask)
| 3 | |
| 4 | |
| 5 | def rle_encode(mask): |
| 6 | """Encode RLE (Run-length-encode) from 1D binary mask. |
| 7 | |
| 8 | Args: |
| 9 | mask (np.ndarray): 1D binary mask |
| 10 | Returns: |
| 11 | counts (list): encoded counts RLE |
| 12 | """ |
| 13 | length = mask.shape[0] |
| 14 | mask = np.concatenate([[0], mask, [0]]) |
| 15 | runs = np.where(mask[1:] != mask[:-1])[0] + 1 |
| 16 | runs[1::2] -= runs[::2] |
| 17 | counts = ' '.join(str(x) for x in runs) |
| 18 | return counts |
| 19 | |
| 20 | |
| 21 | def rle_decode(counts, length): |