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