Consolidate offline tools into rugnux; merge on by default
Build Packages / build:windows:cuda (push) Failing after 5m34s
Build Packages / build:viewer-tgz:cpu (push) Successful in 7m45s
Build Packages / build:viewer-tgz:cuda (push) Successful in 9m5s
Build Packages / build:windows:nocuda (push) Successful in 10m37s
Build Packages / build:rpm (ubuntu2404_nocuda) (push) Successful in 12m54s
Build Packages / build:rpm (rocky8_nocuda) (push) Successful in 13m6s
Build Packages / build:rpm (rocky8_sls9) (push) Successful in 13m25s
Build Packages / build:rpm (ubuntu2204_nocuda) (push) Successful in 13m38s
Build Packages / build:rpm (rocky9_nocuda) (push) Successful in 13m47s
Build Packages / build:rpm (rocky8) (push) Successful in 11m1s
Build Packages / build:rpm (rocky9_sls9) (push) Successful in 12m35s
Build Packages / XDS test (durin plugin) (push) Successful in 7m43s
Build Packages / Generate python client (push) Successful in 35s
Build Packages / Build documentation (push) Successful in 1m1s
Build Packages / Create release (push) Skipped
Build Packages / build:rpm (ubuntu2404) (push) Successful in 11m3s
Build Packages / build:rpm (ubuntu2204) (push) Successful in 12m53s
Build Packages / build:rpm (rocky9) (push) Successful in 13m4s
Build Packages / DIALS test (push) Successful in 13m38s
Build Packages / XDS test (neggia plugin) (push) Successful in 7m34s
Build Packages / XDS test (JFJoch plugin) (push) Successful in 8m15s
Build Packages / Unit tests (push) Successful in 1h0m56s
Build Packages / build:windows:cuda (push) Failing after 5m34s
Build Packages / build:viewer-tgz:cpu (push) Successful in 7m45s
Build Packages / build:viewer-tgz:cuda (push) Successful in 9m5s
Build Packages / build:windows:nocuda (push) Successful in 10m37s
Build Packages / build:rpm (ubuntu2404_nocuda) (push) Successful in 12m54s
Build Packages / build:rpm (rocky8_nocuda) (push) Successful in 13m6s
Build Packages / build:rpm (rocky8_sls9) (push) Successful in 13m25s
Build Packages / build:rpm (ubuntu2204_nocuda) (push) Successful in 13m38s
Build Packages / build:rpm (rocky9_nocuda) (push) Successful in 13m47s
Build Packages / build:rpm (rocky8) (push) Successful in 11m1s
Build Packages / build:rpm (rocky9_sls9) (push) Successful in 12m35s
Build Packages / XDS test (durin plugin) (push) Successful in 7m43s
Build Packages / Generate python client (push) Successful in 35s
Build Packages / Build documentation (push) Successful in 1m1s
Build Packages / Create release (push) Skipped
Build Packages / build:rpm (ubuntu2404) (push) Successful in 11m3s
Build Packages / build:rpm (ubuntu2204) (push) Successful in 12m53s
Build Packages / build:rpm (rocky9) (push) Successful in 13m4s
Build Packages / DIALS test (push) Successful in 13m38s
Build Packages / XDS test (neggia plugin) (push) Successful in 7m34s
Build Packages / XDS test (JFJoch plugin) (push) Successful in 8m15s
Build Packages / Unit tests (push) Successful in 1h0m56s
Fold jfjoch_azint and rugnux_scale into the single rugnux CLI, and flip scaling/merging from opt-in to on-by-default. - rugnux --azint-only replaces jfjoch_azint (reuses ProcessMode:: AzimuthalIntegration; adds the correction toggles and geometry overrides the old tool carried). - rugnux --scale replaces rugnux_scale (re-scale/merge stored reflections, same simpler scale/merge as before: no space-group search or rot3d defaults). Its workflow is folded into the CLI verbatim. - Merging is now on by default for rotation and stills; --no-merge disables it, replacing -M/--scale-merge. Also fix the batch ReadReflections reader so it works on rugnux's own NXmxIntegrated _process.h5: read per-image reflections/mosaicity/lattice from the master (global index) first, falling back to the source-data locator for legacy/VDS datasets. Without this, both --scale and the former rugnux_scale read zero reflections from an integrated snapshot. RugnuxCommandLine now emits `rugnux --azint-only` and `--no-merge`; docs and tests updated to match. Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
This commit is contained in:
@@ -1102,14 +1102,21 @@ std::vector<IntegrationOutcome> HDF5MetadataSource::ReadReflections(size_t start
|
||||
// Generic (non-image-specific) detector geometry from experiment setup.
|
||||
outcome.geom = cached_geom;
|
||||
|
||||
// Per-image reflections and MX metadata live in the same file as the image pixels,
|
||||
// at the source-local index (the locator keeps the data-file handle cached).
|
||||
const auto loc = ResolveMeta(static_cast<int64_t>(img));
|
||||
HDF5Object *meta_file = loc.file.get();
|
||||
const size_t meta_image_id = loc.local_index;
|
||||
// Per-image reflections and MX metadata are stored in this master at the global index for a
|
||||
// self-contained integrated _process.h5 snapshot, or co-located with the pixels in the source
|
||||
// data file at the source-local index for a legacy/VDS dataset. Prefer the master (so an
|
||||
// integrated snapshot reads without its linked source data present); fall back to the source.
|
||||
HDF5ReadOnlyFile *meta_file = master_file.get();
|
||||
size_t meta_image_id = img;
|
||||
std::string refl_group = fmt::format("/entry/reflections/image_{:06d}", img);
|
||||
if (!master_file->Exists(refl_group)) {
|
||||
const auto loc = ResolveMeta(static_cast<int64_t>(img));
|
||||
meta_file = loc.file.get();
|
||||
meta_image_id = loc.local_index;
|
||||
refl_group = fmt::format("/entry/reflections/image_{:06d}", meta_image_id);
|
||||
}
|
||||
|
||||
// ── reflections ──────────────────────────────────────────────────────
|
||||
const std::string refl_group = fmt::format("/entry/reflections/image_{:06d}", meta_image_id);
|
||||
ReadReflectionsFromGroup(*meta_file, refl_group, outcome.reflections);
|
||||
|
||||
// ── per-image mosaicity ───────────────────────────────────────────────
|
||||
|
||||
Reference in New Issue
Block a user