v1.0.0-rc.31

This commit is contained in:
2025-03-02 13:15:28 +01:00
parent aeabc81a4c
commit ddf4c75645
309 changed files with 8705 additions and 1421 deletions
+1 -1
View File
@@ -21,7 +21,7 @@ export type OpenAPIConfig = {
export const OpenAPI: OpenAPIConfig = {
BASE: 'http://localhost:5232',
VERSION: '1.0.0-rc.30',
VERSION: '1.0.0-rc.31',
WITH_CREDENTIALS: false,
CREDENTIALS: 'include',
TOKEN: undefined,
+2
View File
@@ -26,7 +26,9 @@ export type { detector_status } from './models/detector_status';
export { detector_timing } from './models/detector_timing';
export { detector_type } from './models/detector_type';
export { error_message } from './models/error_message';
export type { file_writer_settings } from './models/file_writer_settings';
export type { fpga_status } from './models/fpga_status';
export type { image_buffer_status } from './models/image_buffer_status';
export { image_format_settings } from './models/image_format_settings';
export { image_pusher_type } from './models/image_pusher_type';
export type { instrument_metadata } from './models/instrument_metadata';
@@ -0,0 +1,19 @@
/* generated using openapi-typescript-codegen -- do no edit */
/* istanbul ignore file */
/* tslint:disable */
/* eslint-disable */
export type file_writer_settings = {
/**
* Inform jfjoch_write to overwrite existing files. Otherwise files would be saved with .h5.{timestamp}.tmp suffix.
*
*/
overwrite?: boolean;
/**
* version 1 - legacy format with soft links to data files in the master file; necessary for DECTRIS Albula 4.0 and DECTRIS Neggia
* version 2 - newer format with virtual dataset linking data files in the master file, also includes better metadata handling
*
*/
file_writer_version?: number;
};
@@ -16,4 +16,12 @@ export type fpga_status = Array<{
packets_udp: number;
packets_sls: number;
idle: boolean;
/**
* PCIe link speed measured by generation (expected value is 4 == PCIe Gen4)
*/
pcie_link_speed: number;
/**
* PCIe link width (expected value is 8 == x8)
*/
pcie_link_width: number;
}>;
@@ -0,0 +1,22 @@
/* generated using openapi-typescript-codegen -- do no edit */
/* istanbul ignore file */
/* tslint:disable */
/* eslint-disable */
export type image_buffer_status = {
/**
* Image numbers currently present in the buffer.
*/
image_numbers: Array<number>;
/**
* Number of slots in the image buffer. This number, compared to number of images in data collection and
* frame rate will determine "retention" rate of the image buffer.
*
*/
total_slots: number;
/**
* Slots available for the data collection
*/
available_slots: number;
};
@@ -6,6 +6,7 @@
import type { azim_int_settings } from './azim_int_settings';
import type { detector } from './detector';
import type { detector_settings } from './detector_settings';
import type { file_writer_settings } from './file_writer_settings';
import type { image_format_settings } from './image_format_settings';
import type { image_pusher_type } from './image_pusher_type';
import type { instrument_metadata } from './instrument_metadata';
@@ -23,6 +24,7 @@ export type jfjoch_settings = {
pcie?: pcie_devices;
zeromq?: zeromq_settings;
instrument?: instrument_metadata;
file_writer?: file_writer_settings;
detector: Array<detector>;
detector_settings?: detector_settings;
azim_int?: azim_int_settings;
@@ -8,6 +8,7 @@ import type { calibration_statistics } from './calibration_statistics';
import type { detector_list } from './detector_list';
import type { detector_settings } from './detector_settings';
import type { detector_status } from './detector_status';
import type { file_writer_settings } from './file_writer_settings';
import type { fpga_status } from './fpga_status';
import type { image_format_settings } from './image_format_settings';
import type { instrument_metadata } from './instrument_metadata';
@@ -27,6 +28,7 @@ export type jfjoch_statistics = {
detector_settings?: detector_settings;
image_format_settings?: image_format_settings;
instrument_metadata?: instrument_metadata;
file_writer_settings?: file_writer_settings;
data_processing_settings?: spot_finding_settings;
measurement?: measurement_statistics;
broker?: broker_status;
@@ -42,6 +42,26 @@ export type measurement_statistics = {
detector_pixel_depth?: measurement_statistics.detector_pixel_depth;
bkg_estimate?: number;
unit_cell?: string;
/**
* Moving average of 1000 images counting number of error pixels on the detector
*/
error_pixels?: number;
/**
* Moving average of 1000 images counting number of saturated pixels on the detector
*/
saturated_pixels?: number;
/**
* If there is an ROI defined with name "beam", this number will hold moving average of 1000 images
* for number of valid pixels within this ROI
*
*/
roi_beam_pixels?: number;
/**
* If there is an ROI defined with name "beam", this number will hold moving average of 1000 images
* for sum of valid pixels within this ROI
*
*/
roi_beam_sum?: number;
};
export namespace measurement_statistics {
@@ -10,7 +10,9 @@ import type { detector_list } from '../models/detector_list';
import type { detector_selection } from '../models/detector_selection';
import type { detector_settings } from '../models/detector_settings';
import type { detector_status } from '../models/detector_status';
import type { file_writer_settings } from '../models/file_writer_settings';
import type { fpga_status } from '../models/fpga_status';
import type { image_buffer_status } from '../models/image_buffer_status';
import type { image_format_settings } from '../models/image_format_settings';
import type { instrument_metadata } from '../models/instrument_metadata';
import type { jfjoch_statistics } from '../models/jfjoch_statistics';
@@ -219,6 +221,42 @@ export class DefaultService {
});
}
/**
* Change file writer settings
* This can only be done when detector is `Idle`, `Error` or `Inactive` states.
*
* @param requestBody
* @returns any Everything OK
* @throws ApiError
*/
public static putConfigFileWriter(
requestBody?: file_writer_settings,
): CancelablePromise<any> {
return __request(OpenAPI, {
method: 'PUT',
url: '/config/file_writer',
body: requestBody,
mediaType: 'application/json',
errors: {
400: `Input parsing or validation error`,
500: `Error within Jungfraujoch code - see output message.`,
},
});
}
/**
* Get file writer settings
* Can be done anytime
* @returns file_writer_settings Everything OK
* @throws ApiError
*/
public static getConfigFileWriter(): CancelablePromise<file_writer_settings> {
return __request(OpenAPI, {
method: 'GET',
url: '/config/file_writer',
});
}
/**
* Change instrument metadata
* This can only be done when detector is `Idle`, `Error` or `Inactive` states.
@@ -848,6 +886,31 @@ export class DefaultService {
});
}
/**
* Generate maximum pixel value plot
* Provides maximum viable pixel value (excluding overloads and error pixels); binning is configurable and maximum of a bin is returned
* @param binning Binning of frames for the plot (0 = default binning)
* @param compression Enable DEFLATE compression of output data.
* @returns plots Response will be by default compressed with deflate algorithm, if using curl, use --compressed option.
* @throws ApiError
*/
public static getPlotMaxValue(
binning?: number,
compression: boolean = true,
): CancelablePromise<plots> {
return __request(OpenAPI, {
method: 'GET',
url: '/plot/max_value',
query: {
'binning': binning,
'compression': compression,
},
errors: {
400: `Input parsing or validation error`,
},
});
}
/**
* Generate ROI sum plot
* Sum of ROI rectangle per image; binning is configurable
@@ -998,6 +1061,31 @@ export class DefaultService {
});
}
/**
* Generate plot with number of received packets per image
* Number of collected packets per image; binning is configurable
* @param binning Binning of frames for the plot (0 = default binning)
* @param compression Enable DEFLATE compression of output data.
* @returns plots Everything OK
* @throws ApiError
*/
public static getPlotPacketsReceived(
binning?: number,
compression: boolean = true,
): CancelablePromise<plots> {
return __request(OpenAPI, {
method: 'GET',
url: '/plot/packets_received',
query: {
'binning': binning,
'compression': compression,
},
errors: {
400: `Input parsing or validation error`,
},
});
}
/**
* Generate radial integration profile
* Generate average radial integration profile
@@ -1269,6 +1357,81 @@ export class DefaultService {
});
}
/**
* Get Start message in CBOR format
* Contains metadata for a dataset (e.g., experimental geometry)
* @returns binary Return start message
* @throws ApiError
*/
public static getImageBufferStartCbor(): CancelablePromise<Blob> {
return __request(OpenAPI, {
method: 'GET',
url: '/image_buffer/start.cbor',
errors: {
404: `No measurement so far`,
500: `Error within Jungfraujoch code - see output message.`,
},
});
}
/**
* Get image message in CBOR format
* Contains full image data and metadata. The image must come from the latest data collection.
* @param imageNumber Image number. If omitted, the image with the highest number in the image buffer will be provided.
* @returns binary Return image message
* @throws ApiError
*/
public static getImageBufferImageCbor(
imageNumber?: number,
): CancelablePromise<Blob> {
return __request(OpenAPI, {
method: 'GET',
url: '/image_buffer/image.cbor',
query: {
'image_number': imageNumber,
},
errors: {
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.`,
},
});
}
/**
* Clear image buffer
* Turns off image buffer for the last data collection. Can be only run when Jungfraujoch is not collecting data.
* @returns any Done
* @throws ApiError
*/
public static postImageBufferClear(): CancelablePromise<any> {
return __request(OpenAPI, {
method: 'POST',
url: '/image_buffer/clear',
errors: {
500: `Error within Jungfraujoch code - see output message.`,
},
});
}
/**
* Get status of the image buffers
* Can be run at any stage of Jungfraujoch operation, including during data collection.
* The status of the image buffer is volatile during data collection - if data collection goes for more images than available buffer slots,
* then image might be replaced in the buffer between calling /images and /image.cbor.
*
* @returns image_buffer_status Done
* @throws ApiError
*/
public static getImageBufferStatus(): CancelablePromise<image_buffer_status> {
return __request(OpenAPI, {
method: 'GET',
url: '/image_buffer/status',
errors: {
500: `Error within Jungfraujoch code - see output message.`,
},
});
}
/**
* Get Jungfraujoch version of jfjoch_broker
* @returns string Release number of Jungfraujoch