i.his.rgb: reimplement conversion code #5730
Open
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.
This pull request fixes incorrect RGB outputs in
i.his.rgb
GRASS module for certain combinations of hue, intensity, and saturation values, particularly:The prior implementation failed to correctly compute RGB for these edge cases due to formula limitations, incorrect assumptions, and redundancy in the
his2rgb.c
logic.This patch:
rowbuffer
overwrite style used inmain.c
File Changed
his2rgb.c
— fixed all cases via modularhue2rgb()
logic and improved edge-case handling.Validation Table (Old vs. Reference RGB Values)
Fixes #5659
Please review and suggest further improvements if necessary.