integrator.utils module
integrator.utils module#
- class integrator.utils.PeriodicAction(interval, function, args=None, kwargs=None)#
Bases:
object
- start()#
- stop()#
- cancel()#
- class integrator.utils.PatchLogLevel(prefix, loglevel)#
Bases:
contextlib.ContextDecorator
- integrator.utils.make_azims(azim_min, azim_max, nb_slices)#
- integrator.utils.parse_poni_file(poni_file)#
- integrator.utils.check_poni_file_detector(poni_file, detector, force_replace=False)#
Check a poni file so that the detector is replaced with another (user-provided) detector. This is useful when the detector file name within the poni file does not exist, or cannot be accessed.
- Parameters
poni_file (str) – Path to the poni file
detector (str) – Name or path of the detector used to replace the one in the poni file
force_replace (bool, optional) – Whether to use the provided detector even if the one in the poni file can be accessed
- integrator.utils.get_h5_config_from_pyfai(pyfai_config, ai_config, dataset)#
- integrator.utils.create_output_masterfile(files, output_file, ai_config, do_stack_mean, h5_config, entry='/', process_name='azimuthal integration')#
- integrator.utils.browse_virtual_sources(dataset, logger)#
- integrator.utils.create_legacy_output_file(result_files, output_fname, integrator_info, data_files, dataset_info, n_azim_slices, h5_toplevel_entry=None)#
- integrator.utils.walltime_to_seconds(walltime)#
Converts a “walltime” formated string to a number of seconds.
- Parameters
walltime (str) – Walltime, in the form “Hours:Minutes:Seconds”
- Returns
secs – Number of seconds corresponding to walltime
- Return type
int
Examples
walltime_to_seconds(“02:50:27”) gives 10227
- integrator.utils.partition_list(list_, n_sets)#
- integrator.utils.files_relative_paths(files, reference_file)#
From a list of (absolute) files paths, return a list of relative paths. Each path is relative to ‘reference_file’.
- integrator.utils.get_worker_threads_affinity(n_workers, n_threads_per_worker)#
Given a number of workers (processes) and number of threads per worker, returns the optimal affinity list for each worker.
Note that it likely won’t work properly if the current host is used through a task scheduler(eg. SLURM). In this case, one must ensure that at least one full socket is allocated.
- integrator.utils.get_opencl_devices(device_type='gpu', excluded_platform=None)#
- integrator.utils.exec_shell_command(cmd)#
- integrator.utils.get_number_of_available_gpus(on_error='ignore')#
Get the number of available GPUs.
- Parameters
on_error (str, optional) – What to do on error. Can be “ignore”, “print” or “raise”.