Repository navigation
Conversation
This branch has not been deployed
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Fisheye624 projection and unprojection return finite values on the optical axis, but their inactive radial branches divide by zero. Those
0/0intermediates make the coordinate and camera-parameter gradients NaN. The projection's small-radius branch also replaces the ray direction with(1, 1).Express projection as a scalar radial scale times the normalized coordinates, with the analytic limit
theta_distorted / r -> 1. Protect the inactive denominator in the existing unprojection center branch as well. This restores the center Jacobians:diag(fx/z, fy/z)for projection anddiag(1/fx, 1/fy)for unprojection.Validation:
tests/camerasdirectory plus these regressions also passed: 22 passed (existing deprecation warnings).git diff --checkpassed.The complete own-fork workflow was compared with exact unchanged upstream using identical environments. With latest dependencies, both have the same 19 Open3D type errors, two image-processing failures, missing-EGL collection error and missing-pkg_resources documentation error; baseline 79 passed versus patch 92 passed. License, notebook metadata, Ruff lint/format and tracked-file checks pass in both.
A separate compatibility matrix resolves NumPy 1.26.4, setuptools<81 and Open3D 0.18.0 with the dev/docs dependencies, installs libEGL1 and passes
uv pip check. Both now pass Pyright (0 errors) and documentation. Baseline 81 passed versus patch 94 passed, including all 13 new regressions; both retain the same two existing training-test failures inpil_to_numpy/ Pillow 12.3.0 encodersetimage. Full suites remain red. Compatibility changes are confined to the own-fork validation workflow.GPU tests and reconstruction-quality benchmarks were not run. Local focused pytest overrides the parallel/type-checking addopts; the comparative workflows use the repository pytest configuration.