Skip to content

Auto-prepare SAXS cluster geometry metadata during component builds#128

Open
KWWyatt wants to merge 29 commits into
kewh5868:mainfrom
KWWyatt:test-pop-changes
Open

Auto-prepare SAXS cluster geometry metadata during component builds#128
KWWyatt wants to merge 29 commits into
kewh5868:mainfrom
KWWyatt:test-pop-changes

Conversation

@KWWyatt
Copy link
Copy Markdown
Contributor

@KWWyatt KWWyatt commented May 28, 2026

Automatically compute and save cluster-geometry metadata for geometry-aware SAXS templates during component/prior workflows.

Refresh Prefit/DREAM workflows after builds and update the Prefit UI with clearer cluster-geometry status messages.

Harden experimental-data loading by reloading after detected header rows and ignoring stale invalid error-column indices.

Add safe log-axis scaling helpers for Prefit and Project Setup plots.

Add tests for automatic geometry metadata creation and experimental-data parsing edge cases.

Reviewer note: consider splitting or normalizing unrelated line-ending/doc/reference-library changes before upstream submission.

KWWyatt and others added 29 commits May 13, 2026 15:46
…progress-updates

Marshal project-load progress updates to the GUI thread via Qt signal/slot
…-crash

Fix/project load threaded progress crash
This is needed to prevent crashing upon project loading.
Make ExperimentalDataHeaderDialog size itself relative to the available screen, cap max size, and relax widgets that could inflate minimum width/height (long file path label and preview box wrapping/height). Also add a regression test for long-path/long-line content and screen constraints.
…aheaderdialog

Constrain ExperimentalDataHeaderDialog to screen bounds
Make ExperimentalDataHeaderDialog size-aware using available screen geometry, wrap long file paths and preview text, and lower preview minimum height so long content cannot force oversized minimum dimensions. Add a regression test that validates the safer wrapping behavior and screen-bounded maximum size.
…aheaderdialog

Fix oversized ExperimentalDataHeaderDialog on experimental .txt load
Constrain header dialog child size hints so long labels and combo entries do not inflate minimum tracking size on Windows. Improve experimental header/column detection to ignore metadata comment lines while still accepting commented real headers like '# q I(q)'. Add regression coverage for metadata comment parsing and dialog size policies.
…aheaderdialog-snudgo

Improve experimental data header/column parsing and make header dialog UI responsive
When a commented line includes metadata and a trailing inline header fragment, extract the header-like segment instead of tokenizing metadata words as column labels. Add regression coverage for '# ... factor: 1.0 # q_(Å⁻¹) I(q)' style inputs.
…aheaderdialog-x89ihv

Ignore metadata comments in experimental data parsing and improve header dialog sizing
Load numeric data through a UTF-8 text stream with errors='replace' instead of letting numpy decode the file path with platform-default codecs. This prevents charmap decode crashes from metadata bytes while preserving numeric row parsing. Add regression coverage for comments containing invalid UTF-8 bytes.
…aheaderdialog-mncjqe

Improve experimental data parsing (metadata-aware) and tighten experimental-data dialog sizing
…ream-merge

Preserve my fork main before upstream merge
Ignore stale out-of-range error column indices, reload data after header
detection, sync column settings on load, and refresh Prefit after creating
a computed distribution.

Co-authored-by: Cursor <cursoragent@cursor.com>
Geometry-aware templates such as pyDREAM Poly LMA Hard-Sphere now get
mapped effective radii when components are built, with clearer Prefit UI
guidance and a fallback compute path when metadata is still missing.

Co-authored-by: Cursor <cursoragent@cursor.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant