_process.h5 carries the offline per-image scale; -e documented as exclusive

The writer's MX plugin decided the image-scale arrays were present whenever
its own vector was non-empty, which is always, so every data file wrote them
as NaN - and the master's SaveVectorIfMissing then left the end message's
values out. It now marks them present only when an image message carries a
scale. rugnux, whose scale exists only after the image messages went to the
file, puts the per-image scale, its CC and mosaicity into the end message, so
imageScaleFactor/imageScaleCC/imageScaleMosaicity hold the run's values
(NaN only for frames without a scale).

The usage line of -e now says the end image is exclusive, which is what the
code does.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
leonarski_fandClaude Opus 5.5 committed 2026-10-20 16:38:00 +02:00
1 parent 63595c0513
commit 750579bfe4
3 files changed
+11 -2

No files matched your search

+1 -1
View File
@@ -195,7 +195,7 @@ void HDF5DataFilePluginMX::Write(const DataMessage &msg, uint64_t image_number)
niggli_class[image_number] = 0;
}
if (!image_scale_factor.empty())
if (msg.image_scale_factor.has_value())
image_scale_present = true;
image_scale_factor[image_number] = msg.image_scale_factor.value_or(NAN);