parameters#

class Hdf5Compression(*values)#
gzip = 'gzip'#
bitshuffle_with_zstd = 'bitshuffle_with_zstd'#
none = None#
class CustomBaseModel#

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

model_config: ClassVar[ConfigDict] = {'extra': 'forbid'}#

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

class OmParameters(*, parallelization_layer, data_retrieval_layer, processing_layer, source='', configuration_file=PosixPath('.'))#

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

Parameters:
  • parallelization_layer (str)

  • data_retrieval_layer (str)

  • processing_layer (str)

  • source (str)

  • configuration_file (Path)

parallelization_layer: str#
data_retrieval_layer: str#
processing_layer: str#
source: str#
configuration_file: Path#
model_config: ClassVar[ConfigDict] = {'extra': 'forbid'}#

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

class DataSourceParameters(*, type, **extra_data)#

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

Parameters:
  • type (str)

  • extra_data (Any)

type: str#
model_config: ClassVar[ConfigDict] = {'extra': 'allow'}#

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

class DataRetrievalLayerParameters(*, asapo_url=None, asapo_path=None, asapo_data_source=None, asapo_has_filesystem=None, asapo_token=None, asapo_group_id='default_om_group', buffer_size=None, psana_calibration_directory=None, data_sources, node_pool_size=0)#

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

Parameters:
  • asapo_url (str | None)

  • asapo_path (str | None)

  • asapo_data_source (str | None)

  • asapo_has_filesystem (bool | None)

  • asapo_token (str | None)

  • asapo_group_id (str)

  • buffer_size (int | None)

  • psana_calibration_directory (str | None)

  • data_sources (dict[str, DataSourceParameters])

  • node_pool_size (int)

asapo_url: str | None#
asapo_path: str | None#
asapo_data_source: str | None#
asapo_has_filesystem: bool | None#
asapo_token: str | None#
asapo_group_id: str#
buffer_size: int | None#
psana_calibration_directory: str | None#
data_sources: dict[str, DataSourceParameters]#
node_pool_size: int#
model_config: ClassVar[ConfigDict] = {'extra': 'forbid'}#

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

class Peakfinder8PeakDetectionParameters(*, max_num_peaks, adc_threshold, minimum_snr, min_pixel_count, max_pixel_count, local_bg_radius, min_res, max_res, fast_mode=False, num_pixel_per_bin_in_radial_statistics=100, bad_pixel_map_filename=None, bad_pixel_map_hdf5_path=None)#

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

Parameters:
  • max_num_peaks (int)

  • adc_threshold (float)

  • minimum_snr (float)

  • min_pixel_count (int)

  • max_pixel_count (int)

  • local_bg_radius (int)

  • min_res (int)

  • max_res (int)

  • fast_mode (bool)

  • num_pixel_per_bin_in_radial_statistics (int)

  • bad_pixel_map_filename (Path | None)

  • bad_pixel_map_hdf5_path (str | None)

max_num_peaks: int#
adc_threshold: float#
minimum_snr: float#
min_pixel_count: int#
max_pixel_count: int#
local_bg_radius: int#
min_res: int#
max_res: int#
fast_mode: bool#
num_pixel_per_bin_in_radial_statistics: int#
bad_pixel_map_filename: Path | None#
bad_pixel_map_hdf5_path: str | None#
check_hd5_path()#
Return type:

Self

model_config: ClassVar[ConfigDict] = {'extra': 'forbid'}#

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

class BinningParameters(*, bin_size, min_good_pix_count=None, bad_pixel_value=None, bad_pixel_map_filename=None, bad_pixel_map_hdf5_path=None)#

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

Parameters:
  • bin_size (int)

  • min_good_pix_count (int | None)

  • bad_pixel_value (int | float | None)

  • bad_pixel_map_filename (str | None)

  • bad_pixel_map_hdf5_path (str | None)

bin_size: int#
min_good_pix_count: int | None#
bad_pixel_value: int | float | None#
bad_pixel_map_filename: str | None#
bad_pixel_map_hdf5_path: str | None#
check_hd5_path()#
Return type:

Self

model_config: ClassVar[ConfigDict] = {'extra': 'forbid'}#

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

class XesParameters(*, intensity_threshold=None, rotation_in_degrees, geometry_file, data_broadcast_url=None, data_broadcast_interval, time_resolved=False, min_row_in_pix_for_integration, max_row_in_pix_for_integration, running_average_window_size, speed_report_interval, hit_frame_sending_interval=None, non_hit_frame_sending_interval=None)#

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

Parameters:
  • intensity_threshold (float | None)

  • rotation_in_degrees (float)

  • geometry_file (str)

  • data_broadcast_url (str | None)

  • data_broadcast_interval (int)

  • time_resolved (bool)

  • min_row_in_pix_for_integration (int)

  • max_row_in_pix_for_integration (int)

  • running_average_window_size (int)

  • speed_report_interval (int)

  • hit_frame_sending_interval (int | None)

  • non_hit_frame_sending_interval (int | None)

intensity_threshold: float | None#
rotation_in_degrees: float#
geometry_file: str#
data_broadcast_url: str | None#
data_broadcast_interval: int#
time_resolved: bool#
min_row_in_pix_for_integration: int#
max_row_in_pix_for_integration: int#
running_average_window_size: int#
speed_report_interval: int#
hit_frame_sending_interval: int | None#
non_hit_frame_sending_interval: int | None#
model_config: ClassVar[ConfigDict] = {'extra': 'forbid'}#

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

class RadialProfileParameters(*, speed_report_interval, data_broadcast_interval, hit_frame_sending_interval, non_hit_frame_sending_interval, data_broadcast_url=None, radius_bin_size, geometry_file, post_processing_binning=False, bad_pixel_map_filename=None, bad_pixel_map_hdf5_path=None, running_average_window_size, num_radials_to_send, num_hits_in_cum_radial_avg, total_intensity_jet_threshold=-1.0, background_subtraction=False, background_profile_filename='', background_profile_hdf5_path='', background_subtraction_min_fit_bin=-1, background_subtraction_max_fit_bin=-1, sample_detection=True, minimum_roi1_to_roi2_intensity_ratio_for_sample=-1.0, maximum_roi1_to_roi2_intensity_ratio_for_sample=-1.0, estimate_particle_size=False, size_estimation_method='guinier', roi1_qmin=-1.0, roi1_qmax=-1.0, roi2_qmin=-1.0, roi2_qmax=-1.0, guinier_qmin=-1.0, guinier_qmax=-1.0)#

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

Parameters:
  • speed_report_interval (int)

  • data_broadcast_interval (int)

  • hit_frame_sending_interval (int)

  • non_hit_frame_sending_interval (int)

  • data_broadcast_url (str | None)

  • radius_bin_size (int)

  • geometry_file (str)

  • post_processing_binning (bool)

  • bad_pixel_map_filename (str | None)

  • bad_pixel_map_hdf5_path (str | None)

  • running_average_window_size (int)

  • num_radials_to_send (int)

  • num_hits_in_cum_radial_avg (int)

  • total_intensity_jet_threshold (float)

  • background_subtraction (bool)

  • background_profile_filename (str)

  • background_profile_hdf5_path (str)

  • background_subtraction_min_fit_bin (int)

  • background_subtraction_max_fit_bin (int)

  • sample_detection (bool)

  • minimum_roi1_to_roi2_intensity_ratio_for_sample (float)

  • maximum_roi1_to_roi2_intensity_ratio_for_sample (float)

  • estimate_particle_size (bool)

  • size_estimation_method (Literal['guinier', 'sphere', 'peak'])

  • roi1_qmin (float)

  • roi1_qmax (float)

  • roi2_qmin (float)

  • roi2_qmax (float)

  • guinier_qmin (float)

  • guinier_qmax (float)

speed_report_interval: int#
data_broadcast_interval: int#
hit_frame_sending_interval: int#
non_hit_frame_sending_interval: int#
data_broadcast_url: str | None#
radius_bin_size: int#
geometry_file: str#
post_processing_binning: bool#
bad_pixel_map_filename: str | None#
bad_pixel_map_hdf5_path: str | None#
running_average_window_size: int#
num_radials_to_send: int#
num_hits_in_cum_radial_avg: int#
total_intensity_jet_threshold: float#
background_subtraction: bool#
background_profile_filename: str#
background_profile_hdf5_path: str#
background_subtraction_min_fit_bin: int#
background_subtraction_max_fit_bin: int#
sample_detection: bool#
minimum_roi1_to_roi2_intensity_ratio_for_sample: float#
maximum_roi1_to_roi2_intensity_ratio_for_sample: float#
estimate_particle_size: bool#
size_estimation_method: Literal['guinier', 'sphere', 'peak']#
roi1_qmin: float#
roi1_qmax: float#
roi2_qmin: float#
roi2_qmax: float#
guinier_qmin: float#
guinier_qmax: float#
check_hd5_path()#
Return type:

Self

check_background_subtraction()#
Return type:

Self

check_sample_detection()#
Return type:

Self

check_particle_size_estimation()#
Return type:

Self

model_config: ClassVar[ConfigDict] = {'extra': 'forbid'}#

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

class CheetahParameters(*, processed_directory, processed_filename_prefix='processed', processed_filename_extension='h5', hdf5_fields, hdf5_file_data_type=None, hdf5_file_compression=Hdf5Compression.none, hdf5_file_gzip_compression_level=4, hdf5_file_zstd_compression_level=3, hdf5_file_compression_shuffle=False, hdf5_file_max_num_peaks=1024, write_class_sums, class_sums_sending_interval=-1, class_sums_update_interval, class_sums_filename_prefix='sums', status_file_update_interval, responding_url=None, external_data_request_list_size=20)#

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

Parameters:
  • processed_directory (str)

  • processed_filename_prefix (str)

  • processed_filename_extension (str)

  • hdf5_fields (dict[str, str])

  • hdf5_file_data_type (str | None)

  • hdf5_file_compression (Hdf5Compression)

  • hdf5_file_gzip_compression_level (int)

  • hdf5_file_zstd_compression_level (int)

  • hdf5_file_compression_shuffle (bool)

  • hdf5_file_max_num_peaks (int)

  • write_class_sums (bool)

  • class_sums_sending_interval (int)

  • class_sums_update_interval (int)

  • class_sums_filename_prefix (str)

  • status_file_update_interval (int)

  • responding_url (str | None)

  • external_data_request_list_size (int)

processed_directory: str#
processed_filename_prefix: str#
processed_filename_extension: str#
hdf5_fields: dict[str, str]#
hdf5_file_data_type: str | None#
hdf5_file_compression: Hdf5Compression#
hdf5_file_gzip_compression_level: int#
hdf5_file_zstd_compression_level: int#
hdf5_file_compression_shuffle: bool#
hdf5_file_max_num_peaks: int#
write_class_sums: bool#
class_sums_sending_interval: int#
class_sums_update_interval: int#
class_sums_filename_prefix: str#
status_file_update_interval: int#
responding_url: str | None#
external_data_request_list_size: int#
check_sums_update_interval()#
Return type:

Self

classmethod check_status_file_update_interval(v)#
Parameters:

v (int)

Return type:

int

model_config: ClassVar[ConfigDict] = {'extra': 'forbid'}#

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

class CrystallographyParameters(*, peakfinding_algorithm='peakfinder8', min_num_peaks_for_hit, max_num_peaks_for_hit, peakogram_intensity_bin_size=100.0, peakogram_radius_bin_size=5.0, running_average_window_size, post_processing_binning=False, pump_probe_experiment=False, geometry_file, geometry_is_optimized=False, speed_report_interval, data_broadcast_url=None, responding_url=None, external_data_request_list_size=20, data_broadcast_interval, hit_frame_sending_interval=0, non_hit_frame_sending_interval=0)#

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

Parameters:
  • peakfinding_algorithm (str)

  • min_num_peaks_for_hit (int)

  • max_num_peaks_for_hit (int)

  • peakogram_intensity_bin_size (float)

  • peakogram_radius_bin_size (float)

  • running_average_window_size (int)

  • post_processing_binning (bool)

  • pump_probe_experiment (bool)

  • geometry_file (str)

  • geometry_is_optimized (bool)

  • speed_report_interval (int)

  • data_broadcast_url (str | None)

  • responding_url (str | None)

  • external_data_request_list_size (int)

  • data_broadcast_interval (int)

  • hit_frame_sending_interval (int)

  • non_hit_frame_sending_interval (int)

peakfinding_algorithm: str#
min_num_peaks_for_hit: int#
max_num_peaks_for_hit: int#
peakogram_intensity_bin_size: float#
peakogram_radius_bin_size: float#
running_average_window_size: int#
post_processing_binning: bool#
pump_probe_experiment: bool#
geometry_file: str#
geometry_is_optimized: bool#
speed_report_interval: int#
data_broadcast_url: str | None#
responding_url: str | None#
external_data_request_list_size: int#
data_broadcast_interval: int#
hit_frame_sending_interval: int#
non_hit_frame_sending_interval: int#
model_config: ClassVar[ConfigDict] = {'extra': 'forbid'}#

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].

class MonitorParameters(*, om, data_retrieval_layer, peakfinder8_peak_detection=None, radial_profile=None, binning=None, crystallography=None, xes=None, cheetah=None)#

Create a new model by parsing and validating input data from keyword arguments.

Raises [ValidationError][pydantic_core.ValidationError] if the input data cannot be validated to form a valid model.

self is explicitly positional-only to allow self as a field name.

Parameters:
om: OmParameters#
data_retrieval_layer: DataRetrievalLayerParameters#
peakfinder8_peak_detection: Peakfinder8PeakDetectionParameters | None#
radial_profile: RadialProfileParameters | None#
binning: BinningParameters | None#
crystallography: CrystallographyParameters | None#
xes: XesParameters | None#
cheetah: CheetahParameters | None#
check_peakfinder8_peak_detection_parameters()#
Return type:

Self

check_binning_parameters()#
Return type:

Self

model_config: ClassVar[ConfigDict] = {'extra': 'forbid'}#

Configuration for the model, should be a dictionary conforming to [ConfigDict][pydantic.config.ConfigDict].