broker: rugnux live - rugnux runs inside the broker while a DECTRIS rotation collection arrives (demo prototype)

A DECTRIS rotation collection, with the mode switched on (PUT /config/rugnux), goes to
JFJochReceiverRugnux instead of JFJochReceiverLite: the images are forwarded as before, without the
per-image analysis, and one rugnux thread reads them back from the image buffer
(JFJochImageBufferReader) as they arrive. END waits for rugnux and carries its lattice, refined
geometry and per-image results. A small second run on the first 60 degrees reports early whether
there is a lattice. The live state, steps and result are at GET /rugnux/status and on a new
"Rugnux live" frontend page.

rugnux: ProcessConfig::fast_live takes every decision where it is first made and does nothing again
once the sweep is in (near-tie re-checks and the run made again, rotation-scale walk, metric-symmetry
arms, geometry walk, the supercell and quality guards, the doubled cell), so the run ends a fixed
time after the last image. A cut (/cancel, or deadline_s after the last image) hands over what is
established. Off by default: the CLI and the battery are unchanged (--fast-live is hidden, with
--simulate-live).

With the mode off the broker is unchanged. Not built yet.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
leonarski_fandClaude Opus 5.5 committed 2026-10-17 12:20:38 +02:00
1 parent 5d8c6f4504
commit 3a44779d79
68 files changed
+5295 -100

No files matched your search

+11
View File
@@ -126,6 +126,10 @@ Class | Method | HTTP request | Description
*DefaultApi* | [**config_mask_tiff_get**](docs/DefaultApi.md#config_mask_tiff_get) | **GET** /config/mask.tiff | Get mask of the detector (TIFF)
*DefaultApi* | [**config_roi_get**](docs/DefaultApi.md#config_roi_get) | **GET** /config/roi | Get ROI definitions
*DefaultApi* | [**config_roi_put**](docs/DefaultApi.md#config_roi_put) | **PUT** /config/roi | Upload ROI definitions
*DefaultApi* | [**config_rugnux_get**](docs/DefaultApi.md#config_rugnux_get) | **GET** /config/rugnux | Get rugnux live mode settings and model status
*DefaultApi* | [**config_rugnux_model_delete**](docs/DefaultApi.md#config_rugnux_model_delete) | **DELETE** /config/rugnux/model | Remove the model used by rugnux live mode
*DefaultApi* | [**config_rugnux_model_put**](docs/DefaultApi.md#config_rugnux_model_put) | **PUT** /config/rugnux/model | Upload the model used by rugnux live mode
*DefaultApi* | [**config_rugnux_put**](docs/DefaultApi.md#config_rugnux_put) | **PUT** /config/rugnux | Change rugnux live mode settings
*DefaultApi* | [**config_select_detector_get**](docs/DefaultApi.md#config_select_detector_get) | **GET** /config/select_detector | List available detectors
*DefaultApi* | [**config_select_detector_put**](docs/DefaultApi.md#config_select_detector_put) | **PUT** /config/select_detector | Select detector
*DefaultApi* | [**config_spot_finding_get**](docs/DefaultApi.md#config_spot_finding_get) | **GET** /config/spot_finding | Get data processing configuration
@@ -149,11 +153,13 @@ Class | Method | HTTP request | Description
*DefaultApi* | [**image_buffer_status_get**](docs/DefaultApi.md#image_buffer_status_get) | **GET** /image_buffer/status | Get status of the image buffers
*DefaultApi* | [**image_pusher_status_get**](docs/DefaultApi.md#image_pusher_status_get) | **GET** /image_pusher/status | Get status of image pusher
*DefaultApi* | [**initialize_post**](docs/DefaultApi.md#initialize_post) | **POST** /initialize | Initialize detector and data acquisition
*DefaultApi* | [**live_events_get**](docs/DefaultApi.md#live_events_get) | **GET** /live/events | Event stream of the collection, for a reader following it
*DefaultApi* | [**pedestal_post**](docs/DefaultApi.md#pedestal_post) | **POST** /pedestal | Collect dark current for the detector
*DefaultApi* | [**preview_pedestal_tiff_get**](docs/DefaultApi.md#preview_pedestal_tiff_get) | **GET** /preview/pedestal.tiff | Get pedestal in TIFF format
*DefaultApi* | [**preview_plot_bin_get**](docs/DefaultApi.md#preview_plot_bin_get) | **GET** /preview/plot.bin | Generate 1D plot from Jungfraujoch and send in raw binary format. Data are provided as (32-bit) float binary array. This format doesn&#39;t transmit information about X-axis, only values, so it is of limited use for azimuthal integration.
*DefaultApi* | [**preview_plot_get**](docs/DefaultApi.md#preview_plot_get) | **GET** /preview/plot | Generate 1D plot from Jungfraujoch
*DefaultApi* | [**result_scan_get**](docs/DefaultApi.md#result_scan_get) | **GET** /result/scan | Get full scan result
*DefaultApi* | [**rugnux_status_get**](docs/DefaultApi.md#rugnux_status_get) | **GET** /rugnux/status | Get live rugnux processing status of the last collection
*DefaultApi* | [**start_post**](docs/DefaultApi.md#start_post) | **POST** /start | Start detector
*DefaultApi* | [**statistics_calibration_get**](docs/DefaultApi.md#statistics_calibration_get) | **GET** /statistics/calibration | Get calibration statistics
*DefaultApi* | [**statistics_data_collection_get**](docs/DefaultApi.md#statistics_data_collection_get) | **GET** /statistics/data_collection | Get data collection statistics
@@ -223,6 +229,11 @@ Class | Method | HTTP request | Description
- [RoiCircleList](docs/RoiCircleList.md)
- [RoiDefinitions](docs/RoiDefinitions.md)
- [RotationAxis](docs/RotationAxis.md)
- [RugnuxLiveStatus](docs/RugnuxLiveStatus.md)
- [RugnuxLiveStep](docs/RugnuxLiveStep.md)
- [RugnuxSettings](docs/RugnuxSettings.md)
- [RugnuxStatus](docs/RugnuxStatus.md)
- [RugnuxSummaryRow](docs/RugnuxSummaryRow.md)
- [ScanResult](docs/ScanResult.md)
- [ScanResultImagesInner](docs/ScanResultImagesInner.md)
- [SpotFindingSettings](docs/SpotFindingSettings.md)
+483
View File
@@ -29,6 +29,10 @@ Method | HTTP request | Description
[**config_mask_tiff_get**](DefaultApi.md#config_mask_tiff_get) | **GET** /config/mask.tiff | Get mask of the detector (TIFF)
[**config_roi_get**](DefaultApi.md#config_roi_get) | **GET** /config/roi | Get ROI definitions
[**config_roi_put**](DefaultApi.md#config_roi_put) | **PUT** /config/roi | Upload ROI definitions
[**config_rugnux_get**](DefaultApi.md#config_rugnux_get) | **GET** /config/rugnux | Get rugnux live mode settings and model status
[**config_rugnux_model_delete**](DefaultApi.md#config_rugnux_model_delete) | **DELETE** /config/rugnux/model | Remove the model used by rugnux live mode
[**config_rugnux_model_put**](DefaultApi.md#config_rugnux_model_put) | **PUT** /config/rugnux/model | Upload the model used by rugnux live mode
[**config_rugnux_put**](DefaultApi.md#config_rugnux_put) | **PUT** /config/rugnux | Change rugnux live mode settings
[**config_select_detector_get**](DefaultApi.md#config_select_detector_get) | **GET** /config/select_detector | List available detectors
[**config_select_detector_put**](DefaultApi.md#config_select_detector_put) | **PUT** /config/select_detector | Select detector
[**config_spot_finding_get**](DefaultApi.md#config_spot_finding_get) | **GET** /config/spot_finding | Get data processing configuration
@@ -52,11 +56,13 @@ Method | HTTP request | Description
[**image_buffer_status_get**](DefaultApi.md#image_buffer_status_get) | **GET** /image_buffer/status | Get status of the image buffers
[**image_pusher_status_get**](DefaultApi.md#image_pusher_status_get) | **GET** /image_pusher/status | Get status of image pusher
[**initialize_post**](DefaultApi.md#initialize_post) | **POST** /initialize | Initialize detector and data acquisition
[**live_events_get**](DefaultApi.md#live_events_get) | **GET** /live/events | Event stream of the collection, for a reader following it
[**pedestal_post**](DefaultApi.md#pedestal_post) | **POST** /pedestal | Collect dark current for the detector
[**preview_pedestal_tiff_get**](DefaultApi.md#preview_pedestal_tiff_get) | **GET** /preview/pedestal.tiff | Get pedestal in TIFF format
[**preview_plot_bin_get**](DefaultApi.md#preview_plot_bin_get) | **GET** /preview/plot.bin | Generate 1D plot from Jungfraujoch and send in raw binary format. Data are provided as (32-bit) float binary array. This format doesn&#39;t transmit information about X-axis, only values, so it is of limited use for azimuthal integration.
[**preview_plot_get**](DefaultApi.md#preview_plot_get) | **GET** /preview/plot | Generate 1D plot from Jungfraujoch
[**result_scan_get**](DefaultApi.md#result_scan_get) | **GET** /result/scan | Get full scan result
[**rugnux_status_get**](DefaultApi.md#rugnux_status_get) | **GET** /rugnux/status | Get live rugnux processing status of the last collection
[**start_post**](DefaultApi.md#start_post) | **POST** /start | Start detector
[**statistics_calibration_get**](DefaultApi.md#statistics_calibration_get) | **GET** /statistics/calibration | Get calibration statistics
[**statistics_data_collection_get**](DefaultApi.md#statistics_data_collection_get) | **GET** /statistics/data_collection | Get data collection statistics
@@ -1729,6 +1735,318 @@ No authorization required
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
# **config_rugnux_get**
> RugnuxStatus config_rugnux_get()
Get rugnux live mode settings and model status
Can be done anytime
### Example
* Bearer Authentication (bearerAuth):
```python
import jfjoch_client
from jfjoch_client.models.rugnux_status import RugnuxStatus
from jfjoch_client.rest import ApiException
from pprint import pprint
# Defining the host is optional and defaults to http://localhost:5232
# See configuration.py for a list of all supported configuration parameters.
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:
# Create an instance of the API class
api_instance = jfjoch_client.DefaultApi(api_client)
try:
# Get rugnux live mode settings and model status
api_response = api_instance.config_rugnux_get()
print("The response of DefaultApi->config_rugnux_get:\n")
pprint(api_response)
except Exception as e:
print("Exception when calling DefaultApi->config_rugnux_get: %s\n" % e)
```
### Parameters
This endpoint does not need any parameter.
### Return type
[**RugnuxStatus**](RugnuxStatus.md)
### Authorization
[bearerAuth](../README.md#bearerAuth)
### HTTP request headers
- **Content-Type**: Not defined
- **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 | - |
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
# **config_rugnux_model_delete**
> config_rugnux_model_delete()
Remove the model used by rugnux live mode
This can only be done when detector is `Idle`, `Error` or `Inactive` states.
### Example
* Bearer Authentication (bearerAuth):
```python
import jfjoch_client
from jfjoch_client.rest import ApiException
from pprint import pprint
# Defining the host is optional and defaults to http://localhost:5232
# See configuration.py for a list of all supported configuration parameters.
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:
# Create an instance of the API class
api_instance = jfjoch_client.DefaultApi(api_client)
try:
# Remove the model used by rugnux live mode
api_instance.config_rugnux_model_delete()
except Exception as e:
print("Exception when calling DefaultApi->config_rugnux_model_delete: %s\n" % e)
```
### Parameters
This endpoint does not need any parameter.
### Return type
void (empty response body)
### Authorization
[bearerAuth](../README.md#bearerAuth)
### HTTP request headers
- **Content-Type**: Not defined
- **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** | All good | - |
**500** | Error within Jungfraujoch code - see output message. | - |
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
# **config_rugnux_model_put**
> config_rugnux_model_put(body=body)
Upload the model used by rugnux live mode
This can only be done when detector is `Idle`, `Error` or `Inactive` states.
The model (PDB or mmCIF, optionally gzipped; at most 64 MiB) is used for molecular replacement
and validation of every following rugnux live collection, until it is removed with
`DELETE /config/rugnux/model` or replaced by another upload.
### Example
* Bearer Authentication (bearerAuth):
```python
import jfjoch_client
from jfjoch_client.rest import ApiException
from pprint import pprint
# Defining the host is optional and defaults to http://localhost:5232
# See configuration.py for a list of all supported configuration parameters.
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:
# Create an instance of the API class
api_instance = jfjoch_client.DefaultApi(api_client)
body = None # bytearray | (optional)
try:
# Upload the model used by rugnux live mode
api_instance.config_rugnux_model_put(body=body)
except Exception as e:
print("Exception when calling DefaultApi->config_rugnux_model_put: %s\n" % e)
```
### Parameters
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
**body** | **bytearray**| | [optional]
### Return type
void (empty response body)
### Authorization
[bearerAuth](../README.md#bearerAuth)
### HTTP request headers
- **Content-Type**: application/octet-stream
- **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** | All good | - |
**400** | Empty body | - |
**413** | Model larger than 64 MiB | - |
**500** | Error within Jungfraujoch code - see output message. | - |
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
# **config_rugnux_put**
> config_rugnux_put(rugnux_settings=rugnux_settings)
Change rugnux live mode settings
This can only be done when detector is `Idle`, `Error` or `Inactive` states.
### Example
* Bearer Authentication (bearerAuth):
```python
import jfjoch_client
from jfjoch_client.models.rugnux_settings import RugnuxSettings
from jfjoch_client.rest import ApiException
from pprint import pprint
# Defining the host is optional and defaults to http://localhost:5232
# See configuration.py for a list of all supported configuration parameters.
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:
# Create an instance of the API class
api_instance = jfjoch_client.DefaultApi(api_client)
rugnux_settings = jfjoch_client.RugnuxSettings() # RugnuxSettings | (optional)
try:
# Change rugnux live mode settings
api_instance.config_rugnux_put(rugnux_settings=rugnux_settings)
except Exception as e:
print("Exception when calling DefaultApi->config_rugnux_put: %s\n" % e)
```
### Parameters
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
**rugnux_settings** | [**RugnuxSettings**](RugnuxSettings.md)| | [optional]
### Return type
void (empty response body)
### Authorization
[bearerAuth](../README.md#bearerAuth)
### HTTP request headers
- **Content-Type**: 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 | - |
**400** | Input parsing or validation error | - |
**500** | Error within Jungfraujoch code - see output message. | - |
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
# **config_select_detector_get**
> DetectorList config_select_detector_get()
@@ -3326,6 +3644,96 @@ No authorization required
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
# **live_events_get**
> str live_events_get()
Event stream of the collection, for a reader following it
Server-sent events (text/event-stream) for the current collection, from the moment /start has
accepted it: first its whole history, then every change, until it ends or a new collection
begins. Only one reader at a time. Events, each with a JSON `data` line:
- `start` {run_number, run_name, file_prefix, number_of_images, images_per_file, cbor} - first,
once the start message is known: at once for a JUNGFRAU, when the detector sends its own for
a DECTRIS. `cbor` is the start message the writer of the master file received, CBOR in base64;
a reader builds the dataset from it;
- `file` {file_number, file, first_image, image_count} - a data file closed and renamed into
place; `file` is relative to the collection's root, as the writer named it;
- `end` {images, error?} - every writer acknowledged the end: the data files and the master
file are in place; `images` is the number of images collected. Also sent, with `error`, when
the measurement ends any other way - before the start message, for one. The stream then closes;
- `superseded` {run_number} - a new collection began. The stream then closes.
A comment line (`: keepalive`) every 10 s when nothing happens.
### Example
* Bearer Authentication (bearerAuth):
```python
import jfjoch_client
from jfjoch_client.rest import ApiException
from pprint import pprint
# Defining the host is optional and defaults to http://localhost:5232
# See configuration.py for a list of all supported configuration parameters.
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:
# Create an instance of the API class
api_instance = jfjoch_client.DefaultApi(api_client)
try:
# Event stream of the collection, for a reader following it
api_response = api_instance.live_events_get()
print("The response of DefaultApi->live_events_get:\n")
pprint(api_response)
except Exception as e:
print("Exception when calling DefaultApi->live_events_get: %s\n" % e)
```
### Parameters
This endpoint does not need any parameter.
### Return type
**str**
### Authorization
[bearerAuth](../README.md#bearerAuth)
### HTTP request headers
- **Content-Type**: Not defined
- **Accept**: text/event-stream, text/plain
### HTTP response details
| Status code | Description | Response headers |
|-------------|-------------|------------------|
**200** | Event stream | - |
**401** | The current dataset is protected and no valid bearer token was presented. | - |
**404** | No collection has started | - |
**409** | Another reader is following the collection, or the image pusher does not report closed data files | - |
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
# **pedestal_post**
> pedestal_post()
@@ -3702,6 +4110,81 @@ This endpoint does not need any parameter.
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
# **rugnux_status_get**
> RugnuxLiveStatus rugnux_status_get()
Get live rugnux processing status of the last collection
Can be done anytime
### Example
* Bearer Authentication (bearerAuth):
```python
import jfjoch_client
from jfjoch_client.models.rugnux_live_status import RugnuxLiveStatus
from jfjoch_client.rest import ApiException
from pprint import pprint
# Defining the host is optional and defaults to http://localhost:5232
# See configuration.py for a list of all supported configuration parameters.
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:
# Create an instance of the API class
api_instance = jfjoch_client.DefaultApi(api_client)
try:
# Get live rugnux processing status of the last collection
api_response = api_instance.rugnux_status_get()
print("The response of DefaultApi->rugnux_status_get:\n")
pprint(api_response)
except Exception as e:
print("Exception when calling DefaultApi->rugnux_status_get: %s\n" % e)
```
### Parameters
This endpoint does not need any parameter.
### Return type
[**RugnuxLiveStatus**](RugnuxLiveStatus.md)
### Authorization
[bearerAuth](../README.md#bearerAuth)
### HTTP request headers
- **Content-Type**: Not defined
- **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 | - |
[[Back to top]](#) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to Model list]](../README.md#documentation-for-models) [[Back to README]](../README.md)
# **start_post**
> start_post(dataset_settings=dataset_settings)
@@ -27,6 +27,7 @@ Name | Type | Description | Notes
**zeromq_preview** | [**ZeromqPreviewSettings**](ZeromqPreviewSettings.md) | | [optional]
**zeromq_metadata** | [**ZeromqMetadataSettings**](ZeromqMetadataSettings.md) | | [optional]
**dark_mask** | [**DarkMaskSettings**](DarkMaskSettings.md) | | [optional]
**rugnux** | [**RugnuxSettings**](RugnuxSettings.md) | | [optional]
## Example
@@ -0,0 +1,43 @@
# RugnuxLiveStatus
Live rugnux processing of the last collection; kept until the next collection starts
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**state** | **str** | |
**probe** | **str** | Answer of the early lattice probe on the first 60 degrees; empty until it answers |
**probe_s** | **float** | When the probe answered, since the collection started | [optional]
**message** | **str** | Why the run failed or was skipped |
**images_expected** | **int** | |
**images_received** | **int** | |
**elapsed_s** | **float** | |
**step_progress** | **float** | Fraction of the current pass&#39;s images | [optional]
**steps** | [**List[RugnuxLiveStep]**](RugnuxLiveStep.md) | |
**last_image_to_written_s** | **float** | From the last image received to all results written | [optional]
**verdict** | **str** | OK, WARNINGS, UNUSABLE or FAILED; empty until the run is over |
**verdict_text** | **str** | |
**summary** | [**List[RugnuxSummaryRow]**](RugnuxSummaryRow.md) | |
**warnings** | **List[str]** | |
## Example
```python
from jfjoch_client.models.rugnux_live_status import RugnuxLiveStatus
# TODO update the JSON string below
json = "{}"
# create an instance of RugnuxLiveStatus from a JSON string
rugnux_live_status_instance = RugnuxLiveStatus.from_json(json)
# print the JSON string representation of the object
print(RugnuxLiveStatus.to_json())
# convert the object into a dict
rugnux_live_status_dict = rugnux_live_status_instance.to_dict()
# create an instance of RugnuxLiveStatus from a dict
rugnux_live_status_from_dict = RugnuxLiveStatus.from_dict(rugnux_live_status_dict)
```
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+32
View File
@@ -0,0 +1,32 @@
# RugnuxLiveStep
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**title** | **str** | |
**started_s** | **float** | Start of the step, since the collection started |
**duration_s** | **float** | Set once the next step starts or the run ends | [optional]
**notes** | **List[str]** | What the step found (e.g. lattice, space group) |
## Example
```python
from jfjoch_client.models.rugnux_live_step import RugnuxLiveStep
# TODO update the JSON string below
json = "{}"
# create an instance of RugnuxLiveStep from a JSON string
rugnux_live_step_instance = RugnuxLiveStep.from_json(json)
# print the JSON string representation of the object
print(RugnuxLiveStep.to_json())
# convert the object into a dict
rugnux_live_step_dict = rugnux_live_step_instance.to_dict()
# create an instance of RugnuxLiveStep from a dict
rugnux_live_step_from_dict = RugnuxLiveStep.from_dict(rugnux_live_step_dict)
```
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+31
View File
@@ -0,0 +1,31 @@
# RugnuxSettings
Rugnux live mode: rotation collections from a DECTRIS detector are processed by rugnux inside the broker while they arrive, and the merged result is sent to the writer.
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**enable** | **bool** | Process DECTRIS rotation collections with rugnux live | [optional] [default to False]
**reserved_cpus** | **int** | CPU threads left to the receiver and the image pusher while rugnux runs | [optional] [default to 4]
## Example
```python
from jfjoch_client.models.rugnux_settings import RugnuxSettings
# TODO update the JSON string below
json = "{}"
# create an instance of RugnuxSettings from a JSON string
rugnux_settings_instance = RugnuxSettings.from_json(json)
# print the JSON string representation of the object
print(RugnuxSettings.to_json())
# convert the object into a dict
rugnux_settings_dict = rugnux_settings_instance.to_dict()
# create an instance of RugnuxSettings from a dict
rugnux_settings_from_dict = RugnuxSettings.from_dict(rugnux_settings_dict)
```
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
+32
View File
@@ -0,0 +1,32 @@
# RugnuxStatus
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**enable** | **bool** | Rugnux live mode is enabled |
**reserved_cpus** | **int** | CPU threads left to the receiver and the image pusher while rugnux runs |
**model_loaded** | **bool** | A model was uploaded with &#x60;PUT /config/rugnux/model&#x60; |
**model_size_bytes** | **int** | Size of the uploaded model file | [optional]
## Example
```python
from jfjoch_client.models.rugnux_status import RugnuxStatus
# TODO update the JSON string below
json = "{}"
# create an instance of RugnuxStatus from a JSON string
rugnux_status_instance = RugnuxStatus.from_json(json)
# print the JSON string representation of the object
print(RugnuxStatus.to_json())
# convert the object into a dict
rugnux_status_dict = rugnux_status_instance.to_dict()
# create an instance of RugnuxStatus from a dict
rugnux_status_from_dict = RugnuxStatus.from_dict(rugnux_status_dict)
```
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)
@@ -0,0 +1,30 @@
# RugnuxSummaryRow
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**label** | **str** | |
**value** | **str** | |
## Example
```python
from jfjoch_client.models.rugnux_summary_row import RugnuxSummaryRow
# TODO update the JSON string below
json = "{}"
# create an instance of RugnuxSummaryRow from a JSON string
rugnux_summary_row_instance = RugnuxSummaryRow.from_json(json)
# print the JSON string representation of the object
print(RugnuxSummaryRow.to_json())
# convert the object into a dict
rugnux_summary_row_dict = rugnux_summary_row_instance.to_dict()
# create an instance of RugnuxSummaryRow from a dict
rugnux_summary_row_from_dict = RugnuxSummaryRow.from_dict(rugnux_summary_row_dict)
```
[[Back to Model list]](../README.md#documentation-for-models) [[Back to API list]](../README.md#documentation-for-api-endpoints) [[Back to README]](../README.md)