Open
Conversation
Auto exposure
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.
Changes in the
analyze_image.pyscript1. New CLI flag
--gain_search <N>An integer option (default
0) that, when used with--bayer, triggers the single‐shot quantile‐fitting auto-gain routine ifN > 0;0(the default) preserves the original single-pass behavior.2. Auto-gain logic (
auto_gain_locally)Initialization
--rg/--bgif positive, otherwise default to(1.0, 1.0).load_image(fp, verbose=False, bayer=True, return_float=False, …)and extract the single-channel array.Quantile fitting
We pick a handful of brightness cutoffs (roughly the 65th–95th percentiles) and compute one red gain and one blue gain that best match those levels to green (no while or loops needed).
Why percentiles?
They focus on mid-range tones and avoid extreme darks or brights, which can be noisy or clipped.
How it works
Gain application
Final pass
analyze_image(...)once more with the new gains (andgain_search=0) to produce the standard plots and outputs.3. Entry-point dispatch (
analyze_image)--bayerand--gain_search N>0, dispatch toauto_gain_locally(...).