(mesh,
info_on_pix,
config,
image,
depth,
context_ccs,
erode_context_ccs,
extend_context_ccs,
extend_erode_context_ccs,
mask_ccs,
broken_mask_ccs,
edge_ccs,
extend_edge_ccs,
init_mask_connect,
edge_maps,
rgb_model=None,
depth_edge_model=None,
depth_edge_model_init=None,
depth_feat_model=None,
specific_edge_id=-1,
specific_edge_loc=None,
inpaint_iter=0)
| 1393 | return context_ccs, mask_ccs, broken_mask_ccs, edge_ccs, erode_context_ccs, invalid_extend_edge_ccs, edge_maps, extend_context_ccs, extend_edge_ccs, extend_erode_context_ccs |
| 1394 | |
| 1395 | def DL_inpaint_edge(mesh, |
| 1396 | info_on_pix, |
| 1397 | config, |
| 1398 | image, |
| 1399 | depth, |
| 1400 | context_ccs, |
| 1401 | erode_context_ccs, |
| 1402 | extend_context_ccs, |
| 1403 | extend_erode_context_ccs, |
| 1404 | mask_ccs, |
| 1405 | broken_mask_ccs, |
| 1406 | edge_ccs, |
| 1407 | extend_edge_ccs, |
| 1408 | init_mask_connect, |
| 1409 | edge_maps, |
| 1410 | rgb_model=None, |
| 1411 | depth_edge_model=None, |
| 1412 | depth_edge_model_init=None, |
| 1413 | depth_feat_model=None, |
| 1414 | specific_edge_id=-1, |
| 1415 | specific_edge_loc=None, |
| 1416 | inpaint_iter=0): |
| 1417 | |
| 1418 | if isinstance(config["gpu_ids"], int) and (config["gpu_ids"] >= 0): |
| 1419 | device = config["gpu_ids"] |
| 1420 | else: |
| 1421 | device = "cpu" |
| 1422 | |
| 1423 | edge_map = np.zeros_like(depth) |
| 1424 | new_edge_ccs = [set() for _ in range(len(edge_ccs))] |
| 1425 | edge_maps_with_id = edge_maps |
| 1426 | edge_condition = lambda x, m: m.nodes[x].get('far') is not None and len(m.nodes[x].get('far')) > 0 |
| 1427 | edge_map = get_map_from_ccs(edge_ccs, mesh.graph['H'], mesh.graph['W'], mesh, edge_condition) |
| 1428 | np_depth, np_image = depth.copy(), image.copy() |
| 1429 | image_c = image.shape[-1] |
| 1430 | image = torch.FloatTensor(image.transpose(2, 0, 1)).unsqueeze(0).to(device) |
| 1431 | if depth.ndim < 3: |
| 1432 | depth = depth[..., None] |
| 1433 | depth = torch.FloatTensor(depth.transpose(2, 0, 1)).unsqueeze(0).to(device) |
| 1434 | mesh.graph['max_edge_id'] = len(edge_ccs) |
| 1435 | connnect_points_ccs = [set() for _ in range(len(edge_ccs))] |
| 1436 | gp_time, tmp_mesh_time, bilateral_time = 0, 0, 0 |
| 1437 | edges_infos = dict() |
| 1438 | edges_in_mask = [set() for _ in range(len(edge_ccs))] |
| 1439 | tmp_specific_edge_id = [] |
| 1440 | for edge_id, (context_cc, mask_cc, erode_context_cc, extend_context_cc, edge_cc) in enumerate(zip(context_ccs, mask_ccs, erode_context_ccs, extend_context_ccs, edge_ccs)): |
| 1441 | if len(specific_edge_id) > 0: |
| 1442 | if edge_id not in specific_edge_id: |
| 1443 | continue |
| 1444 | if len(context_cc) < 1 or len(mask_cc) < 1: |
| 1445 | continue |
| 1446 | edge_dict = get_edge_from_nodes(context_cc | extend_context_cc, erode_context_cc | extend_erode_context_ccs[edge_id], mask_cc, edge_cc, extend_edge_ccs[edge_id], |
| 1447 | mesh.graph['H'], mesh.graph['W'], mesh) |
| 1448 | edge_dict['edge'], end_depth_maps, _ = \ |
| 1449 | filter_irrelevant_edge_new(edge_dict['self_edge'], edge_dict['comp_edge'], |
| 1450 | edge_map, |
| 1451 | edge_maps_with_id, |
| 1452 | edge_id, |
no test coverage detected