IhorIvanyshyn01 commited on
Commit
648e32c
·
1 Parent(s): 7df6a88

Fix submission.json output path and filter NaNs in hybrid_merge

Browse files
Files changed (1) hide show
  1. script.py +17 -1
script.py CHANGED
@@ -234,6 +234,21 @@ def hybrid_merge(pred_v, pred_e, track_v, track_e, merge_radius=0.8):
234
  pred_v = np.array(pred_v) if isinstance(pred_v, list) else pred_v
235
  track_v = np.array(track_v)
236
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
237
  # We will append track vertices that are NOT close to any pred_v
238
  if len(pred_v) > 0:
239
  from scipy.spatial import cKDTree
@@ -381,7 +396,8 @@ if __name__ == "__main__":
381
  f"{elapsed:.0f}s elapsed, ~{remaining:.0f}s remaining")
382
 
383
  # Save
384
- with open("submission.json", "w") as f:
 
385
  json.dump(solution, f)
386
 
387
  elapsed = time.time() - t_start
 
234
  pred_v = np.array(pred_v) if isinstance(pred_v, list) else pred_v
235
  track_v = np.array(track_v)
236
 
237
+ # Filter out NaNs and Infs from track_v
238
+ valid_mask = np.isfinite(track_v).all(axis=1)
239
+ if not valid_mask.all():
240
+ valid_indices = np.where(valid_mask)[0]
241
+ idx_map = {old_idx: new_idx for new_idx, old_idx in enumerate(valid_indices)}
242
+ track_v = track_v[valid_mask]
243
+ new_track_e = []
244
+ for u, v in track_e:
245
+ if u in idx_map and v in idx_map:
246
+ new_track_e.append((idx_map[u], idx_map[v]))
247
+ track_e = new_track_e
248
+
249
+ if len(track_v) == 0:
250
+ return pred_v, pred_e
251
+
252
  # We will append track vertices that are NOT close to any pred_v
253
  if len(pred_v) > 0:
254
  from scipy.spatial import cKDTree
 
396
  f"{elapsed:.0f}s elapsed, ~{remaining:.0f}s remaining")
397
 
398
  # Save
399
+ output_path = Path(params.get('output_path', '.'))
400
+ with open(output_path / "submission.json", "w") as f:
401
  json.dump(solution, f)
402
 
403
  elapsed = time.time() - t_start