Skip to content

fix the multi-column load #376 - #413

Merged
rozyczko merged 2 commits into
developfrom
376-data-loading-robustness
Sep 15, 2026
Merged

rozyczko merged 2 commits into
developfrom
376-data-loading-robustness

Conversation

@rozyczko

Copy link
Copy Markdown
Member

Data loading improvements:

  • Updated _load_txt to always read the first four columns as Qz, R, sR, sQz (in ORSO order), ignoring any extra columns, and clarified in the docstring that error columns are treated as standard deviations and squared to obtain variances.

Data merging improvements:

  • Changed merge_datagroups to use sc.concat along the correct dimension when merging shared keys, ensuring proper concatenation instead of overwriting.

@rozyczko rozyczko added [scope] bug Bug report or fix (major.minor.PATCH) bugfix Fix to known bug [priority] high Should be prioritized soon labels Sep 15, 2026
@codecov

codecov Bot commented Sep 15, 2026

Copy link
Copy Markdown

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 94.57%. Comparing base (53be08b) to head (57131cc).

Additional details and impacted files

Impacted file tree graph

@@             Coverage Diff             @@
##           develop     #413      +/-   ##
===========================================
+ Coverage    94.54%   94.57%   +0.03%     
===========================================
  Files           54       54              
  Lines         5517     5515       -2     
===========================================
  Hits          5216     5216              
+ Misses         301      299       -2     
Flag Coverage Δ
integration 38.33% <0.00%> (+0.01%) ⬆️
unittests 94.57% <100.00%> (+0.03%) ⬆️

Flags with carried forward coverage won't be shown. Click here to find out more.

Files with missing lines Coverage Δ
src/easyreflectometry/data/measurement.py 94.50% <100.00%> (+2.03%) ⬆️
🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

Review follow-ups on the _load_txt/merge_datagroups fix:

- The resolution variances are ~1e-9, so asserting them with
  assert_almost_equal passed even against zeros. Use assert_allclose with a
  relative tolerance in the three txt loading tests.
- Cover a single-row file (the ndmin=2 path, which raised before this branch)
  and a comma-delimited file with extra columns.
- Merge two different datasets of different lengths under a shared key, and
  assert dims, unit, length, order and variances. Merging a file with itself
  could not detect a reversed concatenation or lost uncertainties.
- Say "additional numeric columns" (numpy still parses the whole file, so a
  trailing text column remains an error) and "the ORSO default" (the spec also
  permits FWHM, which the ORSO loader converts). State the sigma requirement on
  the public load() too.

Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com>
@rozyczko
rozyczko merged commit ad7d255 into develop Sep 15, 2026
55 checks passed
@rozyczko
rozyczko deleted the 376-data-loading-robustness branch September 15, 2026 11:47
rozyczko added a commit that referenced this pull request Sep 18, 2026
* Polarized channels (#393)

* initial version

* added magnetic SLD profile

* added magnetic parameters

* code review comments addressed

* code review fixes for Phase 2, added notebook

* PR code review comments

* fixed polarized file load issue

* enable magnetic layers

* new LayerMagnetism component

* ruff

* ruff on notebooks

* bind calculator to model for performance

* attempt at fixing package testing

* package tests only on master

* don't run ruff twice

* code review fixes

* added polarized fitting example/notebook

* fixed default sample generation

* improved wording in the magnetic fitting notebook

* move the most expensive test to integration

* dont show 0.0 for parameter errors where no fitting was done (#397)

* removed vestiges of BA (#394)

* Improved constraints + doc migration (#400)

* initial version

* added magnetic SLD profile

* added magnetic parameters

* ruff

* code review comments addressed

* code review fixes for Phase 2, added notebook

* ruff

* PR code review comments

* fixed polarized file load issue

* enable magnetic layers

* new LayerMagnetism component

* ruff

* ruff on notebooks

* bind calculator to model for performance

* attempt at fixing package testing

* package tests only on master

* don't run ruff twice

* code review fixes

* added polarized fitting example/notebook

* fixed default sample generation

* improved wording in the magnetic fitting notebook

* move the most expensive test to integration

* Improved constraints (#395)

* improved handling of constraints

* ruff

* wording

* additional cell in a notebook to showcase the new way of doing
constraints

* fixed notebook

* initial checkin

* .bounds -> min, max

* updates so the code is self-contained and doesn't depend on changes to
core

* Code review comments addressed

* Updated docs (#398)

* move everything to MKDocs

* ruff fix for notebook

* Fix broken conflict resolutions from develop merge

* code review issues addressed

* removed explicit EasyCore constraints factory reliance

* Orso improvements (#402)

* initial commit

* code review fixes

* more unit tests for orso functionality

* Enable SLD dependence on material data (#403)

* enable SLD dependence on material data

* extending methods for use in ERA

* code review issues addressed

* make molecular weight a descriptor

* Improvements to the state tracking #401 (#405)

* Improvements to the state tracking #401

* PR issues addressed

* minor ruff NOQA

* reparent to develop of core and fixed the functionality

* minor material editor fix (#408)

* fix default elements (#410)

* 378 remove datastore (#409)

* Removed DataStore

* Added exception when file exists and overwrite=false (#411)

* fix the multi-column load #376 (#413)

* fix the multi-column load #376

* preparations for the release

* updated EasyScience dep

* pre-release doc fixes
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

bugfix Fix to known bug [priority] high Should be prioritized soon [scope] bug Bug report or fix (major.minor.PATCH)

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant