SAXS/WAXS tasks#
How to use
These tasks come from ewoksxrpd. It can be installed with
pip install ewoksxrpd
ℹ️ These tasks are used at the following ESRF beamlines: BM02, ID11, ID09, ID16B, ID31
SaveAsciiPattern1D#
Save single diffractogram in ASCII format
- Identifier:
ewoksxrpd.tasks.ascii.SaveAsciiPattern1D
- Task type:
class
- Required inputs:
x, xunits, filename, y
- Optional inputs:
yerror, metadata, header
- Outputs:
saved
SaveAsciiMultiPattern1D#
- Identifier:
ewoksxrpd.tasks.ascii.SaveAsciiMultiPattern1D
- Task type:
class
- Required inputs:
xunits_list, x_list, filenames, y_list
- Optional inputs:
yerror_list, header_list, metadata_list
- Outputs:
saved
SubtractBackground#
Background removal with normalization
.. code:
Icor = I - B / Bmon * Imon
- Identifier:
ewoksxrpd.tasks.background.SubtractBackground
- Task type:
class
- Required inputs:
image, background_monitor, monitor, background
- Optional inputs:
retry_timeout, lima_url_template, lima_url_template_args, retry_period
- Outputs:
image, monitor
LastLimaImage#
Get the last Lima image from Redis
- Identifier:
ewoksxrpd.tasks.bliss.LastLimaImage
- Task type:
class
- Required inputs:
db_name
- Optional inputs:
demo
- Outputs:
image
CalibrateSingle#
Single distance and energy calibration. Accepts multiple values for max_rings for sequential refinement.
- Identifier:
ewoksxrpd.tasks.calibrate.CalibrateSingle
- Task type:
class
- Required inputs:
image, calibrant, geometry, detector, energy
- Optional inputs:
retry_timeout, robust, lima_url_template_args, retry_period, detector_config, fixed, ring_detector, lima_url_template, max_rings
- Outputs:
geometry, rings, detector, detector_config, energy, chi2
CalibrateMulti#
Single energy, multi distance calibration with 1 distance motor.
The `images` and `positions` are the diffraction patterns and the motor positions at which those were measured.
The `reference_position` is the detector position that corresponds to `geometry` (`positions[0]` by default).
The `sample_position` is the position where sample and detector would theoretically coincide (0 by default).
The output `energy` and `geometry` correspond to `sample_position`.
The units of `positions`, `sample_position` and `reference_position` are defined by `positionunits_in_meter`
(1e-3 by default which means the unit is in millimeter).
The parametrization allow deriving energy+geometry from the detector position.
.. code-block:: python
energy, geometry = parametrization(parameters, position)
- Identifier:
ewoksxrpd.tasks.calibrate.CalibrateMulti
- Task type:
class
- Required inputs:
calibrant, geometry, positions, detector, energy, images
- Optional inputs:
retry_timeout, reference_position, robust, positionunits_in_meter, lima_url_template_args, retry_period, fixed, detector_config, lima_url_template, sample_position, max_rings
- Outputs:
parametrization, rings, parameters, detector_config, geometry, detector, energy, chi2
CalculateGeometry#
Calculate energy and geometry from pyFAI parametrization
- Identifier:
ewoksxrpd.tasks.calibrate.CalculateGeometry
- Task type:
class
- Required inputs:
parameters, parametrization, position
- Optional inputs:
retry_timeout, lima_url_template, lima_url_template_args, retry_period
- Outputs:
energy, geometry
DiagnoseCalibrateSingleResults#
Quality of a single-distance pyFAI calibration
- Identifier:
ewoksxrpd.tasks.diagnostics.DiagnoseCalibrateSingleResults
- Task type:
class
- Required inputs:
image, calibrant, geometry, detector, energy
- Optional inputs:
retry_timeout, pause, fontsize, rings, show, lima_url_template_args, retry_period, detector_config, figsize, scaling, lima_url_template, dpi, filename
- Outputs:
saved
DiagnoseCalibrateMultiResults#
Quality of a multi-distance pyFAI calibration
- Identifier:
ewoksxrpd.tasks.diagnostics.DiagnoseCalibrateMultiResults
- Task type:
class
- Required inputs:
calibrant, parametrization, positions, detector, parameters, images
- Optional inputs:
retry_timeout, pause, fontsize, rings, show, lima_url_template_args, retry_period, detector_config, figsize, scaling, lima_url_template, dpi, filename
- Outputs:
saved
DiagnoseIntegrate1D#
Quality of a pyFAI integration
- Identifier:
ewoksxrpd.tasks.diagnostics.DiagnoseIntegrate1D
- Task type:
class
- Required inputs:
x, xunits, y
- Optional inputs:
retry_timeout, pause, fontsize, yerror, show, lima_url_template_args, retry_period, figsize, scaling, lima_url_template, calibrant, dpi, filename, energy
- Outputs:
saved
IntegrateSinglePattern#
1D or 2D integration of a single diffraction pattern.
- Identifier:
ewoksxrpd.tasks.integrate.IntegrateSinglePattern
- Task type:
class
- Required inputs:
detector, energy, geometry, image
- Optional inputs:
retry_timeout, maximum_persistent_workers, monitors, flatfield, reference, lima_url_template_args, retry_period, detector_config, darkcurrent, lima_url_template, fixed_integration_options, integration_options, references, monitor, mask, demo
- Outputs:
info, radial, radial_units, intensity, intensity_error, azimuthal, azimuthal_units
Integrate1D#
DEPRECATED. Use IntegrateSinglePattern instead.
- Identifier:
ewoksxrpd.tasks.integrate.Integrate1D
- Task type:
class
- Required inputs:
detector, energy, geometry, image
- Optional inputs:
flatfield, reference, lima_url_template_args, retry_period, fixed_integration_options, integration_options, monitor, demo, retry_timeout, maximum_persistent_workers, monitors, detector_config, darkcurrent, lima_url_template, references, mask
- Outputs:
x, xunits, yerror, intensity, intensity_error, info, radial, radial_units, y, azimuthal, azimuthal_units
Integrate1DList#
1D integration of a list of diffraction patterns.
- Identifier:
ewoksxrpd.tasks.integrate.Integrate1DList
- Task type:
class
- Required inputs:
geometry, detector, output_file, energy, images
- Optional inputs:
retry_timeout, maximum_persistent_workers, monitors, flatfield, flush_period, entry_name, lima_url_template_args, retry_period, detector_config, darkcurrent, reference, lima_url_template, fixed_integration_options, integration_options, mask, demo
- Outputs:
output_uri
IntegrateBlissScan#
1D or 2D integration of a single detector in a single Bliss scan with saving.
- Identifier:
ewoksxrpd.tasks.integrate.IntegrateBlissScan
- Task type:
class
- Required inputs:
scan, detector_name, geometry, detector, filename, energy, output_filename
- Optional inputs:
nxprocess_name, flatfield, reference, flush_period, lima_url_template_args, retry_period, counter_names, nxmeasurement_name, fixed_integration_options, external_output_filename, integration_options, nxprocess_as_default, demo, retry_timeout, maximum_persistent_workers, monitors, subscan, detector_config, darkcurrent, lima_url_template, monitor_name, references, scan_memory_url, mask
- Outputs:
nxdata_url
IntegrateBlissScanWithoutSaving#
1D or 2D integration of a single detector in a single Bliss scan without saving.
- Identifier:
ewoksxrpd.tasks.integrate.IntegrateBlissScanWithoutSaving
- Task type:
class
- Required inputs:
scan, detector_name, geometry, detector, filename, energy
- Optional inputs:
flatfield, reference, lima_url_template_args, retry_period, counter_names, fixed_integration_options, integration_options, demo, retry_timeout, maximum_persistent_workers, monitors, subscan, detector_config, darkcurrent, lima_url_template, monitor_name, references, scan_memory_url, mask
- Outputs:
info, radial, radial_units, intensity, intensity_error, azimuthal, azimuthal_units
MultiConfigIntegrateSinglePattern#
Multiple integrations of a single diffraction pattern with different configurations
- Identifier:
ewoksxrpd.tasks.integrate.MultiConfigIntegrateSinglePattern
- Task type:
class
- Required inputs:
image, geometry, detector, configs, energy
- Optional inputs:
retry_timeout, maximum_persistent_workers, monitors, flatfield, reference, lima_url_template_args, retry_period, detector_config, darkcurrent, lima_url_template, fixed_integration_options, integration_options, references, monitor, mask, demo
- Outputs:
info, radial, radial_units, intensity, intensity_error, azimuthal, azimuthal_units
MultiConfigIntegrate1D#
DEPRECATED. Use MultiConfigIntegrateSinglePattern instead.
- Identifier:
ewoksxrpd.tasks.integrate.MultiConfigIntegrate1D
- Task type:
class
- Required inputs:
image, geometry, detector, configs, energy
- Optional inputs:
flatfield, reference, lima_url_template_args, retry_period, fixed_integration_options, integration_options, monitor, demo, retry_timeout, maximum_persistent_workers, monitors, detector_config, darkcurrent, lima_url_template, references, mask
- Outputs:
x, xunits, yerror, intensity, intensity_error, info, radial, radial_units, y, azimuthal, azimuthal_units
MaskDetection#
The pixels with the same ratio as the monitor ratio within an error margin are considered “good pixels”. The others are masked off.
The error margin `monitor_ratio_margin` is a fraction of the monitor ratio (0.1 by default).
Masked pixels have value `1`. The mask can be smoothed with `smooth > 0` to avoid border effects.
.. code:
monitor_ratio = monitor_high / monitor_low
image_ratio = image_high / image_low
bad = abs(image_ratio - monitor_ratio) > monitor_ratio * monitor_ratio_margin
- Identifier:
ewoksxrpd.tasks.mask.MaskDetection
- Task type:
class
- Required inputs:
monitor1, image1, monitor2, image2
- Optional inputs:
retry_timeout, lima_url_template, monitor_ratio_margin, smooth, lima_url_template_args, retry_period
- Outputs:
mask
SaveNexusPattern1D#
Save single diffractogram in HDF5/NeXus format
- Identifier:
ewoksxrpd.tasks.nexus.SaveNexusPattern1D
- Task type:
class
- Required inputs:
url, xunits, x, y
- Optional inputs:
retry_timeout, yerror, metadata, nxprocess_name, bliss_scan_url, lima_url_template_args, retry_period, nxmeasurement_name, header, lima_url_template, external_url, nxprocess_as_default
- Outputs:
saved
SaveNexusIntegrated#
Save 1D or 2D integration diffraction patterns in HDF5/NeXus format
- Identifier:
ewoksxrpd.tasks.nexus.SaveNexusIntegrated
- Task type:
class
- Required inputs:
url, radial, intensity, radial_units
- Optional inputs:
retry_timeout, metadata, nxprocess_name, bliss_scan_url, lima_url_template_args, retry_period, nxmeasurement_name, intensity_error, info, lima_url_template, external_url, nxprocess_as_default, azimuthal_units, azimuthal
- Outputs:
saved
SaveNexusMultiPattern1D#
- Identifier:
ewoksxrpd.tasks.nexus.SaveNexusMultiPattern1D
- Task type:
class
- Required inputs:
url, xunits, x_list, y_list
- Optional inputs:
retry_timeout, metadata, nxprocess_name, bliss_scan_url, lima_url_template_args, retry_period, nxmeasurement_name, lima_url_template, external_url, yerror_list, header_list, nxprocess_as_default
- Outputs:
saved
PyFaiConfig#
Parse pyFAI calibration and integration parameters
- Identifier:
ewoksxrpd.tasks.pyfaiconfig.PyFaiConfig
- Task type:
class
- Required inputs:
- Optional inputs:
filenames, flatfield, detector, darkcurrent, detector_config, calibrant, geometry, integration_options, darkflatmethod, filename, energy, mask
- Outputs:
flatfield, detector_config, darkcurrent, calibrant, geometry, integration_options, detector, energy, mask
SaveImages#
Save images with monitor and other metadata
- Identifier:
ewoksxrpd.tasks.save_images.SaveImages
- Task type:
class
- Required inputs:
output_dir, image_uris
- Optional inputs:
ext
- Outputs:
output_paths
SumBlissScanImages#
Sum images of a single camera of a single Bliss scan
- Identifier:
ewoksxrpd.tasks.sum.SumBlissScanImages
- Task type:
class
- Required inputs:
scan, detector_name, filename, output_filename
- Optional inputs:
retry_timeout, subscan, lima_url_template_args, retry_period, output_process, lima_url_template, monitor_name, background_step, scan_memory_url
- Outputs:
output_uri, monitor
SumImages#
Sum images of a single camera from a Bliss scan file
For each scan, images are added in blocks of `block_size` images (one block with all images by default).
The result contains:
* the block sums when sum_type=per_scan or sum_type=both
* the sum of the block sums when sum_type=all_scans or sum_type=both
- Identifier:
ewoksxrpd.tasks.sum.SumImages
- Task type:
class
- Required inputs:
detector_name, filename, output_filename
- Optional inputs:
block_size, end_image, output_process, sum_type, start_scan, monitor_name, start_image, output_entry, end_scan
- Outputs:
output_uris, monitor_uris