diff --git a/VERSION b/VERSION index 91f33f63..31b74fae 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -1.0.0-rc.133 \ No newline at end of file +1.0.0-rc.134 \ No newline at end of file diff --git a/tools/jfjoch_process.cpp b/tools/jfjoch_process.cpp index c42e80eb..0730ae16 100644 --- a/tools/jfjoch_process.cpp +++ b/tools/jfjoch_process.cpp @@ -50,6 +50,7 @@ void print_usage(Logger &logger) { logger.Info(" -C Fix reference unit cell: -C\"a,b,c,alpha,beta,gamma\" (comma-separated, no spaces; quotes optional)"); logger.Info(" -c Max spot count (default: 250)"); logger.Info(" -W HDF5 file with analysis results is written"); + logger.Info(" -T Noise sigma level for spot finding (default: 3.0)"); } void trim_in_place(std::string& t) { @@ -133,6 +134,7 @@ int main(int argc, char **argv) { std::optional fixed_reference_unit_cell; bool write_output = false; std::optional max_spot_count_override; + float sigma_spot_finding = 3.0; IndexingAlgorithmEnum indexing_algorithm = IndexingAlgorithmEnum::Auto; ScaleMergeOptions::PartialityModel partiality_model = ScaleMergeOptions::PartialityModel::Fixed; @@ -146,7 +148,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:W")) != -1) { + while ((opt = getopt(argc, argv, "o:N:s:e:vc:R::FX:xd:S:MP:AD:C:T:W")) != -1) { switch (opt) { case 'o': output_prefix = optarg; @@ -217,6 +219,10 @@ int main(int argc, char **argv) { case 'A': anomalous_mode = true; break; + case 'T': + sigma_spot_finding = atof(optarg); + logger.Info("Noise threshold level for spot finding set to {:.2f} sigma", sigma_spot_finding); + break; case 'C': { auto uc = parse_unit_cell_arg(optarg); if (!uc.has_value()) { @@ -321,6 +327,7 @@ int main(int argc, char **argv) { spot_settings.enable = true; spot_settings.indexing = true; spot_settings.high_resolution_limit = d_min_spot_finding; + spot_settings.signal_to_noise_threshold = sigma_spot_finding; if (d_min_scale_merge > 0) spot_settings.high_resolution_limit = d_min_spot_finding;