Improve plotting

This commit is contained in:
2024-03-31 23:08:19 +02:00
parent 8cad89d649
commit 30e775d8a2
122 changed files with 4639 additions and 1148 deletions
+5 -1
View File
@@ -18,9 +18,13 @@ export { error_message } from './models/error_message';
export { measurement_statistics } from './models/measurement_statistics';
export type { plot } from './models/plot';
export type { plot_request } from './models/plot_request';
export type { plots } from './models/plots';
export type { preview_settings } from './models/preview_settings';
export type { rad_int_settings } from './models/rad_int_settings';
export type { radial_integration_plots } from './models/radial_integration_plots';
export type { roi_box } from './models/roi_box';
export type { roi_box_list } from './models/roi_box_list';
export type { roi_circle } from './models/roi_circle';
export type { roi_circle_list } from './models/roi_circle_list';
export type { rotation_axis } from './models/rotation_axis';
export type { spot_finding_settings } from './models/spot_finding_settings';
@@ -93,15 +93,6 @@ export type dataset_settings = {
* For JUNGFRAU conversion it is possible to multiply energy by a given factor to get fractional/multiplied photon counts
*/
photon_energy_multiplier?: number;
/**
* Rectangle for ROI summation
*/
roi_sum_area?: {
x_min: number;
x_max: number;
y_min: number;
y_max: number;
};
/**
* Units of angstrom and degree
*/
+1
View File
@@ -7,6 +7,7 @@
* x and y coordinates for plotting, it is OK to assume that both arrays have the same size; layout is optimized for Plotly
*/
export type plot = {
title: string;
'x': Array<number>;
'y': Array<number>;
};
@@ -5,7 +5,8 @@
import type { plot } from './plot';
export type radial_integration_plots = Array<{
title: string;
plot: plot;
}>;
export type plots = {
title?: string;
plot: Array<plot>;
};
@@ -15,6 +15,10 @@ export type preview_settings = {
* Show spot finding results on the image
*/
show_spots?: boolean;
/**
* Show ROI areas on the image
*/
show_roi?: boolean;
/**
* Quality of JPEG image (100 - highest; 0 - lowest)
*/
+31
View File
@@ -0,0 +1,31 @@
/* generated using openapi-typescript-codegen -- do no edit */
/* istanbul ignore file */
/* tslint:disable */
/* eslint-disable */
/**
* Box ROI
*/
export type roi_box = {
/**
* Name for the ROI; used in the plots
*/
name: string;
/**
* Lower bound (inclusive) in X coordinate for the box
*/
min_x_pxl: number;
/**
* Upper bound (inclusive) in X coordinate for the box
*/
max_x_pxl: number;
/**
* Lower bound (inclusive) in Y coordinate for the box
*/
min_y_pxl: number;
/**
* Upper bound (inclusive) in Y coordinate for the box
*/
max_y_pxl: number;
};
@@ -0,0 +1,14 @@
/* generated using openapi-typescript-codegen -- do no edit */
/* istanbul ignore file */
/* tslint:disable */
/* eslint-disable */
import type { roi_box } from './roi_box';
/**
* List of box ROIs
*/
export type roi_box_list = {
rois?: Array<roi_box>;
};
@@ -0,0 +1,27 @@
/* generated using openapi-typescript-codegen -- do no edit */
/* istanbul ignore file */
/* tslint:disable */
/* eslint-disable */
/**
* Circular ROI
*/
export type roi_circle = {
/**
* Name for the ROI; used in the plots
*/
name: string;
/**
* X coordinate of center of the circle [pixels]
*/
center_x_pxl: number;
/**
* Y coordinate of center of the circle [pixels]
*/
center_y_pxl: number;
/**
* Radius of the circle [pixels]
*/
radius_pxl: number;
};
@@ -0,0 +1,14 @@
/* generated using openapi-typescript-codegen -- do no edit */
/* istanbul ignore file */
/* tslint:disable */
/* eslint-disable */
import type { roi_circle } from './roi_circle';
/**
* List of circular ROIs
*/
export type roi_circle_list = {
rois: Array<roi_circle>;
};
@@ -10,11 +10,12 @@ 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 { measurement_statistics } from '../models/measurement_statistics';
import type { plot } from '../models/plot';
import type { plot_request } from '../models/plot_request';
import type { plots } from '../models/plots';
import type { preview_settings } from '../models/preview_settings';
import type { rad_int_settings } from '../models/rad_int_settings';
import type { radial_integration_plots } from '../models/radial_integration_plots';
import type { roi_box_list } from '../models/roi_box_list';
import type { roi_circle_list } from '../models/roi_circle_list';
import type { spot_finding_settings } from '../models/spot_finding_settings';
import type { CancelablePromise } from '../core/CancelablePromise';
@@ -354,6 +355,38 @@ export class DefaultService {
});
}
/**
* Return XFEL pulse IDs for the current data acquisition
* Return array of XFEL pulse IDs - (-1) if image not recorded
* @returns number Pulse ID collected
* @throws ApiError
*/
public static getXfelPulseId(): CancelablePromise<Array<number>> {
return __request(OpenAPI, {
method: 'GET',
url: '/xfel/pulse_id',
errors: {
404: `Not in XFEL mode or no acquisition recorded`,
},
});
}
/**
* Return XFEL event codes for the current data acquisition
* Return array of XFEL event codes
* @returns number Event codes collected
* @throws ApiError
*/
public static getXfelEventCode(): CancelablePromise<Array<number>> {
return __request(OpenAPI, {
method: 'GET',
url: '/xfel/event_code',
errors: {
404: `Not in XFEL mode or no acquisition recorded`,
},
});
}
/**
* Get detector status
* Status of the JUNGFRAU detector
@@ -371,16 +404,82 @@ export class DefaultService {
});
}
/**
* Get box ROIs
* @returns roi_box_list OK
* @throws ApiError
*/
public static getRoiBox(): CancelablePromise<roi_box_list> {
return __request(OpenAPI, {
method: 'GET',
url: '/roi/box',
});
}
/**
* Upload box ROIs
* @param requestBody
* @returns any Everything OK
* @throws ApiError
*/
public static putRoiBox(
requestBody?: roi_box_list,
): CancelablePromise<any> {
return __request(OpenAPI, {
method: 'PUT',
url: '/roi/box',
body: requestBody,
mediaType: 'application/json',
errors: {
400: `Input parsing or validation error`,
500: `Error within Jungfraujoch code - see output message.`,
},
});
}
/**
* Get circular ROI
* @returns roi_circle_list OK
* @throws ApiError
*/
public static getRoiCircle(): CancelablePromise<roi_circle_list> {
return __request(OpenAPI, {
method: 'GET',
url: '/roi/circle',
});
}
/**
* Upload circular ROI
* @param requestBody
* @returns any Everything OK
* @throws ApiError
*/
public static putRoiCircle(
requestBody?: roi_circle_list,
): CancelablePromise<any> {
return __request(OpenAPI, {
method: 'PUT',
url: '/roi/circle',
body: requestBody,
mediaType: 'application/json',
errors: {
400: `Input parsing or validation error`,
500: `Error within Jungfraujoch code - see output message.`,
},
});
}
/**
* Generate background estimate plot
* Mean intensity for d = 3 - 5 A per image; binning is configurable
* @param requestBody
* @returns plot Everything OK
* @returns plots Everything OK
* @throws ApiError
*/
public static postPlotBkgEstimate(
requestBody?: plot_request,
): CancelablePromise<plot> {
): CancelablePromise<plots> {
return __request(OpenAPI, {
method: 'POST',
url: '/plot/bkg_estimate',
@@ -396,12 +495,12 @@ export class DefaultService {
* Generate spot count plot
* Number of spots per image; binning is configurable
* @param requestBody
* @returns plot Everything OK
* @returns plots Everything OK
* @throws ApiError
*/
public static postPlotSpotCount(
requestBody?: plot_request,
): CancelablePromise<plot> {
): CancelablePromise<plots> {
return __request(OpenAPI, {
method: 'POST',
url: '/plot/spot_count',
@@ -417,12 +516,12 @@ export class DefaultService {
* Generate indexing rate plot
* Image indexing rate; binning is configurable
* @param requestBody
* @returns plot Everything OK
* @returns plots Everything OK
* @throws ApiError
*/
public static postPlotIndexingRate(
requestBody?: plot_request,
): CancelablePromise<plot> {
): CancelablePromise<plots> {
return __request(OpenAPI, {
method: 'POST',
url: '/plot/indexing_rate',
@@ -434,37 +533,16 @@ export class DefaultService {
});
}
/**
* Generate saturated pixels plot
* Count of saturated pixels per image; binning is configurable
* @param requestBody
* @returns plot Everything OK
* @throws ApiError
*/
public static postPlotSaturatedPixel(
requestBody?: plot_request,
): CancelablePromise<plot> {
return __request(OpenAPI, {
method: 'POST',
url: '/plot/saturated_pixel',
body: requestBody,
mediaType: 'application/json',
errors: {
400: `Input parsing or validation error`,
},
});
}
/**
* Generate error pixels plot
* Count of error pixels per image; binning is configurable
* Count of error (mean) and saturated (mean/max) pixels per image; binning is configurable
* @param requestBody
* @returns plot Everything OK
* @returns plots Everything OK
* @throws ApiError
*/
public static postPlotErrorPixel(
requestBody?: plot_request,
): CancelablePromise<plot> {
): CancelablePromise<plots> {
return __request(OpenAPI, {
method: 'POST',
url: '/plot/error_pixel',
@@ -480,12 +558,12 @@ export class DefaultService {
* Generate strong pixels plot
* Count of strong pixels per image (from spot finding); binning is configurable
* @param requestBody
* @returns plot Everything OK
* @returns plots Everything OK
* @throws ApiError
*/
public static postPlotStrongPixel(
requestBody?: plot_request,
): CancelablePromise<plot> {
): CancelablePromise<plots> {
return __request(OpenAPI, {
method: 'POST',
url: '/plot/strong_pixel',
@@ -501,12 +579,12 @@ export class DefaultService {
* Generate ROI sum plot
* Sum of ROI rectangle per image; binning is configurable
* @param requestBody
* @returns plot Everything OK
* @returns plots Everything OK
* @throws ApiError
*/
public static postPlotRoiSum(
requestBody?: plot_request,
): CancelablePromise<plot> {
): CancelablePromise<plots> {
return __request(OpenAPI, {
method: 'POST',
url: '/plot/roi_sum',
@@ -518,16 +596,58 @@ export class DefaultService {
});
}
/**
* Generate plot of ROI max count
* Max count of ROI per image; binning is configurable
* @param requestBody
* @returns plots Everything OK
* @throws ApiError
*/
public static postPlotRoiMaxCount(
requestBody?: plot_request,
): CancelablePromise<plots> {
return __request(OpenAPI, {
method: 'POST',
url: '/plot/roi_max_count',
body: requestBody,
mediaType: 'application/json',
errors: {
400: `Input parsing or validation error`,
},
});
}
/**
* Generate plot of ROI valid pixels
* Number of pixels within a ROI area; pixels with special values (overload, bad pixel) are excluded; multipixels are counted just once; binning is configurable
* @param requestBody
* @returns plots Everything OK
* @throws ApiError
*/
public static postPlotRoiValidPixels(
requestBody?: plot_request,
): CancelablePromise<plots> {
return __request(OpenAPI, {
method: 'POST',
url: '/plot/roi_valid_pixels',
body: requestBody,
mediaType: 'application/json',
errors: {
400: `Input parsing or validation error`,
},
});
}
/**
* Generate receiver delay plot
* Amount of frames the receiver is behind the FPGA for each image - used for internal debugging; binning is configurable
* @param requestBody
* @returns plot Everything OK
* @returns plots Everything OK
* @throws ApiError
*/
public static postPlotReceiverDelay(
requestBody?: plot_request,
): CancelablePromise<plot> {
): CancelablePromise<plots> {
return __request(OpenAPI, {
method: 'POST',
url: '/plot/receiver_delay',
@@ -543,12 +663,12 @@ export class DefaultService {
* Generate image collection efficiency plot
* Ratio of collected and expected packets per image; binning is configurable
* @param requestBody
* @returns plot Everything OK
* @returns plots Everything OK
* @throws ApiError
*/
public static postPlotImageCollectionEfficiency(
requestBody?: plot_request,
): CancelablePromise<plot> {
): CancelablePromise<plots> {
return __request(OpenAPI, {
method: 'POST',
url: '/plot/image_collection_efficiency',
@@ -563,10 +683,10 @@ export class DefaultService {
/**
* Generate indexing rate per file
* Indexing rate per each of data files; useful for example for time resolved data
* @returns plot Everything OK
* @returns plots Everything OK
* @throws ApiError
*/
public static getPlotIndexingRatePerFile(): CancelablePromise<plot> {
public static getPlotIndexingRatePerFile(): CancelablePromise<plots> {
return __request(OpenAPI, {
method: 'GET',
url: '/plot/indexing_rate_per_file',
@@ -576,10 +696,10 @@ export class DefaultService {
/**
* Generate resolution estimate histogram
* Generate histogram of crystal resolutions from 1.0 to 5.0 A based on ML model
* @returns plot Everything OK
* @returns plots Everything OK
* @throws ApiError
*/
public static getPlotResolutionEstimateHistogram(): CancelablePromise<plot> {
public static getPlotResolutionEstimateHistogram(): CancelablePromise<plots> {
return __request(OpenAPI, {
method: 'GET',
url: '/plot/resolution_estimate_histogram',
@@ -589,10 +709,10 @@ export class DefaultService {
/**
* Generate radial integration profile
* Generate average radial integration profile
* @returns plot Everything OK
* @returns plots Everything OK
* @throws ApiError
*/
public static getPlotRadInt(): CancelablePromise<plot> {
public static getPlotRadInt(): CancelablePromise<plots> {
return __request(OpenAPI, {
method: 'GET',
url: '/plot/rad_int',
@@ -602,10 +722,10 @@ export class DefaultService {
/**
* Generate radial integration profiles per file
* Radial integration plots for both the whole dataset and per file; useful for time-resolved measurements
* @returns radial_integration_plots Everything OK
* @returns plots Everything OK
* @throws ApiError
*/
public static getPlotRadIntPerFile(): CancelablePromise<radial_integration_plots> {
public static getPlotRadIntPerFile(): CancelablePromise<plots> {
return __request(OpenAPI, {
method: 'GET',
url: '/plot/rad_int_per_file',