-
Notifications
You must be signed in to change notification settings - Fork 373
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
Automatically determine image/tensor color mapping & need for sRGB decoding #2342
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I think the heuristics are good (except for it being RGB(A) only), but the I would expect it to have some effect on our tests. In particular, I would expect it would make all float and unsigned types in ./examples/python/api_demo/main.py --demo image_tensors
have the correct gamma.
…ply is applied in rectangle shader
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Looks good, but please make sure you test it with depth maps and tensor view before merging!
oh. yes. haven't done that again with the latest changes! |
looked all good, didn't find any regressions related to this |
…coding (#2342) <!-- 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. --> Fixes #2274 * #2274 Will need to be further worked on via: * #2341 Introduces 3 new things actually: * finite range, determined if the range of a tensor was in fact not finite * heuristic for color mapping range * heuristic for srgb *⚠️ does this break things? Range & sRGB: This ``` import rerun as rr import numpy as np import matplotlib.pyplot as plt rr.init("image color", spawn=True) img = np.random.random((300, 300, 3)) * 0.2 rr.log_image("image", img) print(img.min(), img.max()) # to check they are in range [0,1] plt.imshow(img) plt.show() ``` Gives now the expected image: ![image](https://github.com/rerun-io/rerun/assets/1220815/9fcda125-f762-4fd4-ae24-ce6dcaaa496a) When setting a pixel to inf, we show the "finite range" as well, and behave correctly: <img width="1026" alt="image" src="https://github.com/rerun-io/rerun/assets/1220815/7d3037e8-f562-4b6c-8f08-ec4f5627c21a"> * [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) <!-- This line will get updated when the PR build summary job finishes. --> PR Build Summary: https://build.rerun.io/pr/2342 <!-- pr-link-docs:start --> Docs preview: https://rerun.io/preview/93697e6/docs Examples preview: https://rerun.io/preview/93697e6/examples <!-- pr-link-docs:end -->
What
Fixes #2274
Will need to be further worked on via:
Introduces 3 new things actually:
Range & sRGB:
This
Gives now the expected image:
When setting a pixel to inf, we show the "finite range" as well, and behave correctly:
Checklist
PR Build Summary: https://build.rerun.io/pr/2342
Docs preview: https://rerun.io/preview/a1011c1/docs
Examples preview: https://rerun.io/preview/a1011c1/examples