diff --git a/broker/JFJochStateMachine.cpp b/broker/JFJochStateMachine.cpp
index 2ce46530e..1109517a2 100644
--- a/broker/JFJochStateMachine.cpp
+++ b/broker/JFJochStateMachine.cpp
@@ -790,15 +790,6 @@ void JFJochStateMachine::GetPlotRaw(std::vector &v, PlotType type, const
void JFJochStateMachine::SetSpotFindingSettings(const SpotFindingSettings &settings) {
std::unique_lock ul(data_processing_settings_mutex);
DiffractionExperiment::CheckDataProcessingSettings(settings);
- // The adaptive threshold is a property of the software spot finder, which only the DECTRIS
- // (SIMPLON) workflow runs - JUNGFRAU and EIGER find spots on the FPGA, at its own fixed
- // threshold. Refuse it there rather than accept it and do nothing: a silently ignored detection
- // setting is indistinguishable from one that had no effect on the data.
- if (settings.adaptive_threshold && experiment.GetDetectorType() != DetectorType::DECTRIS)
- throw JFJochException(JFJochExceptionCategory::InputParameterInvalid,
- "Adaptive spot-finding threshold is not available on this detector: spots "
- "are found on the FPGA, which applies its own fixed threshold");
-
data_processing_settings = settings;
services.SetSpotFindingSettings(data_processing_settings);
diff --git a/broker/gen/model/Spot_finding_settings.h b/broker/gen/model/Spot_finding_settings.h
index 060854ec2..bca1aa0c2 100644
--- a/broker/gen/model/Spot_finding_settings.h
+++ b/broker/gen/model/Spot_finding_settings.h
@@ -124,7 +124,7 @@ public:
bool highResGapQRecipAIsSet() const;
void unsetHigh_res_gap_Q_recipA();
///
- /// Self-calibrating spot detection: replace the fixed photon_count_threshold by a per-resolution-ring threshold derived from each image's own noise, so the same setting works across datasets without per-dataset tuning. photon_count_threshold is then ignored and false_pixels_per_frame sets the operating point instead. Only available on detectors whose images are analysed in software (the DECTRIS/SIMPLON workflow). The JUNGFRAU and EIGER workflows find spots on the FPGA, which applies its own fixed threshold, so enabling this there is rejected rather than silently ignored.
+ /// Self-calibrating spot detection: replace the fixed photon_count_threshold by a per-resolution-ring threshold derived from each image's own noise, so the same setting works across datasets without per-dataset tuning. photon_count_threshold is then ignored and false_pixels_per_frame sets the operating point instead. Used only on detectors whose images are analysed in software (the DECTRIS/SIMPLON workflow). The JUNGFRAU and EIGER workflows find spots on the FPGA, which applies its own fixed threshold; there the setting is accepted and ignored, so the same settings can be shared across detectors.
///
bool isAdaptiveThreshold() const;
void setAdaptiveThreshold(bool const value);
diff --git a/broker/jfjoch_api.yaml b/broker/jfjoch_api.yaml
index 281f54bb3..45a57b664 100644
--- a/broker/jfjoch_api.yaml
+++ b/broker/jfjoch_api.yaml
@@ -1180,9 +1180,9 @@ components:
threshold derived from each image's own noise, so the same setting works across datasets without
per-dataset tuning. photon_count_threshold is then ignored and false_pixels_per_frame sets the
operating point instead.
- Only available on detectors whose images are analysed in software (the DECTRIS/SIMPLON workflow).
- The JUNGFRAU and EIGER workflows find spots on the FPGA, which applies its own fixed threshold,
- so enabling this there is rejected rather than silently ignored.
+ Used only on detectors whose images are analysed in software (the DECTRIS/SIMPLON workflow).
+ The JUNGFRAU and EIGER workflows find spots on the FPGA, which applies its own fixed threshold;
+ there the setting is accepted and ignored, so the same settings can be shared across detectors.
false_pixels_per_frame:
type: number
format: float
diff --git a/broker/redoc-static.html b/broker/redoc-static.html
index f1305a86c..b17a76036 100644
--- a/broker/redoc-static.html
+++ b/broker/redoc-static.html
@@ -791,9 +791,9 @@ This option should be turned OFF for small molecule datasets or for crystals wit
threshold derived from each image's own noise, so the same setting works across datasets without
per-dataset tuning. photon_count_threshold is then ignored and false_pixels_per_frame sets the
operating point instead.
-Only available on detectors whose images are analysed in software (the DECTRIS/SIMPLON workflow).
-The JUNGFRAU and EIGER workflows find spots on the FPGA, which applies its own fixed threshold,
-so enabling this there is rejected rather than silently ignored.
+Used only on detectors whose images are analysed in software (the DECTRIS/SIMPLON workflow).
+The JUNGFRAU and EIGER workflows find spots on the FPGA, which applies its own fixed threshold;
+there the setting is accepted and ignored, so the same settings can be shared across detectors.
false_pixels_per_frame
number <float> [ 1 .. 100000 ]
Default: 100
Operating point of the adaptive threshold: the number of noise pixels tolerated per frame.
About 100 suits a multi-megapixel detector. Ignored unless adaptive_threshold is set.