v1.0.0-rc.97
Some checks failed
Build Packages / build:rpm (ubuntu2404_nocuda) (push) Successful in 8m11s
Build Packages / build:rpm (ubuntu2204_nocuda) (push) Successful in 9m9s
Build Packages / build:rpm (rocky8_nocuda) (push) Successful in 9m18s
Build Packages / build:rpm (rocky9_nocuda) (push) Successful in 10m14s
Build Packages / build:rpm (rocky8_sls9) (push) Successful in 10m3s
Build Packages / Generate python client (push) Successful in 15s
Build Packages / Build documentation (push) Successful in 50s
Build Packages / Create release (push) Has been skipped
Build Packages / build:rpm (rocky8) (push) Successful in 8m31s
Build Packages / build:rpm (ubuntu2204) (push) Successful in 8m21s
Build Packages / build:rpm (ubuntu2404) (push) Successful in 7m42s
Build Packages / build:rpm (rocky9) (push) Successful in 9m11s
Build Packages / Unit tests (push) Failing after 1h13m19s

This is an UNSTABLE release and not recommended for production use (please use rc.96 instead).

* jfjoch_broker: For DECTRIS detectors add dark data collection during initialization for bad pixel mask
* jfjoch_broker: Refactor of calibration logic for more clear code (likely to introduce problems)
* jfjoch_viewer: Add option to handle user pixel mask (experimental)
* jfjoch_viewer: More options for ROI
* jfjoch_viewer: Add window to display calibration

Reviewed-on: #2
Co-authored-by: Filip Leonarski <filip.leonarski@psi.ch>
Co-committed-by: Filip Leonarski <filip.leonarski@psi.ch>
This commit was merged in pull request #2.
This commit is contained in:
2025-11-09 12:42:27 +01:00
committed by leonarski_f
parent 8b356a7001
commit 4dbbf0e365
243 changed files with 4532 additions and 1832 deletions

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.96
- Package version: 1.0.0-rc.96
- API version: 1.0.0-rc.97
- Package version: 1.0.0-rc.97
- Generator version: 7.8.0
- Build package: org.openapitools.codegen.languages.PythonClientCodegen
@@ -104,6 +104,8 @@ Class | Method | HTTP request | Description
*DefaultApi* | [**cancel_post**](docs/DefaultApi.md#cancel_post) | **POST** /cancel | Cancel running data collection
*DefaultApi* | [**config_azim_int_get**](docs/DefaultApi.md#config_azim_int_get) | **GET** /config/azim_int | Get azimuthal integration configuration
*DefaultApi* | [**config_azim_int_put**](docs/DefaultApi.md#config_azim_int_put) | **PUT** /config/azim_int | Configure azimuthal integration
*DefaultApi* | [**config_dark_mask_get**](docs/DefaultApi.md#config_dark_mask_get) | **GET** /config/dark_mask | Get settings for dark data collection to calculate mask
*DefaultApi* | [**config_dark_mask_put**](docs/DefaultApi.md#config_dark_mask_put) | **PUT** /config/dark_mask | Set configuration for dark data collection to calculate mask
*DefaultApi* | [**config_detector_get**](docs/DefaultApi.md#config_detector_get) | **GET** /config/detector | Get detector configuration
*DefaultApi* | [**config_detector_put**](docs/DefaultApi.md#config_detector_put) | **PUT** /config/detector | Change detector configuration
*DefaultApi* | [**config_file_writer_get**](docs/DefaultApi.md#config_file_writer_get) | **GET** /config/file_writer | Get file writer settings
@@ -165,6 +167,7 @@ Class | Method | HTTP request | Description
- [AzimIntSettings](docs/AzimIntSettings.md)
- [BrokerStatus](docs/BrokerStatus.md)
- [CalibrationStatisticsInner](docs/CalibrationStatisticsInner.md)
- [DarkMaskSettings](docs/DarkMaskSettings.md)
- [DatasetSettings](docs/DatasetSettings.md)
- [DatasetSettingsXrayFluorescenceSpectrum](docs/DatasetSettingsXrayFluorescenceSpectrum.md)
- [Detector](docs/Detector.md)

View File

@@ -0,0 +1,34 @@
# DarkMaskSettings
Settings for collection of dark images to be used for mask calculation
## Properties
Name | Type | Description | Notes
------------ | ------------- | ------------- | -------------
**detector_threshold_ke_v** | **float** | Energy threshold for dark image collection | [default to 3.5]
**frame_time_us** | **int** | Time between frames for dark image collection | [default to 10000]
**number_of_frames** | **int** | Number of frames for dark image collection; zero means no dark collection | [default to 1000]
**max_allowed_pixel_count** | **int** | Maximum count in a pixel considered normal (not-masked) | [default to 1]
**max_frames_with_signal** | **int** | Maximum number of frames with signal in a pixel considered normal (not-masked) | [default to 10]
## Example
```python
from jfjoch_client.models.dark_mask_settings import DarkMaskSettings
# TODO update the JSON string below
json = "{}"
# create an instance of DarkMaskSettings from a JSON string
dark_mask_settings_instance = DarkMaskSettings.from_json(json)
# print the JSON string representation of the object
print(DarkMaskSettings.to_json())
# convert the object into a dict
dark_mask_settings_dict = dark_mask_settings_instance.to_dict()
# create an instance of DarkMaskSettings from a dict
dark_mask_settings_from_dict = DarkMaskSettings.from_dict(dark_mask_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)

View File

@@ -7,6 +7,8 @@ Method | HTTP request | Description
[**cancel_post**](DefaultApi.md#cancel_post) | **POST** /cancel | Cancel running data collection
[**config_azim_int_get**](DefaultApi.md#config_azim_int_get) | **GET** /config/azim_int | Get azimuthal integration configuration
[**config_azim_int_put**](DefaultApi.md#config_azim_int_put) | **PUT** /config/azim_int | Configure azimuthal integration
[**config_dark_mask_get**](DefaultApi.md#config_dark_mask_get) | **GET** /config/dark_mask | Get settings for dark data collection to calculate mask
[**config_dark_mask_put**](DefaultApi.md#config_dark_mask_put) | **PUT** /config/dark_mask | Set configuration for dark data collection to calculate mask
[**config_detector_get**](DefaultApi.md#config_detector_get) | **GET** /config/detector | Get detector configuration
[**config_detector_put**](DefaultApi.md#config_detector_put) | **PUT** /config/detector | Change detector configuration
[**config_file_writer_get**](DefaultApi.md#config_file_writer_get) | **GET** /config/file_writer | Get file writer settings
@@ -256,6 +258,136 @@ 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_dark_mask_get**
> DarkMaskSettings config_dark_mask_get()
Get settings for dark data collection to calculate mask
### Example
```python
import jfjoch_client
from jfjoch_client.models.dark_mask_settings import DarkMaskSettings
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"
)
# 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 settings for dark data collection to calculate mask
api_response = api_instance.config_dark_mask_get()
print("The response of DefaultApi->config_dark_mask_get:\n")
pprint(api_response)
except Exception as e:
print("Exception when calling DefaultApi->config_dark_mask_get: %s\n" % e)
```
### Parameters
This endpoint does not need any parameter.
### Return type
[**DarkMaskSettings**](DarkMaskSettings.md)
### Authorization
No authorization required
### HTTP request headers
- **Content-Type**: Not defined
- **Accept**: application/json
### HTTP response details
| Status code | Description | Response headers |
|-------------|-------------|------------------|
**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_dark_mask_put**
> config_dark_mask_put(dark_mask_settings=dark_mask_settings)
Set configuration for dark data collection to calculate mask
This is only possible when operating DECTRIS detectors at the moment; it will be also available for PSI EIGER at some point. This can only be done when detector is `Idle`, `Error` or `Inactive` states.
### Example
```python
import jfjoch_client
from jfjoch_client.models.dark_mask_settings import DarkMaskSettings
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"
)
# 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)
dark_mask_settings = jfjoch_client.DarkMaskSettings() # DarkMaskSettings | (optional)
try:
# Set configuration for dark data collection to calculate mask
api_instance.config_dark_mask_put(dark_mask_settings=dark_mask_settings)
except Exception as e:
print("Exception when calling DefaultApi->config_dark_mask_put: %s\n" % e)
```
### Parameters
Name | Type | Description | Notes
------------- | ------------- | ------------- | -------------
**dark_mask_settings** | [**DarkMaskSettings**](DarkMaskSettings.md)| | [optional]
### Return type
void (empty response body)
### Authorization
No authorization required
### HTTP request headers
- **Content-Type**: application/json
- **Accept**: text/plain, application/json
### HTTP response details
| Status code | Description | Response headers |
|-------------|-------------|------------------|
**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_detector_get**
> DetectorSettings config_detector_get()

View File

@@ -24,6 +24,7 @@ Name | Type | Description | Notes
**image_pusher** | [**ImagePusherType**](ImagePusherType.md) | | [default to ImagePusherType.NONE]
**zeromq_preview** | [**ZeromqPreviewSettings**](ZeromqPreviewSettings.md) | | [optional]
**zeromq_metadata** | [**ZeromqMetadataSettings**](ZeromqMetadataSettings.md) | | [optional]
**dark_mask** | [**DarkMaskSettings**](DarkMaskSettings.md) | | [optional]
## Example

View File

@@ -19,6 +19,7 @@ Name | Type | Description | Notes
**calibration** | [**List[CalibrationStatisticsInner]**](CalibrationStatisticsInner.md) | | [optional]
**zeromq_preview** | [**ZeromqPreviewSettings**](ZeromqPreviewSettings.md) | | [optional]
**zeromq_metadata** | [**ZeromqMetadataSettings**](ZeromqMetadataSettings.md) | | [optional]
**dark_mask** | [**DarkMaskSettings**](DarkMaskSettings.md) | | [optional]
**pixel_mask** | [**PixelMaskStatistics**](PixelMaskStatistics.md) | | [optional]
**roi** | [**RoiDefinitions**](RoiDefinitions.md) | | [optional]
**az_int** | [**AzimIntSettings**](AzimIntSettings.md) | | [optional]