tests: git-LFS large-dataset harness + jfjoch_process include cleanup

- .gitattributes tracks tests/data/*.h5 via git-LFS for big reference datasets.
- tests/TestData.h resolves tests/data files and reports absent / unfetched-LFS-pointer
  so tests can SKIP() instead of failing; tests/data/README.md documents fetching + the
  expected lyso_rotation/lyso_serial datasets.
- JFJochProcessLargeTest: a Catch start-up listener that prints dataset availability, plus
  [large] full-analysis runs (rotation indexing + serial) that SKIP when data is absent.
  Verified against the real 1800-image lyso rotation set (100% indexing, cell 78.2/78.2/37.8)
  and skips cleanly without it.
- jfjoch_process.cpp: drop the ~15 now-unused workflow includes left after the JFJochProcess
  extraction.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
2026-06-21 14:16:34 +02:00
co-authored by Claude Opus 4.8
parent 4697f10555
commit 39599bc090
6 changed files with 195 additions and 30 deletions
+7 -30
View File
@@ -1,45 +1,22 @@
// SPDX-FileCopyrightText: 2024 Filip Leonarski, Paul Scherrer Institute <filip.leonarski@psi.ch>
// SPDX-License-Identifier: GPL-3.0-only
#include <iostream>
#include <vector>
#include <string>
#ifndef _WIN32
#include <unistd.h> // not on MSVC; only pulled getopt transitively on Linux (<getopt.h> below)
#endif
#include <future>
#include <mutex>
#include <atomic>
#include <chrono>
#include <fstream>
#include <sstream>
#include <getopt.h>
#include <algorithm>
#include <numeric>
#include <cmath>
#include <set>
#include <atomic>
#include <csignal>
#include <getopt.h>
#include <iostream>
#include <sstream>
#include <string>
#include <vector>
#include "../reader/JFJochHDF5Reader.h"
#include "../common/Logger.h"
#include "../common/DiffractionExperiment.h"
#include "../common/PixelMask.h"
#include "../common/AzimuthalIntegrationMapping.h"
#include "../common/time_utc.h"
#include "../common/print_license.h"
#include "../image_analysis/MXAnalysisWithoutFPGA.h"
#include "../image_analysis/indexing/IndexerFactory.h"
#include "../common/CUDAWrapper.h"
#include "../writer/FileWriter.h"
#include "../image_analysis/IndexAndRefine.h"
#include "../common/JFJochReceiverPlots.h"
#include "../compression/JFJochCompressor.h"
#include "../image_analysis/LoadFCalcFromMtz.h"
#include "../image_analysis/scale_merge/Merge.h"
#include "../image_analysis/scale_merge/SearchSpaceGroup.h"
#include "../image_analysis/WriteReflections.h"
#include "../image_analysis/UpdateReflectionResolution.h"
#include "../process/JFJochProcess.h"
#include <csignal>
void print_usage() {
std::cout << "Usage jfjoch_process {<options>} <input.h5>" << std::endl;