diff --git a/.gitea/workflows/build_and_test.yml b/.gitea/workflows/build_and_test.yml index cae9626f..f85a93e6 100644 --- a/.gitea/workflows/build_and_test.yml +++ b/.gitea/workflows/build_and_test.yml @@ -103,8 +103,8 @@ jobs: env: TOKEN: ${{ secrets.PIP_REPOSITORY_API_TOKEN }} run: | - # NSIS installer named jfjoch--win64-{cuda|cpu}.exe (see CMakeLists.txt). - $files = Get-ChildItem -Path build -Filter 'jfjoch-*-win64-*.exe' + # NSIS installer named jfjoch-viewer--win64-{cuda|cpu}.exe (see CMakeLists.txt). + $files = Get-ChildItem -Path build -Filter 'jfjoch-viewer-*-win64-*.exe' if ($files.Count -eq 0) { throw 'No Windows installer found in build/' } foreach ($file in $files) { python gitea_upload_file.py $file.FullName @@ -135,7 +135,7 @@ jobs: run: | cd build # Build the whole viewer-only tree, not just the GUI: the "viewer" CPack component also - # contains the portable CLI tools (jfjoch_process/scale/azint/recompress/extract_hkl), + # contains the portable CLI tools (rugnux/rugnux_scale/azint/recompress/extract_hkl), # which must exist on disk before cpack installs the component. ninja -j16 cpack diff --git a/CLAUDE.md b/CLAUDE.md index 2e305818..c331f080 100644 --- a/CLAUDE.md +++ b/CLAUDE.md @@ -122,8 +122,11 @@ generated API model and internal types. `JFJochImageAnalysis`): - `jfjoch_broker` — online, real-time (FPGA + GPU). - `jfjoch_viewer` — interactive Qt desktop (`viewer/`), results not persisted. -- `jfjoch_process` (`tools/jfjoch_process.cpp`) — offline batch over a stored HDF5; writes - `_process.h5` and `.mtz`/`.cif`/`.hkl`. `jfjoch_scale` re-scales/merges already-integrated data. +- `rugnux` (`tools/rugnux_cli.cpp`, built on the `Rugnux` library in `rugnux/`) — offline batch over + a stored HDF5; writes `_process.h5` and `.mtz`/`.cif`/`.hkl`. Merging is on by default (`--no-merge` + to disable); `--azint-only` runs only azimuthal integration and `--scale` re-scales/merges the + already-integrated reflections in a `_process.h5`. (rugnux = the data-processing half of the system; + see `docs/NAMING.md`.) **`image_analysis/` pipeline** (subdirs): `spot_finding`, `indexing` (`ffbidx`/`fft` GPU, `fftw` CPU), `lattice_search`, `geom_refinement`, `pixel_refinement`, `bragg_prediction`, @@ -198,7 +201,7 @@ A per-image scalar (e.g. `ice_ring_score`, `bkg_estimate`, `mosaicity`) flows an (`bkg_estimate` is a clean template) at every layer: 1. **Compute** where the azint profile is finalized: `image_analysis/MXAnalysisWithoutFPGA.cpp` (CPU), - `receiver/JFJochReceiverFPGA.cpp` (FPGA), and the offline azint worker in `process/JFJochProcess.cpp`. + `receiver/JFJochReceiverFPGA.cpp` (FPGA), and the offline azint worker in `rugnux/Rugnux.cpp`. 2. **Message** (`common/JFJochMessages.h`): `std::optional` in `DataMessage`, `std::vector` in `EndMessage`. 3. **CBOR**: encode in `frame_serialize/CBORStream2Serializer.cpp` (DataMessage block *and* END block), diff --git a/CMakeLists.txt b/CMakeLists.txt index 7934715e..2c38f5e3 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -277,9 +277,9 @@ IF (JFJOCH_VIEWER_ONLY) ADD_SUBDIRECTORY(image_analysis) ADD_SUBDIRECTORY(broker) ADD_SUBDIRECTORY(reader) - ADD_SUBDIRECTORY(process) + ADD_SUBDIRECTORY(rugnux) ADD_SUBDIRECTORY(viewer) - ADD_SUBDIRECTORY(tools) # builds only the portable analysis tools (process/scale/azint/extract_hkl) + ADD_SUBDIRECTORY(tools) # builds only the portable analysis tools (rugnux/extract_hkl) ELSE() ADD_SUBDIRECTORY(jungfrau) ADD_SUBDIRECTORY(compression) @@ -302,7 +302,7 @@ ELSE() ADD_SUBDIRECTORY(acquisition_device) ADD_SUBDIRECTORY(receiver) ADD_SUBDIRECTORY(image_analysis) - ADD_SUBDIRECTORY(process) + ADD_SUBDIRECTORY(rugnux) ADD_SUBDIRECTORY(tests) ADD_SUBDIRECTORY(tools) ENDIF() @@ -393,10 +393,10 @@ elseif (WIN32) set(CPACK_NSIS_PACKAGE_NAME "Jungfraujoch") if (JFJOCH_CUDA_AVAILABLE) set(CPACK_NSIS_DISPLAY_NAME "Jungfraujoch (CUDA)") - set(CPACK_PACKAGE_FILE_NAME "jfjoch-${JFJOCH_VERSION}-win64-cuda${CUDAToolkit_VERSION_MAJOR}") + set(CPACK_PACKAGE_FILE_NAME "jfjoch-viewer-${JFJOCH_VERSION}-win64-cuda${CUDAToolkit_VERSION_MAJOR}") else() set(CPACK_NSIS_DISPLAY_NAME "Jungfraujoch (CPU)") - set(CPACK_PACKAGE_FILE_NAME "jfjoch-${JFJOCH_VERSION}-win64-cpu") + set(CPACK_PACKAGE_FILE_NAME "jfjoch-viewer-${JFJOCH_VERSION}-win64-cpu") endif() # Start Menu shortcut for the viewer (";