analysis: a scanning goniometer under an MX mode is normal, and no longer warned about
The warning claimed a sweep collected under mx_stills was being analysed as something the data did not support. It is not a problem to report: a scanning goniometer is REQUIRED for the file to carry correct metadata, mx_stills included, so its presence under an MX mode is the ordinary case and firing on it would train an operator to ignore the log. Removed rather than downgraded. Nothing is left behind saying the condition is tolerated, because there is no condition. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01EFEJG6WBQv8th4UJFNe53N
This commit is contained in:
1 parent
550f7c7d7b
commit
eba81013cd
2 files changed
+1
-13
No files matched your search
@@ -399,18 +399,6 @@ void JFJochStateMachine::Start(const DatasetSettings &settings, bool async) {
|
||||
|
||||
experiment.ImportDatasetSettings(settings);
|
||||
|
||||
// A sweep arriving under an MX mode. The mode says stills - it is the only MX mode this API can
|
||||
// express - but the goniometer says the crystal turns, and analysing a sweep frame by frame is a
|
||||
// different measurement from the one the data support. It is said out loud rather than refused:
|
||||
// collecting rotation data here is normal and per-image spot counts are useful live feedback, so
|
||||
// the mistake worth preventing is not the acquisition but the silence about what was done to it.
|
||||
if (experiment.GetAnalysisSettings().IsMX()
|
||||
&& experiment.GetGoniometer().has_value() && experiment.GetGoniometer()->IsScanning())
|
||||
logger.Warning("Analysis mode is {} but the goniometer scans: this sweep is analysed frame by "
|
||||
"frame as stills. jfjoch_broker has no rotation analysis - process the stored "
|
||||
"file with rugnux for that.",
|
||||
AnalysisModeName(experiment.GetAnalysisMode()));
|
||||
|
||||
cancel_sequence = false;
|
||||
if (experiment.GetStorageCellNumber() == 1)
|
||||
experiment.StorageCellStart(15);
|
||||
|
||||
+1
-1
@@ -5,7 +5,7 @@
|
||||
|
||||
* jfjoch_broker takes an explicit analysis mode (`/config/analysis`, the `analysis` block of the configuration file, and the Analysis panel of the web frontend): `MXStills` (the default), `Azint`, `Grid`, `PowderCalibration` or `None`. The mode decides what runs and takes precedence over `dataset_settings.spot_finding` and `spot_finding_settings.enable`, which are now deprecated.
|
||||
* `PowderCalibration` moves azimuthal integration onto the CPU and sets a sector count of its own, since the FPGA integration core cannot hold enough bins for a sectored profile; a calibration exposure then runs at a few Hz.
|
||||
* Rotation MX analysis is not offered online - it is absent from the REST API and refused by the broker - and a rotation sweep collected under an MX mode is logged as being analysed frame by frame as stills.
|
||||
* Rotation MX analysis is not offered online: it is absent from the REST API and refused by the broker. Rotation data is collected with jfjoch_broker and processed with rugnux.
|
||||
* `rugnux --mode` accepts `mx_rotation` and `mx_stills` beside `mx`, which continues to choose between them from the goniometer.
|
||||
* The stream and the written file record which analysis produced them, as `analysis_mode` in the CBOR start message and `/entry/MX/analysis_mode` in the HDF5 master.
|
||||
* The crystals a grid scan found travel through the CBOR end message (`grid_crystals`), the HDF5 master (`/entry/MX/crystals`) and `GET /result/scan`, which also carries a powder-calibration result.
|
||||
|
||||
Reference in new issue
Block a user