Repository navigation
feat: add conservative studio edge decontamination - #32
Merged
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
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.
Changing a light studio backdrop to a dark or saturated color can leave a pale fringe at fractional-alpha boundaries. Add optional local inverse-compositing evidence that replaces only a supported edge pixel’s estimated old backdrop contribution. Existing default recoloring remains unchanged.
Expose
prepare_studio_edge_correctionfor reusable browser/CPU evidence maps andedge_mode="local_unmix"for direct recoloring. Require nearby smooth backdrop samples, plausible foreground recovery and agreement with an opaque anchor; cap channel correction. Preserve alpha, opaque RGB and existing zero-alpha shading. Unsupported fine edges and glass retain explicit uncertainty rather than aggressive cleanup.Include a generic reproducible comparison board, receipts, API/README documentation and edge/refusal regressions. Known synthetic mixtures improve maximum channel error from47→1 on dark and43→1 on saturated backdrops; independent Node replay matches Python. This does not establish complete halo removal or real-glass fidelity.
Validation:52 focused tests passed; fresh full run2216 passed,19 skipped,306 subtests. No private images, paths, weights or application-specific requirements included. Model inference was not repeated for this CPU-only change.