[us-commits] [ehb54/ultrascan3] 0febd2: Add US_Saxs_Util::recompute_errors: standalone I(q...

emre brookes noreply at github.com
Mon Jul 13 13:44:38 MDT 2026


  Branch: refs/heads/somo-dev
  Home:   https://github.com/ehb54/ultrascan3
  Commit: 0febd2d9418b15f336c31d64e3a6dba485aa3bdb
      https://github.com/ehb54/ultrascan3/commit/0febd2d9418b15f336c31d64e3a6dba485aa3bdb
  Author: ehb54 <brookes at uthscsa.edu>
  Date:   2026-07-13 (Mon, 13 Jul 2026)

  Changed paths:
    M us_somo/develop/include/us_saxs_util.h
    M us_somo/develop/src/us_saxs_util_static.cpp

  Log Message:
  -----------
  Add US_Saxs_Util::recompute_errors: standalone I(q) error reassessment

Reproduces the spirit of BayesApp's error-assessment stage (Larsen &
Pedersen, J. Appl. Cryst. 2021) without a BIFT fit. A local weighted
quadratic smoother of I(q) supplies residuals and an effective DoF
(hat-trace); a reduced chi-square and two-sided chi-square p-value
(clean-room regularized incomplete gamma) drive the same significance +
>10% gate as bift.f. Rescales sigma in three modes: constant, non-constant
(per-bin, triangular-smoothed) and intensity-dependent.

Standalone approximation only: no p(r) model, no Ng, no Dmax. Documented
as such in the header.

Implements ehb54/ultrascan-tickets#966

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


  Commit: 17b63846933b108cf79aa0781ecab9fe533859f5
      https://github.com/ehb54/ultrascan3/commit/17b63846933b108cf79aa0781ecab9fe533859f5
  Author: ehb54 <brookes at uthscsa.edu>
  Date:   2026-07-13 (Mon, 13 Jul 2026)

  Changed paths:
    M us_somo/develop/include/us_saxs_util.h
    M us_somo/develop/src/us_saxs_util_static.cpp

  Log Message:
  -----------
  Guard recompute_errors mode 'I' against negative/zero-crossing intensities

On background-subtracted or extrapolated curves I(q) crosses zero, and the
signed intensity term sigma+a*I could go negative, blowing up the a search
and emitting negative sigma (observed factors -13..1087 on real data). Use
sigma+a*|I| so the term is always >= sigma > 0. Add a general safety clamp
so no mode ever writes a non-positive or non-finite sigma (degenerate factor
falls back to 1). Modes C and N are unchanged.

Implements ehb54/ultrascan-tickets#966

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


  Commit: 1e0ed9e1faa70de51dffaff5c11c397b7fa02903
      https://github.com/ehb54/ultrascan3/commit/1e0ed9e1faa70de51dffaff5c11c397b7fa02903
  Author: ehb54 <brookes at uthscsa.edu>
  Date:   2026-07-13 (Mon, 13 Jul 2026)

  Changed paths:
    M us_somo/develop/include/us_hydrodyn_saxs_hplc.h
    M us_somo/develop/src/us_hydrodyn_saxs_hplc_gui.cpp
    M us_somo/develop/src/us_hydrodyn_saxs_hplc_modes.cpp

  Log Message:
  -----------
  Add "SD rescale" button to HPLC/KIN s.d.util mode

Third button in the s.d.util row (alongside "SD eval."/"SD apply") that runs
US_Saxs_Util::recompute_errors on the selected curves. Prompts for the mode
(constant / non-constant / intensity-dependent) via US_Static::getItem (avoids
the OSX QInputDialog-in-slot bug), rescales each curve's SD in place, and logs
the verdict/chi2r/p per curve.

Undo: one full-restore crop_undo_data record per invocation, so the existing
"Crop undo" restores the original SDs. Enabled only for selected q-space curves
that already carry usable errors (all_selected_have_errors: count + matching
size + is_nonzero_vector). Curves lacking usable SDs are skipped with a message.

Implements ehb54/ultrascan-tickets#966

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


  Commit: 5a703361099d4bb8304d7a5477af0bfbc32fb3d7
      https://github.com/ehb54/ultrascan3/commit/5a703361099d4bb8304d7a5477af0bfbc32fb3d7
  Author: ehb54 <brookes at uthscsa.edu>
  Date:   2026-07-13 (Mon, 13 Jul 2026)

  Changed paths:
    M us_somo/develop/include/us_hydrodyn_saxs_hplc.h
    M us_somo/develop/src/us_hydrodyn_saxs_hplc_modes.cpp

  Log Message:
  -----------
  Relax SD rescale gate: accept curves with some zero SDs

recompute_errors already excludes individual zero/negative points, so the
gate need only reject all-zero (placeholder) error vectors. Replace the strict
is_nonzero_vector (all non-zero) test with sd_has_usable_errors (at least one
positive value) in both the enable helper and the per-curve skip. Curves with
a few masked/zero-error points are now processed instead of skipped wholesale.

Implements ehb54/ultrascan-tickets#966

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


  Commit: b29844fdcf97dde3af2de461f20571d1663441dc
      https://github.com/ehb54/ultrascan3/commit/b29844fdcf97dde3af2de461f20571d1663441dc
  Author: ehb54 <brookes at uthscsa.edu>
  Date:   2026-07-13 (Mon, 13 Jul 2026)

  Changed paths:
    M us_somo/develop/src/us_hydrodyn_saxs_hplc_modes.cpp

  Log Message:
  -----------
  Show applied scale factor in SD rescale log

The per-curve log now reports the applied factor, not just reduced chi-square:
"factor X" for constant mode (X = sqrt(chi2r)), or "factor median X (min..max)"
for the per-point non-constant / intensity modes. Captures scale_factors from
recompute_errors for the summary.

Implements ehb54/ultrascan-tickets#966

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


  Commit: 7a16b4d8ffd418112c7a52a607c5d2da07f36e88
      https://github.com/ehb54/ultrascan3/commit/7a16b4d8ffd418112c7a52a607c5d2da07f36e88
  Author: ehb54 <brookes at uthscsa.edu>
  Date:   2026-07-13 (Mon, 13 Jul 2026)

  Changed paths:
    M us_somo/develop/src/us_hydrodyn_saxs_hplc_modes.cpp

  Log Message:
  -----------
  Display SD rescale p-value as fixed-point (3 decimals)

Fixed-point 'f' with 3 decimals instead of 'g' scientific notation, so tiny
p-values read as 0.000 rather than e.g. 8.71e-31, while keeping the 0.003
significance threshold legible.

Implements ehb54/ultrascan-tickets#966

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


  Commit: bd64fd69edefe841b82676a7f5e8fa1faa437d88
      https://github.com/ehb54/ultrascan3/commit/bd64fd69edefe841b82676a7f5e8fa1faa437d88
  Author: ehb54 <brookes at uthscsa.edu>
  Date:   2026-07-13 (Mon, 13 Jul 2026)

  Changed paths:
    M us_somo/somo/doc/manual/somo/somo_saxs_hplc.html

  Log Message:
  -----------
  Document "SD rescale" in HPLC/KIN manual (S.D. Util section)

Add a subsection to the S.D. Util documentation in somo_saxs_hplc.html
describing the new "SD rescale" button: purpose (assess/rescale existing
I(q) errors, vs the baseline-fluctuation SD estimation of eval/apply), the
BayesApp-based method and significance gate, the three modes (constant /
non-constant / intensity-dependent), verdict/factor reporting in Messages,
and undo. Updates the button count (two -> three) and cross-links the
SAS IFT / BayesApp module.

Implements ehb54/ultrascan-tickets#966

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


  Commit: a92ff44060c764135af406f73ec97b7635aaec33
      https://github.com/ehb54/ultrascan3/commit/a92ff44060c764135af406f73ec97b7635aaec33
  Author: ehb54 <brookes at uthscsa.edu>
  Date:   2026-07-13 (Mon, 13 Jul 2026)

  Changed paths:
    M us_somo/somo/doc/manual/somo/somo_saxs_hplc.html

  Log Message:
  -----------
  Update last-edited dates on HPLC manual page

Bump "Last updated" (header) and "Last modified" (footer) to July 2026 / July
13, 2026 to reflect the SD rescale documentation addition.

Implements ehb54/ultrascan-tickets#966

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


  Commit: d9d2b46041a54f808f8adc9f97e1b23947c165ae
      https://github.com/ehb54/ultrascan3/commit/d9d2b46041a54f808f8adc9f97e1b23947c165ae
  Author: emre brookes <ehb54 at users.noreply.github.com>
  Date:   2026-07-13 (Mon, 13 Jul 2026)

  Changed paths:
    M us_somo/develop/include/us_hydrodyn_saxs_hplc.h
    M us_somo/develop/include/us_saxs_util.h
    M us_somo/develop/src/us_hydrodyn_saxs_hplc_gui.cpp
    M us_somo/develop/src/us_hydrodyn_saxs_hplc_modes.cpp
    M us_somo/develop/src/us_saxs_util_static.cpp
    M us_somo/somo/doc/manual/somo/somo_saxs_hplc.html

  Log Message:
  -----------
  Merge pull request #484 from ehb54/ehb54-issue-966

SD rescale: standalone BayesApp-style error reassessment for I(q) (HPLC/KIN)


Compare: https://github.com/ehb54/ultrascan3/compare/ba1b20cdef2d...d9d2b46041a5

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