Handle None vs. Nan in data association
- Dominant language
- Jupyter Notebook
- Stars
- 524
- Forks
- 64
- Avg merge
- 4h 1m
- Merged PRs (30d)
- 3
Description
here is the offending line: https://github.com/borglab/gtsfm/blob/master/gtsfm/data_association/point3d_initializer.py#L187
we pass None as the avg_track_error if poses underconstrained, or cheirality check fails, or inliers underconstrained
but NaN is returned in some other case. so we could just pass np.nan or float("NaN") for each of those
or cast numpy arrays of object type to float32 in metrics, because object types are not supported. But we should not cast everything.
Contributor guide
Research direction
Start at gtsfm/data_association/point3d_initializer.py#L187 and trace how avg_track_error is produced when poses, cheirality, or inliers are underconstrained. Then inspect the metrics code that receives these values and decide which representation is consistently supported. Done means the chosen handling avoids object-typed metric arrays without changing unrelated values.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- numpy, python
- Domain
- computer-vision
- Issue type
- Bug
- Difficulty
- 3/5
- Estimated time
- 1-2 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 30/100