-
Notifications
You must be signed in to change notification settings - Fork 5
Add perceptualTolerance parameter to Diffing+bitmap to compare perceptual differences using Delta E 1994 #11
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
Merged
Conversation
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Hey @balazstothofficial, I know there hasn't been much activity here recently, is this PR better directed towards my fork? |
@JoelWhitney sorry for the delay @JoelWhitney, I've set @eldrig0 on it, and he's getting into the topic with the intention of getting it merged! |
eldrig0
reviewed
Nov 14, 2024
snapshot/src/androidMain/kotlin/com/quickbird/snapshot/Color.kt
Outdated
Show resolved
Hide resolved
Co-authored-by: Rinzin Wangchuk <[email protected]>
eldrig0
approved these changes
Nov 15, 2024
Yup, will do it tomorrow |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Differences from swift-snapshot-testing
Similar to what was implemented in swift-snapshot-testing, with some slight differences
To match the established pattern of
tolerance
, this PR adds an optionalperceptualTolerance
parameter that allows you to specify the percentage each pixel can be different from source pixel and still considered a match. This parameter complements the existingtolerance
parameter that determines the percentage of pixels that must be considered matching in order to consider the whole image matching.The default value of 0.0 means pixels must match perfectly (and performs existing equality check). Any other value greater than 0.0 and less than or equal to 1.0, will be used when comparing each pixel where 0.0 (0%) means no difference and 1.0 (100%) means completely opposite. A suggested value of 0.01-0.02 is similar to the precision of the human eye.
Unlike swift-snapshot-testing, which uses a CILabDeltaE CoreImage Filter, we must do a byte-by-byte comparison, calculating Delta E values as on-the-fly.
Formula resource: http://www.brucelindbloom.com/index.html?Eqn_XYZ_to_Lab.html
Description of pointfreeco/swift-snapshot-testing#628...