Compare commits

...

18 Commits

Author SHA1 Message Date
8caea07b42 jfjoch_hdf5_test: A bit more functions
Some checks failed
Build Packages / build:rpm (rocky8_nocuda) (push) Successful in 9m25s
Build Packages / build:rpm (ubuntu2204_nocuda) (push) Successful in 8m57s
Build Packages / build:rpm (rocky9_nocuda) (push) Successful in 10m13s
Build Packages / build:rpm (ubuntu2404_nocuda) (push) Successful in 9m6s
Build Packages / build:rpm (rocky8_sls9) (push) Successful in 11m1s
Build Packages / build:rpm (rocky9_sls9) (push) Successful in 11m51s
Build Packages / Generate python client (push) Successful in 22s
Build Packages / Build documentation (push) Successful in 1m8s
Build Packages / build:rpm (rocky8) (push) Successful in 10m7s
Build Packages / Create release (push) Has been skipped
Build Packages / build:rpm (ubuntu2204) (push) Successful in 10m52s
Build Packages / build:rpm (ubuntu2404) (push) Successful in 10m7s
Build Packages / build:rpm (rocky9) (push) Successful in 12m20s
Build Packages / DIALS processing test (push) Successful in 9m22s
Build Packages / build:rpm (rocky8_nocuda) (pull_request) Successful in 8m40s
Build Packages / build:rpm (ubuntu2404_nocuda) (pull_request) Successful in 9m10s
Build Packages / build:rpm (ubuntu2204_nocuda) (pull_request) Successful in 9m50s
Build Packages / build:rpm (rocky9_nocuda) (pull_request) Successful in 11m20s
Build Packages / build:rpm (rocky8_sls9) (pull_request) Successful in 10m18s
Build Packages / build:rpm (rocky9_sls9) (pull_request) Successful in 9m56s
Build Packages / build:rpm (rocky8) (pull_request) Successful in 10m46s
Build Packages / Generate python client (pull_request) Successful in 32s
Build Packages / build:rpm (ubuntu2204) (pull_request) Successful in 10m32s
Build Packages / Build documentation (pull_request) Successful in 51s
Build Packages / Create release (pull_request) Has been skipped
Build Packages / build:rpm (ubuntu2404) (pull_request) Successful in 10m13s
Build Packages / build:rpm (rocky9) (pull_request) Successful in 12m18s
Build Packages / DIALS processing test (pull_request) Successful in 8m37s
Build Packages / Unit tests (push) Failing after 1h4m23s
Build Packages / Unit tests (pull_request) Successful in 51m48s
2026-03-28 16:21:31 +01:00
bc25774dc1 CI: Don't fail when applying DIALS environment
Some checks failed
Build Packages / build:rpm (rocky8_nocuda) (push) Successful in 12m34s
Build Packages / build:rpm (ubuntu2204_nocuda) (push) Successful in 14m23s
Build Packages / build:rpm (rocky9_nocuda) (push) Successful in 14m34s
Build Packages / build:rpm (ubuntu2404_nocuda) (push) Successful in 14m41s
Build Packages / Generate python client (push) Successful in 42s
Build Packages / Build documentation (push) Successful in 1m44s
Build Packages / build:rpm (rocky8) (push) Successful in 17m34s
Build Packages / Create release (push) Has been skipped
Build Packages / build:rpm (rocky8_sls9) (push) Successful in 17m49s
Build Packages / build:rpm (rocky9) (push) Successful in 18m27s
Build Packages / build:rpm (rocky9_sls9) (push) Successful in 18m47s
Build Packages / build:rpm (ubuntu2204) (push) Successful in 10m4s
Build Packages / build:rpm (ubuntu2404) (push) Successful in 9m14s
Build Packages / DIALS processing test (push) Successful in 9m14s
Build Packages / build:rpm (rocky8_nocuda) (pull_request) Successful in 11m16s
Build Packages / build:rpm (rocky9_nocuda) (pull_request) Successful in 13m40s
Build Packages / build:rpm (ubuntu2404_nocuda) (pull_request) Successful in 13m37s
Build Packages / build:rpm (ubuntu2204_nocuda) (pull_request) Successful in 13m47s
Build Packages / build:rpm (rocky8) (pull_request) Successful in 15m33s
Build Packages / build:rpm (rocky8_sls9) (pull_request) Successful in 15m43s
Build Packages / Generate python client (pull_request) Successful in 51s
Build Packages / build:rpm (rocky9_sls9) (pull_request) Successful in 16m33s
Build Packages / Create release (pull_request) Has been skipped
Build Packages / Build documentation (pull_request) Successful in 1m18s
Build Packages / build:rpm (rocky9) (pull_request) Successful in 11m3s
Build Packages / DIALS processing test (pull_request) Successful in 11m28s
Build Packages / Unit tests (push) Has been cancelled
Build Packages / build:rpm (ubuntu2204) (pull_request) Successful in 12m58s
Build Packages / build:rpm (ubuntu2404) (pull_request) Successful in 13m0s
Build Packages / Unit tests (pull_request) Successful in 1h21m36s
2026-03-28 15:06:43 +01:00
308b6b33f3 CI: Fix DIALS processing
Some checks failed
Build Packages / build:rpm (rocky8_nocuda) (push) Successful in 10m39s
Build Packages / build:rpm (rocky9_nocuda) (push) Successful in 14m8s
Build Packages / build:rpm (ubuntu2404_nocuda) (push) Successful in 14m20s
Build Packages / build:rpm (ubuntu2204_nocuda) (push) Successful in 16m12s
Build Packages / build:rpm (rocky8) (push) Successful in 16m47s
Build Packages / Generate python client (push) Successful in 49s
Build Packages / build:rpm (rocky8_sls9) (push) Successful in 17m53s
Build Packages / Build documentation (push) Successful in 1m2s
Build Packages / Create release (push) Has been skipped
Build Packages / build:rpm (rocky9_sls9) (push) Successful in 17m56s
Build Packages / build:rpm (rocky9) (push) Successful in 18m47s
Build Packages / build:rpm (ubuntu2204) (push) Successful in 10m7s
Build Packages / DIALS processing test (push) Failing after 7m3s
Build Packages / build:rpm (ubuntu2404) (push) Successful in 8m48s
Build Packages / Unit tests (push) Has been cancelled
2026-03-28 14:14:12 +01:00
8ffb30244b Docker: Fix locale in rocky9
Some checks failed
Build Packages / build:rpm (rocky8_nocuda) (push) Successful in 13s
Build Packages / build:rpm (rocky9_nocuda) (push) Successful in 19s
Build Packages / build:rpm (ubuntu2204_nocuda) (push) Successful in 25s
Build Packages / build:rpm (ubuntu2404_nocuda) (push) Successful in 28s
Build Packages / build:rpm (rocky8_sls9) (push) Successful in 32s
Build Packages / build:rpm (rocky9_sls9) (push) Successful in 34s
Build Packages / build:rpm (rocky8) (push) Successful in 33s
Build Packages / Create release (push) Has been skipped
Build Packages / build:rpm (rocky9) (push) Successful in 33s
Build Packages / build:rpm (ubuntu2204) (push) Successful in 32s
Build Packages / build:rpm (ubuntu2404) (push) Successful in 29s
Build Packages / Generate python client (push) Successful in 33s
Build Packages / Build documentation (push) Successful in 54s
Build Packages / DIALS processing test (push) Successful in 7m31s
Build Packages / Unit tests (push) Has been cancelled
2026-03-28 14:05:38 +01:00
a931fafc75 DIALS further test
Some checks failed
Build Packages / build:rpm (rocky8_nocuda) (push) Successful in 12s
Build Packages / build:rpm (rocky9_nocuda) (push) Successful in 19s
Build Packages / build:rpm (ubuntu2204_nocuda) (push) Successful in 24s
Build Packages / build:rpm (ubuntu2404_nocuda) (push) Successful in 27s
Build Packages / build:rpm (rocky8_sls9) (push) Successful in 31s
Build Packages / build:rpm (rocky9_sls9) (push) Successful in 32s
Build Packages / build:rpm (rocky8) (push) Successful in 33s
Build Packages / Create release (push) Has been skipped
Build Packages / build:rpm (rocky9) (push) Successful in 32s
Build Packages / build:rpm (ubuntu2204) (push) Successful in 31s
Build Packages / build:rpm (ubuntu2404) (push) Successful in 30s
Build Packages / Generate python client (push) Successful in 34s
Build Packages / Build documentation (push) Successful in 52s
Build Packages / DIALS processing test (push) Successful in 6m3s
Build Packages / Unit tests (push) Has been cancelled
2026-03-28 13:12:22 +01:00
f14e65764e DIALS further test
Some checks failed
Build Packages / build:rpm (rocky8_nocuda) (push) Successful in 13s
Build Packages / build:rpm (rocky9_nocuda) (push) Successful in 20s
Build Packages / build:rpm (ubuntu2204_nocuda) (push) Successful in 25s
Build Packages / build:rpm (ubuntu2404_nocuda) (push) Successful in 27s
Build Packages / build:rpm (rocky8_sls9) (push) Successful in 31s
Build Packages / build:rpm (rocky9_sls9) (push) Successful in 32s
Build Packages / build:rpm (rocky8) (push) Successful in 33s
Build Packages / Create release (push) Has been skipped
Build Packages / build:rpm (rocky9) (push) Successful in 32s
Build Packages / build:rpm (ubuntu2204) (push) Successful in 33s
Build Packages / build:rpm (ubuntu2404) (push) Successful in 30s
Build Packages / Generate python client (push) Successful in 35s
Build Packages / Build documentation (push) Successful in 53s
Build Packages / DIALS processing test (push) Successful in 5m57s
Build Packages / Unit tests (push) Has been cancelled
2026-03-28 13:02:30 +01:00
69fdc27bfe CI: One more DIALS try
Some checks failed
Build Packages / build:rpm (rocky8_nocuda) (push) Successful in 13s
Build Packages / build:rpm (rocky9_nocuda) (push) Successful in 22s
Build Packages / build:rpm (ubuntu2204_nocuda) (push) Successful in 23s
Build Packages / build:rpm (ubuntu2404_nocuda) (push) Successful in 28s
Build Packages / build:rpm (rocky8_sls9) (push) Successful in 31s
Build Packages / build:rpm (rocky9_sls9) (push) Successful in 33s
Build Packages / build:rpm (rocky8) (push) Successful in 35s
Build Packages / Create release (push) Has been skipped
Build Packages / build:rpm (rocky9) (push) Successful in 33s
Build Packages / build:rpm (ubuntu2204) (push) Successful in 32s
Build Packages / build:rpm (ubuntu2404) (push) Successful in 30s
Build Packages / Generate python client (push) Successful in 33s
Build Packages / Build documentation (push) Successful in 54s
Build Packages / DIALS processing test (push) Successful in 6m2s
Build Packages / Unit tests (push) Has been cancelled
2026-03-28 12:49:23 +01:00
9ea0170e76 CI: Separate Cmake from building 2026-03-28 12:13:22 +01:00
1de6cf11be Revert "jfjoch_hdf5_test: Use new file format"
Some checks failed
Build Packages / build:rpm (rocky8_nocuda) (push) Successful in 13m5s
Build Packages / build:rpm (ubuntu2404_nocuda) (push) Successful in 14m47s
Build Packages / build:rpm (rocky9_nocuda) (push) Successful in 17m41s
Build Packages / build:rpm (rocky8_sls9) (push) Successful in 17m46s
Build Packages / build:rpm (ubuntu2204_nocuda) (push) Successful in 18m0s
Build Packages / build:rpm (rocky8) (push) Successful in 18m17s
Build Packages / Generate python client (push) Successful in 36s
Build Packages / Create release (push) Has been skipped
Build Packages / build:rpm (rocky9) (push) Successful in 18m32s
Build Packages / Build documentation (push) Successful in 1m17s
Build Packages / build:rpm (rocky9_sls9) (push) Successful in 19m41s
Build Packages / build:rpm (ubuntu2204) (push) Successful in 9m23s
Build Packages / DIALS processing test (push) Successful in 6m12s
Build Packages / build:rpm (ubuntu2404) (push) Successful in 9m21s
Build Packages / Unit tests (push) Has been cancelled
This reverts commit b31ca511f6.
2026-03-28 12:09:08 +01:00
c99219dba5 CI: Fix DIALS test
Some checks failed
Build Packages / build:rpm (rocky8_nocuda) (push) Successful in 12m58s
Build Packages / build:rpm (ubuntu2404_nocuda) (push) Successful in 15m22s
Build Packages / build:rpm (rocky9_nocuda) (push) Successful in 17m59s
Build Packages / build:rpm (ubuntu2204_nocuda) (push) Successful in 17m58s
Build Packages / build:rpm (rocky8_sls9) (push) Successful in 18m0s
Build Packages / build:rpm (rocky8) (push) Successful in 18m36s
Build Packages / Generate python client (push) Successful in 46s
Build Packages / Create release (push) Has been skipped
Build Packages / build:rpm (rocky9) (push) Successful in 18m56s
Build Packages / Build documentation (push) Successful in 1m8s
Build Packages / build:rpm (rocky9_sls9) (push) Successful in 19m23s
Build Packages / build:rpm (ubuntu2204) (push) Successful in 9m4s
Build Packages / DIALS processing test (push) Successful in 6m8s
Build Packages / build:rpm (ubuntu2404) (push) Successful in 9m6s
Build Packages / Unit tests (push) Has been cancelled
2026-03-28 11:44:10 +01:00
b31ca511f6 jfjoch_hdf5_test: Use new file format
Some checks failed
Build Packages / build:rpm (rocky8_nocuda) (push) Successful in 14m45s
Build Packages / build:rpm (ubuntu2204_nocuda) (push) Successful in 14m50s
Build Packages / build:rpm (ubuntu2404_nocuda) (push) Successful in 15m24s
Build Packages / build:rpm (rocky9_nocuda) (push) Successful in 16m22s
Build Packages / Generate python client (push) Successful in 1m31s
Build Packages / build:rpm (rocky8) (push) Successful in 18m7s
Build Packages / build:rpm (rocky8_sls9) (push) Successful in 18m16s
Build Packages / Create release (push) Has been skipped
Build Packages / build:rpm (rocky9) (push) Successful in 18m43s
Build Packages / Build documentation (push) Successful in 1m1s
Build Packages / build:rpm (rocky9_sls9) (push) Successful in 18m58s
Build Packages / DIALS processing test (push) Successful in 6m56s
Build Packages / build:rpm (ubuntu2404) (push) Successful in 9m46s
Build Packages / build:rpm (ubuntu2204) (push) Successful in 10m24s
Build Packages / Unit tests (push) Has been cancelled
2026-03-28 10:58:51 +01:00
d1829393af CI: Update DIALS test
Some checks failed
Build Packages / build:rpm (rocky9_sls9) (push) Failing after 8m37s
Build Packages / build:rpm (ubuntu2204_nocuda) (push) Failing after 9m14s
Build Packages / build:rpm (ubuntu2404) (push) Failing after 1m0s
Build Packages / build:rpm (ubuntu2204) (push) Failing after 1m34s
Build Packages / build:rpm (rocky9) (push) Failing after 10m8s
Build Packages / build:rpm (ubuntu2404_nocuda) (push) Failing after 10m20s
Build Packages / build:rpm (rocky9_nocuda) (push) Failing after 10m26s
Build Packages / Create release (push) Has been skipped
Build Packages / build:rpm (rocky8) (push) Failing after 10m19s
Build Packages / build:rpm (rocky8_sls9) (push) Failing after 10m31s
Build Packages / build:rpm (rocky8_nocuda) (push) Failing after 10m52s
Build Packages / Generate python client (push) Successful in 34s
Build Packages / Build documentation (push) Successful in 57s
Build Packages / DIALS processing test (push) Successful in 5m48s
Build Packages / Unit tests (push) Has been cancelled
2026-03-28 10:39:33 +01:00
f0652864da CMake: use npm ci, instead of install 2026-03-28 10:38:06 +01:00
a4c949df96 make_doc.sh: Fail on script error
Some checks failed
Build Packages / build:rpm (rocky8_nocuda) (push) Failing after 9m23s
Build Packages / build:rpm (rocky9_nocuda) (push) Failing after 9m38s
Build Packages / build:rpm (rocky9_sls9) (push) Failing after 9m36s
Build Packages / DIALS processing test (push) Failing after 17s
Build Packages / build:rpm (rocky8) (push) Failing after 10m17s
Build Packages / build:rpm (rocky8_sls9) (push) Failing after 10m27s
Build Packages / Generate python client (push) Successful in 1m15s
Build Packages / Create release (push) Has been skipped
Build Packages / build:rpm (ubuntu2404_nocuda) (push) Successful in 11m37s
Build Packages / Build documentation (push) Successful in 1m25s
Build Packages / build:rpm (ubuntu2204_nocuda) (push) Successful in 13m59s
Build Packages / build:rpm (rocky9) (push) Successful in 15m21s
Build Packages / build:rpm (ubuntu2404) (push) Successful in 8m33s
Build Packages / build:rpm (ubuntu2204) (push) Successful in 9m12s
Build Packages / Unit tests (push) Has been cancelled
2026-03-28 10:04:37 +01:00
b3481bce4f CI: Add DIALS test 2026-03-28 09:59:42 +01:00
6484b57c72 CI: Remove installation of CMake 3.26 for Ubuntu 22.04
Some checks failed
Build Packages / build:rpm (ubuntu2404_nocuda) (push) Successful in 10m11s
Build Packages / build:rpm (rocky8_nocuda) (push) Successful in 10m35s
Build Packages / build:rpm (rocky8_sls9) (push) Successful in 11m32s
Build Packages / build:rpm (rocky8) (push) Successful in 11m39s
Build Packages / Generate python client (push) Successful in 1m3s
Build Packages / Build documentation (push) Successful in 2m16s
Build Packages / Create release (push) Has been skipped
Build Packages / build:rpm (ubuntu2204_nocuda) (push) Successful in 20m16s
Build Packages / build:rpm (ubuntu2404) (push) Successful in 10m30s
Build Packages / build:rpm (ubuntu2204) (push) Successful in 10m48s
Build Packages / build:rpm (rocky9_nocuda) (push) Successful in 26m42s
Build Packages / build:rpm (rocky9_sls9) (push) Successful in 27m23s
Build Packages / build:rpm (rocky9) (push) Successful in 27m8s
Build Packages / Unit tests (push) Has been cancelled
2026-03-28 09:49:49 +01:00
98e2a6f448 Docker: Update images
Some checks failed
Build Packages / build:rpm (rocky8_nocuda) (push) Has been cancelled
Build Packages / build:rpm (ubuntu2204) (push) Has been cancelled
Build Packages / build:rpm (ubuntu2404) (push) Has been cancelled
Build Packages / Generate python client (push) Has been cancelled
Build Packages / Build documentation (push) Has been cancelled
Build Packages / Unit tests (push) Has been cancelled
Build Packages / Create release (push) Has been cancelled
Build Packages / build:rpm (rocky9_sls9) (push) Has been cancelled
Build Packages / build:rpm (rocky8_sls9) (push) Has been cancelled
Build Packages / build:rpm (ubuntu2404_nocuda) (push) Has been cancelled
Build Packages / build:rpm (rocky9) (push) Has been cancelled
Build Packages / build:rpm (ubuntu2204_nocuda) (push) Has been cancelled
Build Packages / build:rpm (rocky8) (push) Has been cancelled
Build Packages / build:rpm (rocky9_nocuda) (push) Has been cancelled
2026-03-28 09:44:43 +01:00
28388e56aa CI: Update documentation procedure 2026-03-27 16:48:03 +01:00
6 changed files with 116 additions and 52 deletions

View File

@@ -76,27 +76,16 @@ jobs:
upload_url: https://gitea.psi.ch/api/packages/mx/debian/pool/noble/nocuda/upload
steps:
- uses: actions/checkout@v4
- name: Install CMake 3.26 on Ubuntu 22.04
if: matrix.distro == 'ubuntu2204' || matrix.distro == 'ubuntu2204_nocuda'
shell: bash
run: |
set -euo pipefail
apt-get update
apt-get install -y wget gpg ca-certificates
wget -qO- https://apt.kitware.com/keys/kitware-archive-latest.asc \
| gpg --dearmor \
| tee /usr/share/keyrings/kitware-archive-keyring.gpg > /dev/null
echo "deb [signed-by=/usr/share/keyrings/kitware-archive-keyring.gpg] https://apt.kitware.com/ubuntu/ jammy main" \
| tee /etc/apt/sources.list.d/kitware.list > /dev/null
apt-get update
apt-get install -y cmake=3.26.* cmake-data=3.26.* kitware-archive-keyring
cmake --version
- name: Build packages
- name: Setup build (cmake)
shell: bash
run: |
mkdir -p build
cd build
cmake -G Ninja -DJFJOCH_INSTALL_DRIVER_SOURCE=ON -DJFJOCH_VIEWER_BUILD=ON -DCMAKE_BUILD_TYPE=Release ${{ matrix.cmake_flags }} ..
- name: Build packages
shell: bash
run: |
cd build
ninja frontend
ninja -j16 package
- name: Upload packages
@@ -133,6 +122,32 @@ jobs:
python3 gitea_upload_file.py "$file"
done
fi
dials-test:
name: DIALS processing test
runs-on: jfjoch_rocky9
steps:
- uses: actions/checkout@v4
- name: Build processing test
shell: bash
run: |
mkdir -p build
cd build
cmake -G Ninja -DCMAKE_BUILD_TYPE=Release ..
ninja -j16 jfjoch_hdf5_test
- name: Generate test data (with virtual data set and 4 linked image files)
shell: bash
run: |
set -euo pipefail
mkdir -p dials_test
cd dials_test
../build/tools/jfjoch_hdf5_test ../tests/test_data/compression_benchmark.h5 -n100 -f25 -V
- name: Run DIALS processing
shell: bash
run: |
source /opt/dials-v3-27-0/dials_env.sh
set -euo pipefail
cd dials_test
xia2.ssx image=writing_test_master.h5 space_group=P43212 unit_cell=78.551,78.551,36.914,90.000,90.000,90.000
python-client:
name: Generate python client
runs-on: jfjoch_rocky8

View File

@@ -175,7 +175,7 @@ ENDIF()
IF (NOT JFJOCH_WRITER_ONLY)
ADD_CUSTOM_COMMAND(OUTPUT frontend/dist/index.html
COMMAND npm install
COMMAND npm ci
COMMAND npm run build
COMMAND npm run redocly
WORKING_DIRECTORY ${CMAKE_SOURCE_DIR}/frontend)

View File

@@ -8,6 +8,9 @@ ARG EIGEN_TAG=3.4.0
ARG LIBJPEG_TURBO_VERSION=3.1.2
ARG LIBTIFF_VERSION=v4.7.1
ARG HDF5_TAG="hdf5_1.14.6"
ARG DIALS_VERSION=3.27.0
ARG DIALS_TARBALL_URL=https://github.com/dials/dials/releases/download/v3.27.0/dials-v3-27-0-linux-x86_64.tar.xz
ARG DIALS_PREFIX=/opt
# Update base, enable CRB (RHEL/Rocky 9), and install toolchain + Qt deps
RUN dnf -y update && \
@@ -65,6 +68,8 @@ RUN dnf -y update && \
libdrm-devel \
libglvnd-core-devel \
libglvnd-devel \
glibc-langpack-en \
glibc-locale-source \
freetype-devel && \
dnf clean all && rm -rf /var/cache/dnf
@@ -185,9 +190,23 @@ RUN set -eux; \
cmake --install .; \
cd /; rm -rf /tmp/qt-everywhere-src-${QT_VERSION} /tmp/qt-everywhere-src-${QT_VERSION}.tar.xz
# Install DIALS using the official binary tarball workflow
RUN set -eux; \
cd /tmp; \
curl -fL -o dials.tar.xz "${DIALS_TARBALL_URL}"; \
tar -xJf dials.tar.xz; \
cd dials-installer; \
./install --prefix="${DIALS_PREFIX}"; \
cd /; \
rm -rf /tmp/dials.tar.xz /tmp/dials-*-linux-x86_64
# Make Qt and Eigen discoverable by CMake
ENV CMAKE_PREFIX_PATH=${CMAKE_PREFIX_PATH}:/opt/hdf5-${HDF5_TAG}-static:/opt/qt-${QT_VERSION}-static
ENV LANG=en_US.UTF-8
ENV LANGUAGE=en_US:en
ENV LC_ALL=en_US.UTF-8
# Set workdir for your project
WORKDIR /workspace

View File

@@ -22,11 +22,11 @@ RUN set -eux; \
ca-certificates \
curl \
wget \
gpg \
git \
tar \
xz-utils \
build-essential \
cmake \
ninja-build \
python3 \
python3-requests \
@@ -78,10 +78,25 @@ RUN set -eux; \
libassimp-dev \
libglvnd-dev \
libfreetype6-dev; \
wget -qO- https://apt.kitware.com/keys/kitware-archive-latest.asc \
| gpg --dearmor \
| tee /usr/share/keyrings/kitware-archive-keyring.gpg > /dev/null; \
echo "deb [signed-by=/usr/share/keyrings/kitware-archive-keyring.gpg] https://apt.kitware.com/ubuntu/ jammy main" \
| tee /etc/apt/sources.list.d/kitware.list > /dev/null; \
apt-get update; \
apt-get install -y --no-install-recommends \
cmake=3.26.* \
cmake-data=3.26.* \
kitware-archive-keyring; \
apt-get -y install gcc-12 g++-12; \
apt-get clean; \
rm -rf /var/lib/apt/lists/*
# Use GCC/G++ 12 for builds
ENV CC=/usr/bin/gcc-12
ENV CXX=/usr/bin/g++-12
ENV PATH=/usr/bin:${PATH}
# Build a static OpenSSL
RUN set -eux; \
cd /tmp; \
@@ -166,11 +181,6 @@ RUN set -eux; \
ENV CMAKE_PREFIX_PATH=/opt/libtiff-${LIBTIFF_VERSION}-static:/opt/libjpeg-turbo-${LIBJPEG_TURBO_VERSION}-static
ENV PKG_CONFIG_PATH=/opt/hdf5-${HDF5_TAG}-static/lib/pkgconfig:/opt/libjpeg-turbo-${LIBJPEG_TURBO_VERSION}-static/lib/pkgconfig:/opt/libtiff-${LIBTIFF_VERSION}-static/lib/pkgconfig:${OPENSSL_ROOT_DIR}/lib/pkgconfig:${OPENSSL_ROOT_DIR}/lib64/pkgconfig
# Use GCC/G++ 12 for builds
ENV CC=/usr/bin/gcc-12
ENV CXX=/usr/bin/g++-12
ENV PATH=/usr/bin:${PATH}
# Build and install static Qt 6.9 with Core, Gui, Widgets, Charts, DBus
ARG QT_PREFIX=/opt/qt-${QT_VERSION}-static
RUN set -eux; \

View File

@@ -1,6 +1,8 @@
#!/bin/bash
python3.12 -m venv tmp_venv/
set -euo pipefail
python3.11 -m venv tmp_venv/
source tmp_venv/bin/activate
pip install -r docs/requirements.txt

View File

@@ -18,26 +18,48 @@ int main(int argc, char **argv) {
RegisterHDF5Filter();
if ((argc < 2) || (argc > 4)) {
std::cout << "Usage: ./jfjoch_hdf5_test <JF4M hdf5 file> {{<#images>} <rate in Hz>}" << std::endl;
std::cout << std::endl;
std::cout << "Env. variables:" << std::endl;
std::cout << "HDF5DATASET_WRITE_TEST_PREFIX" << std::endl;
std::cout << "HDF5MASTER_NEW_FORMAT" << std::endl;
int64_t nimages_out = 100;
std::string prefix = "writing_test";
FileWriterFormat format = FileWriterFormat::NXmxLegacy;
std::optional<int64_t> images_per_file;
std::optional<float> rotation;
int opt;
while ((opt = getopt(argc, argv, "o:n:Vf:R:")) != -1) {
switch (opt) {
case 'o':
prefix = optarg;
break;
case 'n':
nimages_out = atoll(optarg);
break;
case 'V':
format = FileWriterFormat::NXmxVDS;
break;
case 'R':
rotation = atof(optarg);
break;
case 'f':
images_per_file = atoll(optarg);
if (images_per_file.value() <= 0) {
std::cerr << "Invalid number of images per file: " << optarg << std::endl;
exit(EXIT_FAILURE);
}
images_per_file = atoll(optarg);
break;
default:
std::cout << "Usage: ./jfjoch_hdf5_test <JF4M hdf5 file> [-o <prefix>] [-n <num images>] [-V] [-f <num images per file>] [-R<rotation angle>]" << std::endl;
exit(EXIT_FAILURE);
}
}
if (optind >= argc) {
std::cout << "Usage: ./jfjoch_hdf5_test <JF4M hdf5 file> [-o <prefix>] [-n <num images>] [-V] [-f <num images per file>] [-R<rotation angle>]" << std::endl;
exit(EXIT_FAILURE);
}
int64_t nimages_out = 100;
double rate = 2200;
if (argc >= 3)
nimages_out = atoi(argv[2]);
if (argc >= 4)
rate = atof(argv[3]);
std::chrono::microseconds period_us((rate == 0) ? 0 : (int64_t) (1.0e6 / rate));
HDF5ReadOnlyFile data(argv[1]);
HDF5ReadOnlyFile data(argv[optind]);
HDF5DataSet dataset(data, "/entry/data/data");
HDF5DataSpace file_space(dataset);
@@ -53,6 +75,8 @@ int main(int argc, char **argv) {
x.BeamX_pxl(1090).BeamY_pxl(1136).DetectorDistance_mm(75).IncidentEnergy_keV(WVL_1A_IN_KEV);
x.MaskModuleEdges(true);
x.MaskChipEdges(true);
if (rotation && rotation.value() != 0.0)
x.Goniometer(GoniometerAxis("omega", 0, rotation.value(), Coord(-1,0,0), std::nullopt));
if ((file_space.GetDimensions()[1] == 2164) && (file_space.GetDimensions()[2] == 2068)) {
std::cout << "JF4M with gaps detected (2068 x 2164)" << std::endl;
@@ -64,16 +88,12 @@ int main(int argc, char **argv) {
logger.Info("Number of images in the original dataset: " + std::to_string(nimages));
// Set file name
if (std::getenv("HDF5DATASET_WRITE_TEST_PREFIX") == nullptr)
x.FilePrefix("writing_test");
else
x.FilePrefix(std::getenv("HDF5DATASET_WRITE_TEST_PREFIX"));
x.FilePrefix(prefix);
x.SetFileWriterFormat(format);
x.OverwriteExistingFiles(true);
if (std::getenv("HDF5MASTER_NEW_FORMAT") != nullptr) {
std::cout << "Using new format for HDF5 master file" << std::endl;
x.SetFileWriterFormat(FileWriterFormat::NXmxVDS);
} else
x.SetFileWriterFormat(FileWriterFormat::NXmxLegacy);
if (images_per_file.has_value())
x.ImagesPerFile(images_per_file.value());
x.ImagesPerTrigger(nimages);
@@ -127,8 +147,6 @@ int main(int argc, char **argv) {
size_t total_image_size = 0;
for (int i = 0; i < nimages_out; i++) {
std::this_thread::sleep_until(start_time + i * period_us);
DataMessage message{};
message.image = CompressedImage(output[i % nimages], x.GetXPixelsNum(), x.GetYPixelsNum(),
x.GetImageMode(), x.GetCompressionAlgorithm());