WIP: rescale precomputed coordinates when image is too large (crossed) #12
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 PR is an attempt / basis for discussion to fix #8 . When the image is too large, the precomputed coordinate & radius lookup tables in "crossed-large.h" and "crossed-xlarge.h" are insufficiently scaled for the image size and no longer covering all of the image.
I was able to reproduce the problem using this image: 2,345 × 3,313 pixels
My fix: For large images, where the coordinates from the precomputed lookup table would not be sufficient, scaling is applied to the coordinates in order to fit the image canvas. For unproblematic cases (small images) the old behavior remains unchanged.
The underlying calculations behind the lookup tables in "crossed-large.h" and "crossed-xlarge.h" are not 100% clear to me, maybe someone with a deeper understanding could chime in.
Branch: master
CC @jvolker @pjmsullivan