Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Adjustable depth image range #6106

Closed
roym899 opened this issue Apr 24, 2024 · 3 comments · Fixed by #7549
Closed

Adjustable depth image range #6106

roym899 opened this issue Apr 24, 2024 · 3 comments · Fixed by #7549
Assignees
Labels
enhancement New feature or request 🍏 primitives Relating to Rerun primitives

Comments

@roym899
Copy link
Collaborator

roym899 commented Apr 24, 2024

It would be nice to make the min and max value for depth images adjustable. Currently the minimum and maximum depth determine the color mapping; however, this can lead to unintuitive jumps in color when a far-away value pops in and out of the view.

This video shows a negative example where the color changes drastically when the sky is not visible.

untitled.mp4

Describe the solution you'd like

  • Add an option to adjust the min value and max value for the color map.
  • This setting should be available both for backprojected points and for 2D views.
  • For the backprojection it would also be nice to have an option to exclude points outside of this range. This would improve handling of "non-standard" depth images that use an arbitrary far plane value instead of NaN or 0.

Additional context
RViz has this feature ("Normalize Range" can be toggled for depth images and when it's off the "Min Value" and "Max Value" can be set)

@roym899 roym899 added enhancement New feature or request 👀 needs triage This issue needs to be triaged by the Rerun team labels Apr 24, 2024
@Wumpf
Copy link
Member

Wumpf commented Apr 25, 2024

@Wumpf Wumpf added 🍏 primitives Relating to Rerun primitives enhancement New feature or request and removed enhancement New feature or request 👀 needs triage This issue needs to be triaged by the Rerun team labels May 13, 2024
Wumpf pushed a commit that referenced this issue Jul 29, 2024
<!--
Open the PR up as a draft until you feel it is ready for a proper
review.

Do not make PR:s from your own `main` branch, as that makes it difficult
for reviewers to add their own fixes.

Add any improvements to the branch as new commits to make it easier for
reviewers to follow the progress. All commits will be squashed to a
single commit once the PR is merged into `main`.

Make sure you mention any issues that this PR closes in the description,
as well as any other related issues.

To get an auto-generated PR description you can put "copilot:summary" or
"copilot:walkthrough" anywhere.
-->

### What

This PR adds a new colormap: cyan to yellow. The colormap is designed to
work well for red-green colorblind people and make it easy to see the
sign and magnitude of values in the range -1 to 1. It is dark and dull
in the middle and bright and colorful at the ends.


![image](https://github.com/user-attachments/assets/ac171ae1-ab77-4134-8b71-424cf8c76f13)
This screenshot is from https://www.shadertoy.com/view/lfByRh.


![image](https://github.com/user-attachments/assets/b40a7bbc-27fd-4ff7-ac43-fe291eb4d1b9)
This screenshot is from the signed distance field example. The
normalization of values interferes with the colormap as it shifts the
center of the colormap away from zero. It will become easier to use it
to its full potential when range controls for colormaps are added. This
problem is related to #6106 and #1510.

### Checklist
* [x] I have read and agree to [Contributor
Guide](https://github.com/rerun-io/rerun/blob/main/CONTRIBUTING.md) and
the [Code of
Conduct](https://github.com/rerun-io/rerun/blob/main/CODE_OF_CONDUCT.md)
* [x] I've included a screenshot or gif (if applicable)
* [ ] I have tested the web demo (if applicable):
* Using examples from latest `main` build:
[rerun.io/viewer](https://rerun.io/viewer/pr/7001?manifest_url=https://app.rerun.io/version/main/examples_manifest.json)
* Using full set of examples from `nightly` build:
[rerun.io/viewer](https://rerun.io/viewer/pr/7001?manifest_url=https://app.rerun.io/version/nightly/examples_manifest.json)
* [ ] The PR title and labels are set such as to maximize their
usefulness for the next release's CHANGELOG
* [ ] If applicable, add a new check to the [release
checklist](https://github.com/rerun-io/rerun/blob/main/tests/python/release_checklist)!
* [ ] If have noted any breaking changes to the log API in
`CHANGELOG.md` and the migration guide

- [PR Build Summary](https://build.rerun.io/pr/{{pr.number}})
- [Recent benchmark results](https://build.rerun.io/graphs/crates.html)
- [Wasm size tracking](https://build.rerun.io/graphs/sizes.html)

To run all checks from `main`, comment on the PR with `@rerun-bot
full-check`.
@makeecat
Copy link

Do we plan to add this feature in the near future? This small issue can turn down quite a few robotics user from using rerun. Inconsistent depth rendering across frames makes depth data meaningless for analysis.

@Wumpf
Copy link
Member

Wumpf commented Sep 30, 2024

@makeecat apologies for long wait & lack of reply! It looks like we'll have this finally fixed in the upcoming 0.19 release

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request 🍏 primitives Relating to Rerun primitives
Projects
None yet
Development

Successfully merging a pull request may close this issue.

3 participants