jfjoch_process: Add photon count threshold for spot finding
Build Packages / build:rpm (rocky8_nocuda) (push) Successful in 10m1s
Build Packages / build:rpm (ubuntu2204_nocuda) (push) Successful in 10m30s
Build Packages / build:rpm (rocky9_nocuda) (push) Successful in 11m18s
Build Packages / build:rpm (ubuntu2404_nocuda) (push) Successful in 8m59s
Build Packages / build:rpm (rocky8_sls9) (push) Successful in 10m25s
Build Packages / build:rpm (rocky8) (push) Successful in 9m56s
Build Packages / build:rpm (rocky9_sls9) (push) Successful in 12m4s
Build Packages / build:rpm (rocky9) (push) Successful in 11m32s
Build Packages / Generate python client (push) Successful in 34s
Build Packages / Build documentation (push) Successful in 57s
Build Packages / build:rpm (ubuntu2404) (push) Successful in 10m58s
Build Packages / Create release (push) Has been skipped
Build Packages / build:rpm (ubuntu2204) (push) Successful in 12m1s
Build Packages / XDS test (durin plugin) (push) Successful in 9m3s
Build Packages / XDS test (neggia plugin) (push) Successful in 7m40s
Build Packages / XDS test (JFJoch plugin) (push) Successful in 8m39s
Build Packages / DIALS test (push) Successful in 13m31s
Build Packages / build:rpm (rocky8_nocuda) (pull_request) Successful in 9m29s
Build Packages / build:rpm (ubuntu2204_nocuda) (pull_request) Successful in 11m10s
Build Packages / build:rpm (ubuntu2404_nocuda) (pull_request) Successful in 11m10s
Build Packages / build:rpm (rocky9_nocuda) (pull_request) Successful in 12m26s
Build Packages / build:rpm (rocky8_sls9) (pull_request) Successful in 12m10s
Build Packages / build:rpm (rocky9_sls9) (pull_request) Successful in 12m37s
Build Packages / build:rpm (rocky8) (pull_request) Successful in 9m52s
Build Packages / build:rpm (rocky9) (pull_request) Successful in 11m31s
Build Packages / XDS test (durin plugin) (pull_request) Successful in 9m24s
Build Packages / build:rpm (ubuntu2404) (pull_request) Successful in 11m27s
Build Packages / Generate python client (pull_request) Successful in 30s
Build Packages / build:rpm (ubuntu2204) (pull_request) Successful in 12m28s
Build Packages / Build documentation (pull_request) Successful in 55s
Build Packages / Create release (pull_request) Has been skipped
Build Packages / XDS test (JFJoch plugin) (pull_request) Successful in 7m41s
Build Packages / DIALS test (pull_request) Successful in 12m46s
Build Packages / XDS test (neggia plugin) (pull_request) Successful in 6m55s
Build Packages / Unit tests (push) Successful in 1h9m53s
Build Packages / Unit tests (pull_request) Successful in 59m3s

This commit is contained in:
2026-04-27 16:28:47 +02:00
parent b4bde0b029
commit 7ef5b835a5
3 changed files with 12 additions and 3 deletions
+2 -2
View File
@@ -7,8 +7,8 @@ This is an UNSTABLE release. The release has significant modifications and bug f
* jfjoch_broker: Allow for asynchronous start to allow overlapping detector configuration with other beamline preparations
* jfjoch_broker: Goniometer axis name is converted to lowercase
* jfjoch_broker: Fix bug, where wrong HTTP error codes were returned
* jfjoch_broker: Improve sigma estimation during merging (K. Takaba)
* jfjoch_process: Improve sigma estimation during merging (K. Takaba)
* jfjoch_process: Modify spot finding thresholds
### 1.0.0-rc.137
This is an UNSTABLE release. The release has significant modifications and bug fixes, if things go wrong, it is better to revert to 1.0.0-rc.132.
@@ -5,6 +5,7 @@
#define JUNGFRAUJOCH_SPOTFINDINGSETTINGS_H
#include <optional>
#include <cstdint>
struct SpotFindingSettings {
bool enable = true;
+9 -1
View File
@@ -51,6 +51,7 @@ void print_usage(Logger &logger) {
logger.Info(" -c<num> Max spot count (default: 250)");
logger.Info(" -W HDF5 file with analysis results is written");
logger.Info(" -T<num> Noise sigma level for spot finding (default: 3.0)");
logger.Info(" -t<num> Photon count threshold for spot finding (default: 10)");
}
void trim_in_place(std::string& t) {
@@ -135,6 +136,8 @@ int main(int argc, char **argv) {
bool write_output = false;
std::optional<int64_t> max_spot_count_override;
float sigma_spot_finding = 3.0;
int64_t photon_count_threshold_spot_finding = 10;
IndexingAlgorithmEnum indexing_algorithm = IndexingAlgorithmEnum::Auto;
ScaleMergeOptions::PartialityModel partiality_model = ScaleMergeOptions::PartialityModel::Fixed;
@@ -148,7 +151,7 @@ int main(int argc, char **argv) {
}
int opt;
while ((opt = getopt(argc, argv, "o:N:s:e:vc:R::FX:xd:S:MP:AD:C:T:W")) != -1) {
while ((opt = getopt(argc, argv, "o:N:s:e:vc:R::FX:xd:S:MP:AD:C:T:t:W")) != -1) {
switch (opt) {
case 'o':
output_prefix = optarg;
@@ -223,6 +226,10 @@ int main(int argc, char **argv) {
sigma_spot_finding = atof(optarg);
logger.Info("Noise threshold level for spot finding set to {:.2f} sigma", sigma_spot_finding);
break;
case 't':
photon_count_threshold_spot_finding = atoi(optarg);
logger.Info("Photon-count threshold level for spot finding set to {:d}", photon_count_threshold_spot_finding);
break;
case 'C': {
auto uc = parse_unit_cell_arg(optarg);
if (!uc.has_value()) {
@@ -328,6 +335,7 @@ int main(int argc, char **argv) {
spot_settings.indexing = true;
spot_settings.high_resolution_limit = d_min_spot_finding;
spot_settings.signal_to_noise_threshold = sigma_spot_finding;
spot_settings.photon_count_threshold = photon_count_threshold_spot_finding;
if (d_min_scale_merge > 0)
spot_settings.high_resolution_limit = d_min_spot_finding;