Traverse-Research / Traverse-Research/ispc-downsampler
Critically missing linearization
Nobody has claimed this yet.
- Dominant language
- Rust
- Stars
- 15
- Forks
- 1
- PR merge metrics
- No merged PRs in 30d
Description
I briefly looked at the code and seems there is no linearization happening before downsampling. u8/channel color data will always have some gamma for obvious reasons.
I.e. the results of the downsampling using this crate are just always wrong (as there are no u16/f16 or f32 images supported where there is enough bits to store data linearly in the pixel buffer).
See http://www.ericbrasseur.org/gamma.html for a detailed explanation.
This is the test image from above website:
The expected result:
And what the code in this crate produces instead:
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by tracing the crate's downsampling path and compare its output with the linked gamma test image and expected result. Confirm how u8/channel data is handled before filtering; done means downsampling accounts for the missing linearization and produces the expected image.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- rust
- Domain
- computer-graphics
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 42/100