diff --git a/VHR/segmentation.py b/VHR/segmentation.py index 8c03a2702e7e0dbbe0fc7998f8ddb147288f96e0..4bfca274aa7b6306588322c690f79649b492a310 100644 --- a/VHR/segmentation.py +++ b/VHR/segmentation.py @@ -225,18 +225,19 @@ def tiled_vectorization(input_segm, nominal_tile_size, output_template): obj_to_tile[idx].append(o.label) tiles[idx][0] = min(o.bbox[1], tiles[idx][0]) tiles[idx][1] = min(o.bbox[0], tiles[idx][1]) - for o in rp: - ix, iy = int(o.bbox[1] / nominal_tile_size[0]), int(o.bbox[0] / nominal_tile_size[1]) - idx = ix * ty + iy - tiles[idx][2] = max(o.bbox[3] - tiles[idx][0], tiles[idx][2]) - tiles[idx][3] = max(o.bbox[2] - tiles[idx][1], tiles[idx][3]) + tiles[idx][2] = max(o.bbox[3], tiles[idx][2]) + tiles[idx][3] = max(o.bbox[2], tiles[idx][3]) - for i in range(tx*ty): + out_files = [] + for i in range(len(tiles)): + tiles[i][2] -= tiles[i][0] + tiles[i][3] -= tiles[i][1] in_seg = to_otb_pipeline(input_segm) if len(obj_to_tile[i]) > 0: - vectorize_tile(in_seg, tiles[i], obj_to_tile[i], output_template.format(i)) + out_files.append(output_template.format(i)) + vectorize_tile(in_seg, tiles[i], obj_to_tile[i], out_files[-1]) - return obj_to_tile, tiles + return out_files def get_bounding_boxes(input_segm): in_seg = to_otb_pipeline(input_segm)