[us-commits] [ehb54/ultrascan3] 1b77e0: P(r) load: keep the headerless first line's error ...

emre brookes noreply at github.com
Sun Sep 6 13:01:43 MDT 2026


  Branch: refs/heads/ehb54-issue-1050
  Home:   https://github.com/ehb54/ultrascan3
  Commit: 1b77e0299620f2b0bf5f4a46a017c748279888e6
      https://github.com/ehb54/ultrascan3/commit/1b77e0299620f2b0bf5f4a46a017c748279888e6
  Author: ehb54 <brookes at uthscsa.edu>
  Date:   2026-09-06 (Sun, 06 Sep 2026)

  Changed paths:
    M us_somo/develop/include/us_hydrodyn_saxs.h
    M us_somo/develop/src/us_hydrodyn_saxs_loads.cpp
    M us_somo/develop/src/us_hydrodyn_saxs_pr.cpp

  Log Message:
  -----------
  P(r) load: keep the headerless first line's error column, report bad SDs

load_pr() parses a numeric first line as headerless data in a special case
that pushed only r and pr, dropping the third column. The main read loop
does push it, so an N-line file ended with pr.size() == N and
pr_error.size() == N - 1; the size-mismatch guard then discarded every
error value. Any headerless three-column P(r) file lost its SDs.

Each data line now pushes an error entry plus a presence flag, so the two
arrays cannot fall out of step and the reason a point has no error is kept.

The mismatch guard is replaced by check_pr_error(), which classifies every
point as having no error value or a zero/negative one -- P(r) needs a
positive SD everywhere, since a zero divides by zero in weighted fitting
and breaks the plot -- and names the offending r values instead of only the
file. Where some but not all points are unusable and neither gui_script nor
batch mode is active, it offers to remove all the errors (as before), set
the bad ones to the smallest positive error in the file, or take a typed
value. Script and batch runs still just drop them, now with the detail
logged.

Note: GNOM writes a zero error at both P(r) endpoints. pop_last already
drops the r = Dmax point, so GNOM files will now report the r = 0 one and
offer the repair rather than passing a zero SD downstream.

Co-Authored-By: Claude Opus 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