pyFAI tasks#
Integration options#
The PyFaiConfig task has a parameter called integration_options which is a dictionary of parameters expected by a pyFAI worker on configuration or instantiation.
pyFAI itself stores these options in the pyfai-integrate application configuration files (JSON) or PONI files (only the detector and beam parameters). Most often you will provide the integration_options through one of those parameter files. Below we describe the most important parameters.
Detector#
The detector position parameters
dist (m): perpendicular sample-detector distance
poni1 (m): first coordinate of the point of normal incidence
poni2 (m): first coordinate of the point of normal incidence
rot1 (rad): detector orientation
rot2 (rad): detector orientation
rot3 (rad): detector orientation
The detector type parameters
detector: name of a registered detector
detector_config: registered detector instantiation options
pixel1 (m): pixel size (detector instantiation option)
pixel2 (m): pixel size (detector instantiation option)
splineFile: path to file containing the geometric correction (detector instantiation option)
mask_file: path to file containing bad pixels (pixels with 0 value are not masked)
Primary beam#
wavelength (m): monochromatic beam
polarization_factor: from -1 (vertical) to +1 (horizontal) for linear polarization (synchrotrons are around 0.95) and None for unpolarized beam
Integration grid#
For azimuthal integration and unwrapping
nbpt_rad: number of points in the radial direction
radial_range_min: radial range
radial_range_max: radial range
For unwrapping only (a.k.a. caking)
nbpt_azim: number of points in the azimuthal direction
azimuth_range_min: azimuthal range
azimuth_range_max: azimuthal range
Integration method#
method: a string with the format “{splitting}_{algorithm}_{implementation}[_{target}]”
integrator_name:
unwrapping
integrate2d_ng: coordinate transformation from X-Y to Radius-Azimuth
integrate2d_legacy:
medfilt1d: integrate2d_ng with median filtering in both directions
azimuthal integration
integrate1d_ng: azimuthal integrated profile as a function of radius (2-theta, Q, …)
integrate1d_legacy:
sigma_clip_ng: with outlier rejection (does not support pixel splitting)
sigma_clip_legacy: with outlier rejection (does support pixel splitting)
radial integration
integrate_radial: radial integrated profile as a function of azimuth
Extra options#
Different methods have extra options which should be provided by an extra dictionary with these keys
max_iter (sigma_clip_ng and sigma_clip_legacy): number of rejections cycles
thres (sigma_clip_ng and sigma_clip_legacy): percentile for the rejection in each cycle
npt_azim (sigma_clip_legacy): the sigma_clip_legacy method first does unwrapping and then azimuthal integration with rejection