[us-commits] [ehb54/ultrascan3] 5b3833: extrap_c0 outlier QC: mean|t|, always-report, drop...

emre brookes noreply at github.com
Tue Jul 14 08:59:00 MDT 2026


  Branch: refs/heads/ehb54-issue-920
  Home:   https://github.com/ehb54/ultrascan3
  Commit: 5b3833c24f987cfb6ca887d2bddcfdafb817e001
      https://github.com/ehb54/ultrascan3/commit/5b3833c24f987cfb6ca887d2bddcfdafb817e001
  Author: ehb54 <brookes at uthscsa.edu>
  Date:   2026-07-14 (Tue, 14 Jul 2026)

  Changed paths:
    M us_somo/develop/src/us_hydrodyn_saxs_iqq_extrap_c0.cpp
    M us_somo/develop/src/us_hydrodyn_saxs_iqq_extrap_c0_conc.cpp
    M us_somo/somo/doc/manual/somo/somo_saxs_extrap_c0.html

  Log Message:
  -----------
  extrap_c0 outlier QC: mean|t|, always-report, drop separation gate, fix sigma floor

Fixes from testing on the alpha-syn extrapolate2 set (the known-bad 1.818 curve
would not discard at any setting):

- The dialog silently floored both thresholds at 1.0 (validator + ok()), so a
  typed 0.5 fell back to the 3.0/1.5 defaults -- the entered value never applied.
  Sigma now accepts any value > 0 (it is a standardized-residual threshold, and
  mild outliers sit near 1-2); the chi^2 gain stays floored at 1.0 (a ratio < 1
  means removal worsens the fit, which is meaningless).

- Aggregate the per-curve residual as the MEAN |t| across q, not the median. A
  bad concentration/scale error is concentrated at low q (where it corrupts I(0));
  the median washed it out (1.06 for the 1.818 curve), the mean keeps it (1.62).

- Drop the hard separation >= 2x gate: it blocked genuine low-q outliers whose
  per-q spread overlaps the others (1.818 curve separation was 1.71x). Separation
  is still computed and reported, just not gated. Magnitude (sigma), systematic
  sign (>=70% one-sided) and global pooled-chi^2 gain remain the gates.

- Always report the evaluation when auto-discard is on: the most-outlying curve,
  its mean |t|, one-sided %, pooled chi^2 and gain, separation, the thresholds in
  effect, and the verdict (discarded, or kept with the failing gate named). A
  no-discard run is no longer silent -- the thresholds can now be tuned from the log.

On this set, sigma 1.5 with min chi^2 gain 1.2 now discards the 1.818 curve;
the conservative defaults (3.0/1.5) keep it and say why.

Co-Authored-By: Claude Fable 5 <noreply at anthropic.com>



To unsubscribe from these emails, change your notification settings at https://github.com/ehb54/ultrascan3/settings/notifications


More information about the us-commits mailing list