1.0.0-rc.174 (#84)
Build Packages / Create release (push) Successful in 17s
Build Packages / build:viewer:macos-arm64:nocuda (push) Successful in 3m22s
Build Packages / build:rugnux:macos-arm64:nocuda (push) Successful in 2m37s
Build Packages / build:rugnux:linux-aarch64:cuda (push) Successful in 9m33s
Build Packages / build:rugnux:linux-x86_64:cuda (push) Successful in 10m39s
Build Packages / build:viewer:linux-x86_64:nocuda (push) Successful in 11m4s
Build Packages / build:viewer:linux-x86_64:cuda (push) Successful in 13m19s
Build Packages / build:jfjoch:rocky8:nocuda (push) Successful in 17m37s
Build Packages / build:jfjoch:rocky9:nocuda (push) Successful in 18m49s
Build Packages / build:viewer:windows-x86_64:nocuda (push) Successful in 19m10s
Build Packages / build:viewer:windows-x86_64:cuda (push) Successful in 24m26s
Build Packages / HDF5 consumer tests (DIALS, XDS) (push) Successful in 25m31s
Build Packages / build:jfjoch:ubuntu2404:nocuda (push) Successful in 18m54s
Build Packages / build:jfjoch:ubuntu2204:nocuda (push) Successful in 20m45s
Build Packages / Generate python client (push) Successful in 37s
Build Packages / build:jfjoch:rocky8:cuda-sls9 (push) Successful in 20m20s
Build Packages / Build documentation (push) Successful in 1m32s
Build Packages / build:rugnux:windows-x86_64:cuda (push) Successful in 14m37s
Build Packages / build:jfjoch:rocky9:cuda-sls9 (push) Successful in 21m6s
Build Packages / build:jfjoch:rocky8:cuda (push) Successful in 19m49s
Build Packages / build:jfjoch:rocky9:cuda (push) Successful in 20m29s
Build Packages / build:jfjoch:ubuntu2204:cuda (push) Successful in 17m2s
Build Packages / build:jfjoch:ubuntu2404:cuda (push) Successful in 14m27s
Build Packages / Unit tests (push) Successful in 1h18m12s

* Rugnux: Performance improvements on GPU and CPU (more of the pre-scan and of scaling on the GPU, faster CPU spot finding and crystal refinement), with unchanged results.
* Rugnux: More robust processing - patches of persistently hot pixels are masked, an inconsistent merge triggers a retry at the measured beam centre, and builds targeting different CPU levels give the same results.
* Rugnux: Improved scaling and merging - reflections with an overloaded pixel are dropped, as in XDS, sparse rotation sweeps are scaled more reliably, and French-Wilson amplitudes use an anisotropic Wilson prior.
* Rugnux: Improved space-group determination - glide planes in groups without a centre of symmetry, screw axes from short or weak axial rows kept when a higher group is adopted, and more reliable decisions on twinned and pseudo-symmetric crystals.
* Rugnux: Improved small-molecule processing - spots that grow wider than the integration disk and split spots are integrated over their measured footprint, sparse lattices are integrated on every frame, and the `.hkl` file holds unmerged scaled reflections (SHELX HKLF 4).
* Rugnux: Reads Rigaku d*TREK SMV images (Saturn CCD), including detector 2theta and encoded pixel overflows; home-source (rotating-anode) datasets were added to the validation battery.
* jfjoch_viewer: Fixed processing failing at the end with "Wrong JPEG library version" on Linux; the merge window shows the space group with proper subscripts and a checklist of crystal pathologies.

Reviewed-on: #84
Co-authored-by: Filip Leonarski <filip.leonarski@psi.ch>
This commit was merged in pull request #84.
This commit is contained in:
2026-10-06 14:03:18 +02:00
committed by leonarski_f
parent 84228bf8be
commit a395f358ef
292 changed files with 11586 additions and 2438 deletions
+8 -3
View File
@@ -22,8 +22,8 @@ communicate through network calls or other mechanisms.
This Python package is automatically generated by the [OpenAPI Generator](https://openapi-generator.tech) project:
- API version: 1.0.0-rc.173
- Package version: 1.0.0-rc.173
- API version: 1.0.0-rc.174
- Package version: 1.0.0-rc.174
- Generator version: 7.20.0
- Build package: org.openapitools.codegen.languages.PythonClientCodegen
@@ -237,7 +237,12 @@ Class | Method | HTTP request | Description
<a id="documentation-for-authorization"></a>
## Documentation For Authorization
Endpoints do not require authorization.
Authentication schemes defined for the API:
<a id="bearerAuth"></a>
### bearerAuth
- **Type**: Bearer authentication
## Author
@@ -45,6 +45,7 @@ Name | Type | Description | Notes
**max_spot_count** | **int** | Maximum number of spots that are saved/used for indexing; spots with highest intensity are selected | [optional] [default to 250]
**detect_ice_rings** | **bool** | Flag spots as ice rings and reduce their effect on indexing | [optional]
**async_start** | **bool** | When set to true, &#x60;/start&#x60; will not wait for detector and Jungfraujoch to be ready for the measurement. | [optional] [default to False]
**tokens** | **List[str]** | Bearer tokens that protect this dataset: any number, all equivalent (e.g. a beamline secret and a dataset-specific user secret). While set, the endpoints marked with the &#x60;bearerAuth&#x60; security scheme require &#x60;Authorization: Bearer &lt;token&gt;&#x60; and answer 401 otherwise. Every accepted &#x60;/start&#x60; replaces the previous dataset&#39;s tokens; omitted or empty means no protection. Never returned by any endpoint. | [optional]
**xray_fluorescence_spectrum** | [**DatasetSettingsXrayFluorescenceSpectrum**](DatasetSettingsXrayFluorescenceSpectrum.md) | | [optional]
## Example
+111 -17
View File
@@ -2801,6 +2801,7 @@ Contains full image data and metadata. The image must come from the latest data
### Example
* Bearer Authentication (bearerAuth):
```python
import jfjoch_client
@@ -2813,6 +2814,15 @@ configuration = jfjoch_client.Configuration(
host = "http://localhost:5232"
)
# The client must configure the authentication and authorization parameters
# in accordance with the API server security policy.
# Examples for each auth method are provided below, use the example that
# satisfies your auth use case.
# Configure Bearer authorization: bearerAuth
configuration = jfjoch_client.Configuration(
access_token = os.environ["BEARER_TOKEN"]
)
# Enter a context with an instance of the API client
with jfjoch_client.ApiClient(configuration) as api_client:
@@ -2844,17 +2854,18 @@ Name | Type | Description | Notes
### Authorization
No authorization required
[bearerAuth](../README.md#bearerAuth)
### HTTP request headers
- **Content-Type**: Not defined
- **Accept**: application/cbor, application/json
- **Accept**: text/plain, application/cbor, application/json
### HTTP response details
| Status code | Description | Response headers |
|-------------|-------------|------------------|
**401** | The current dataset is protected and no valid bearer token was presented. | - |
**200** | Return image message | - |
**404** | Image not present in the buffer - either not yet measured or already replaced by a next image. | - |
**500** | Error within Jungfraujoch code - see output message. | - |
@@ -2868,6 +2879,7 @@ Get preview image in JPEG format using custom settings
### Example
* Bearer Authentication (bearerAuth):
```python
import jfjoch_client
@@ -2880,6 +2892,15 @@ configuration = jfjoch_client.Configuration(
host = "http://localhost:5232"
)
# The client must configure the authentication and authorization parameters
# in accordance with the API server security policy.
# Examples for each auth method are provided below, use the example that
# satisfies your auth use case.
# Configure Bearer authorization: bearerAuth
configuration = jfjoch_client.Configuration(
access_token = os.environ["BEARER_TOKEN"]
)
# Enter a context with an instance of the API client
with jfjoch_client.ApiClient(configuration) as api_client:
@@ -2931,17 +2952,18 @@ Name | Type | Description | Notes
### Authorization
No authorization required
[bearerAuth](../README.md#bearerAuth)
### HTTP request headers
- **Content-Type**: Not defined
- **Accept**: image/jpeg, text/plain, application/json
- **Accept**: text/plain, image/jpeg, application/json
### HTTP response details
| Status code | Description | Response headers |
|-------------|-------------|------------------|
**401** | The current dataset is protected and no valid bearer token was presented. | - |
**200** | Preview image | - |
**404** | Image not present in the buffer - either not yet measured or already replaced by a next image. | - |
**400** | Input parsing or validation error | - |
@@ -2956,6 +2978,7 @@ Get preview image in TIFF format
### Example
* Bearer Authentication (bearerAuth):
```python
import jfjoch_client
@@ -2968,6 +2991,15 @@ configuration = jfjoch_client.Configuration(
host = "http://localhost:5232"
)
# The client must configure the authentication and authorization parameters
# in accordance with the API server security policy.
# Examples for each auth method are provided below, use the example that
# satisfies your auth use case.
# Configure Bearer authorization: bearerAuth
configuration = jfjoch_client.Configuration(
access_token = os.environ["BEARER_TOKEN"]
)
# Enter a context with an instance of the API client
with jfjoch_client.ApiClient(configuration) as api_client:
@@ -2999,17 +3031,18 @@ Name | Type | Description | Notes
### Authorization
No authorization required
[bearerAuth](../README.md#bearerAuth)
### HTTP request headers
- **Content-Type**: Not defined
- **Accept**: image/tiff
- **Accept**: text/plain, image/tiff
### HTTP response details
| Status code | Description | Response headers |
|-------------|-------------|------------------|
**401** | The current dataset is protected and no valid bearer token was presented. | - |
**200** | Preview image | - |
**404** | No preview image recorded so far | - |
@@ -3024,6 +3057,7 @@ Contains metadata for a dataset (e.g., experimental geometry)
### Example
* Bearer Authentication (bearerAuth):
```python
import jfjoch_client
@@ -3036,6 +3070,15 @@ configuration = jfjoch_client.Configuration(
host = "http://localhost:5232"
)
# The client must configure the authentication and authorization parameters
# in accordance with the API server security policy.
# Examples for each auth method are provided below, use the example that
# satisfies your auth use case.
# Configure Bearer authorization: bearerAuth
configuration = jfjoch_client.Configuration(
access_token = os.environ["BEARER_TOKEN"]
)
# Enter a context with an instance of the API client
with jfjoch_client.ApiClient(configuration) as api_client:
@@ -3063,17 +3106,18 @@ This endpoint does not need any parameter.
### Authorization
No authorization required
[bearerAuth](../README.md#bearerAuth)
### HTTP request headers
- **Content-Type**: Not defined
- **Accept**: application/cbor, application/json
- **Accept**: text/plain, application/cbor, application/json
### HTTP response details
| Status code | Description | Response headers |
|-------------|-------------|------------------|
**401** | The current dataset is protected and no valid bearer token was presented. | - |
**200** | Return start message | - |
**404** | No measurement so far | - |
**500** | Error within Jungfraujoch code - see output message. | - |
@@ -3425,6 +3469,7 @@ Generate 1D plot from Jungfraujoch and send in raw binary format. Data are provi
### Example
* Bearer Authentication (bearerAuth):
```python
import jfjoch_client
@@ -3437,6 +3482,15 @@ configuration = jfjoch_client.Configuration(
host = "http://localhost:5232"
)
# The client must configure the authentication and authorization parameters
# in accordance with the API server security policy.
# Examples for each auth method are provided below, use the example that
# satisfies your auth use case.
# Configure Bearer authorization: bearerAuth
configuration = jfjoch_client.Configuration(
access_token = os.environ["BEARER_TOKEN"]
)
# Enter a context with an instance of the API client
with jfjoch_client.ApiClient(configuration) as api_client:
@@ -3470,17 +3524,18 @@ Name | Type | Description | Notes
### Authorization
No authorization required
[bearerAuth](../README.md#bearerAuth)
### HTTP request headers
- **Content-Type**: Not defined
- **Accept**: application/octet-stream, text/plain
- **Accept**: text/plain, application/octet-stream
### HTTP response details
| Status code | Description | Response headers |
|-------------|-------------|------------------|
**401** | The current dataset is protected and no valid bearer token was presented. | - |
**200** | Everything OK. | - |
**400** | Input parsing or validation error | - |
@@ -3493,6 +3548,7 @@ Generate 1D plot from Jungfraujoch
### Example
* Bearer Authentication (bearerAuth):
```python
import jfjoch_client
@@ -3506,6 +3562,15 @@ configuration = jfjoch_client.Configuration(
host = "http://localhost:5232"
)
# The client must configure the authentication and authorization parameters
# in accordance with the API server security policy.
# Examples for each auth method are provided below, use the example that
# satisfies your auth use case.
# Configure Bearer authorization: bearerAuth
configuration = jfjoch_client.Configuration(
access_token = os.environ["BEARER_TOKEN"]
)
# Enter a context with an instance of the API client
with jfjoch_client.ApiClient(configuration) as api_client:
@@ -3545,17 +3610,18 @@ Name | Type | Description | Notes
### Authorization
No authorization required
[bearerAuth](../README.md#bearerAuth)
### HTTP request headers
- **Content-Type**: Not defined
- **Accept**: application/json, text/plain
- **Accept**: text/plain, application/json
### HTTP response details
| Status code | Description | Response headers |
|-------------|-------------|------------------|
**401** | The current dataset is protected and no valid bearer token was presented. | - |
**200** | Everything OK. | - |
**400** | Input parsing or validation error | - |
@@ -3568,6 +3634,7 @@ Get full scan result
### Example
* Bearer Authentication (bearerAuth):
```python
import jfjoch_client
@@ -3581,6 +3648,15 @@ configuration = jfjoch_client.Configuration(
host = "http://localhost:5232"
)
# The client must configure the authentication and authorization parameters
# in accordance with the API server security policy.
# Examples for each auth method are provided below, use the example that
# satisfies your auth use case.
# Configure Bearer authorization: bearerAuth
configuration = jfjoch_client.Configuration(
access_token = os.environ["BEARER_TOKEN"]
)
# Enter a context with an instance of the API client
with jfjoch_client.ApiClient(configuration) as api_client:
@@ -3608,17 +3684,18 @@ This endpoint does not need any parameter.
### Authorization
No authorization required
[bearerAuth](../README.md#bearerAuth)
### HTTP request headers
- **Content-Type**: Not defined
- **Accept**: application/json
- **Accept**: text/plain, application/json
### HTTP response details
| Status code | Description | Response headers |
|-------------|-------------|------------------|
**401** | The current dataset is protected and no valid bearer token was presented. | - |
**200** | Everything OK. | - |
**404** | No grid scan recorded | - |
**500** | Error within Jungfraujoch code - see output message. | - |
@@ -3635,6 +3712,8 @@ Detector must be in `Idle` state.
Default behavior is for the call to block until detector is ready to accept soft/TTL triggers.
However, this behavior can be changed by settings `async_start` to true in the request body,
in which case the call will return immediately and one needs to use `/wait_until_running` to ensure detector is ready to run.
Optional `tokens` protect the dataset: while set, its statistics, buffered images and plots
require `Authorization: Bearer <token>`.
### Example
@@ -3767,10 +3846,11 @@ No authorization required
Get data collection statistics
Results of the last data collection
Results of the last data collection (dataset name, unit cell, ...)
### Example
* Bearer Authentication (bearerAuth):
```python
import jfjoch_client
@@ -3784,6 +3864,15 @@ configuration = jfjoch_client.Configuration(
host = "http://localhost:5232"
)
# The client must configure the authentication and authorization parameters
# in accordance with the API server security policy.
# Examples for each auth method are provided below, use the example that
# satisfies your auth use case.
# Configure Bearer authorization: bearerAuth
configuration = jfjoch_client.Configuration(
access_token = os.environ["BEARER_TOKEN"]
)
# Enter a context with an instance of the API client
with jfjoch_client.ApiClient(configuration) as api_client:
@@ -3811,17 +3900,18 @@ This endpoint does not need any parameter.
### Authorization
No authorization required
[bearerAuth](../README.md#bearerAuth)
### HTTP request headers
- **Content-Type**: Not defined
- **Accept**: application/json
- **Accept**: text/plain, application/json
### HTTP response details
| Status code | Description | Response headers |
|-------------|-------------|------------------|
**401** | The current dataset is protected and no valid bearer token was presented. | - |
**200** | Everything OK | - |
**404** | No data collection performed so far | - |
@@ -3832,6 +3922,10 @@ No authorization required
Get general statistics
`measurement` is omitted unless the request carries a valid bearer token for a protected
dataset (see `tokens` in `/start`).
### Example