Unify still processing on one --force-still flag; scaling follows rotation indexing
Fold the two overlapping knobs into one. Rotation-vs-stills is now a single decision (IsRotationIndexing() = goniometer && rotation-indexing) that drives BOTH indexing and scaling/merging - there is no independent scaling-model switch: - ScalingSettings: drop combine_3d and force_still_processing (and Combine3D/GetCombine3D, ForceStillProcessing/GetForceStillProcessing). The scaling stage reads experiment.IsRotationIndexing() instead - rotation indexing implies RotationScaleMerge, no rotation indexing implies per-image ScaleOnTheFly. - jfjoch_process: merge --process-as-stills and --force-still-processing into one --force-still (turns rotation processing off entirely: still indexing + still scaling). The rotation-specific scaling defaults (scale-fulls, smooth-G, capture uncertainty, outlier rejection) now key on rotation_indexing. - jfjoch_scale: replace -P fixed|rot3d with --force-still; rotation is auto-detected from the goniometer (RotationIndexing set accordingly) so it matches jfjoch_process. - jfjoch_viewer: the "process as stills" toggle already sets RotationIndexing; drop the now redundant Combine3D/ForceStillProcessing calls. Rotation path unchanged (lyso 16.4/99.6%/87.3%); --force-still routes to ScaleOnTheFly; the -R + --force-still conflict still errors. CUDA + non-CUDA + viewer all build. Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
@@ -111,13 +111,14 @@ std::string JFJochProcessCommandLine(const ProcessConfig &config,
|
||||
args.emplace_back("--single-pass-rotation");
|
||||
if (!config.reuse_rotation_spots)
|
||||
args.emplace_back("--redo-rotation-spots");
|
||||
} else if (experiment.GetGoniometer().has_value()) {
|
||||
// rotation dataset processed as stills -> the user overrode the default with --force-still
|
||||
args.emplace_back("--force-still");
|
||||
}
|
||||
|
||||
if (config.run_scaling) {
|
||||
args.emplace_back("-M");
|
||||
const auto sc = experiment.GetScalingSettings();
|
||||
if (sc.GetForceStillProcessing())
|
||||
args.emplace_back("--force-still-processing");
|
||||
if (!sc.GetMergeFriedel())
|
||||
args.emplace_back("-A");
|
||||
if (sc.GetRefineB())
|
||||
|
||||
Reference in New Issue
Block a user