Configuration parameters
Contents
Configuration parameters#
This file lists all the current configuration parameters available in the configuration file.
dataset#
Input dataset to integrate: path to a HDF5-Nexus file.
location =
Entry in the HDF5 file, if applicable. Default is the first available entry.
hdf5_entry =
Which folders layout to use for parsing datasets and creating output files. Available are: ID15A, ID11
layout = ID15A
azimuthal integration#
Number of azimuthal bins.
n_pts = 2500
Radial unit. Can be r_mm, q_A^-1, 2th_deg
unit = r_mm
Detector name (ex. eiger2_cdte_4m), or path to the a detector file specification (ex. id15_pilatus.h5)
detector =
Force detector name if not present in the ‘detector’ file description
detector_name =
Path to the mask file
mask_file =
Path to the pyFAI calibration file
poni_file =
Error model for azimuthal integration. Can be poisson or None.
error_model = poisson
azimuthal ranges in the form (min, max, n_slices)
azimuthal_range = (-180., 180., 1)
Lower and upper range of the radial unit. If not provided, range is simply (data.min(), data.max()). Values outside the range are ignored.
radial_range =
Which azimuthal integration method to use.
ai_method = opencl
Polarization factor for PyFAI. Default is 1.0
polarization_factor = 1.0
Whether to correct solid angle. Put this parameter if you wish to correct solid angle.
correct_solid_angle = 0
Whether to additionally perform azimuthal integration on average of each image stack
average_xy = 0
Whether to perform pixel splitting.
pixel_splitting = 0
Which outliers removal method to use. Can be none (default), median, or sigma clip. NB: when using one of the latter two, neither azimuthal caking nor uncertainty estimation are possible, only one azimuthal slice is used.
trim_method =
Number of azimuthal bins for trimmed mean.
trim_n_pts =
Bounds for trim methods:
For median: percentiles in the form (cut_low, cut_high). Integration uses medfilt1d with only one azimuthal slice.
sigma clip: thresholds in the form (thresh_low, thresh_high).
trim_bounds =
computations distribution#
Number of workers to use
n_workers = 10
Number of CPU cores per workers to use
cores_per_worker = 10
Time limit for SLURM job duration
time = 00:30:00
Amount of memory per worker. Default is 10 GB.
memory_per_worker = 10GB
Name of the project to be displayed on SLURM
project_name = distributed-azimuthal-integration
Whether to automatically respawn SLURM resources once the walltime is reached.
auto_respawn = 1
If non-empty, connect to an existing dask-distributed cluster. It should be in the form ‘tcp://ip:port’
cluster_address =
Name of the SLURM partition (queue)
partition = nice
Path to the python executable. Useful if the compute nodes have a different environment from the front-end. Defaults to current python executable (so accounts for virtual environments)
python_exe =
TCP Port for the dask-distributed scheduler
port = 36087
TCP Port for the dashboard
dashboard_port = 36088
Number of images processed in a single pass by each integrator. By default (empty), each integrator determines the optimal number of images to load.
n_images_per_integrator =
If auto_respawn is set to True, this defines the number of times the resources can be respawned.
max_respawns = 100
Period (in seconds)
healthcheck_period = 10
Defines a python executable to use for each SLURM partition. Mind the semicolon (;) as a separator.
python_executables = nice='/scisoft/tomotools_env/integrator/ubuntu20.04/x86_64/latest/bin/python' ; p9gpu='/scisoft/tomotools_env/integrator/ubuntu20.04/ppc64le/latest/bin/python' ; gpu='/scisoft/tomotools_env/integrator/ubuntu20.04/x86_64/latest/bin/python'
output#
Path to the output file. If not provided, it will be in the same directory as the input dataset. NOTA: a directory with the same name (less the extension) will be created at the same level, for storing the actual integrated data.
location =
What to do if output already exists. Possible values are:
skip: go to next image of the output already exists (and has the same processing configuration)
overwrite: re-do the processing, overwrite the file
raise: raise an error and exit
existing_output = skip
live integration#
pipeline#
Level of verbosity of the processing. 0 = terse, 3 = much information.
verbosity = 2