Ewoks Tasks#

SaveAsciiPattern1D#

Save single diffractogram in ASCII format

Identifier:
ewoksxrpd.tasks.ascii.SaveAsciiPattern1D
Task type:
class
Inputs:
filename*
x*
xunits*
y*
header
metadata
yerror
Outputs:
saved

SaveAsciiMultiPattern1D#

Identifier:
ewoksxrpd.tasks.ascii.SaveAsciiMultiPattern1D
Task type:
class
Inputs:
filenames*
x_list*
xunits_list*
y_list*
header_list
metadata_list
yerror_list
Outputs:
saved

SaveNexusPatternsAsAscii#

Convert azimuthal integration results from NeXus to ASCII files

One ASCII file is created for each integration pattern in nxdata_url. ASCII files are named from the output_filename_template and the pattern index.

If output_archive_filename is provided, all ASCII files are stored in a single ZIP file. In this case, output_filename_template is the template path of ASCII files inside the ZIP file.

Required inputs: - nxdata_url (str): The url of the NXData group storing the azimuthal integration results - output_filename_template (str): A string template containing one ‘%d’ field.

It is used to generate the filename from the frame number.

Optional inputs: - header (dict): Information to store in ASCII file header (default: {}) - enabled (bool): True to enable saving as ASCII files, False to skip task (default: True) - output_archive_filename (str): Filename of the ZIP file containing all ASCII files.

If this is None (default) or the empty string, ZIP compression is disabled.

  • overwrite (bool): True to allow overwriting existing ASCII/ZIP files (default: False)

  • sector_suffix_template (str): A string template containing one ‘%d’ field. Used to generate the string appended at the end of the filename showing the sector number. Defaults to “sector%04d”. Only used if 2D integrated patterns are present.

Outputs: - filenames (tuple[str]): The names of the created ASCII files or ZIP file

Identifier:
ewoksxrpd.tasks.ascii.SaveNexusPatternsAsAscii
Task type:
class
Inputs:
nxdata_url*
output_filename_template*
enabled
header
lima_url_template
lima_url_template_args
output_archive_filename
overwrite
prioritize_non_native_h5items
retry_period
retry_timeout
sector_suffix_template
Outputs:
filenames

SubtractBackground#

Background removal with normalization

Identifier:
ewoksxrpd.tasks.background.SubtractBackground
Task type:
class
Inputs:
background*
background_monitor*
image*
monitor*
lima_url_template
lima_url_template_args
prioritize_non_native_h5items
retry_period
retry_timeout
Outputs:
image
monitor

LastLimaImage#

Get the last Lima image from Redis

Identifier:
ewoksxrpd.tasks.bliss.LastLimaImage
Task type:
class
Inputs:
db_name*
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
Inputs:
calibrant*
detector*
energy*
geometry*
image*
detector_config
fixed
lima_url_template
lima_url_template_args
max_rings
prioritize_non_native_h5items
retry_period
retry_timeout
ring_detector
robust
Outputs:
chi2
detector
detector_config
energy
geometry
rings

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.

energy, geometry = parametrization(parameters, position)
Identifier:
ewoksxrpd.tasks.calibrate.CalibrateMulti
Task type:
class
Inputs:
calibrant*
detector*
energy*
geometry*
images*
positions*
detector_config
fixed
lima_url_template
lima_url_template_args
max_rings
positionunits_in_meter
prioritize_non_native_h5items
reference_position
retry_period
retry_timeout
robust
sample_position
Outputs:
chi2
detector
detector_config
energy
geometry
parameters
parametrization
rings

CalculateGeometry#

Calculate energy and geometry from pyFAI parametrization

Identifier:
ewoksxrpd.tasks.calibrate.CalculateGeometry
Task type:
class
Inputs:
parameters*
parametrization*
position*
lima_url_template
lima_url_template_args
prioritize_non_native_h5items
retry_period
retry_timeout
Outputs:
energy
geometry

DiagnoseCalibrateSingleResults#

Quality of a single-distance pyFAI calibration

Identifier:
ewoksxrpd.tasks.diagnostics.DiagnoseCalibrateSingleResults
Task type:
class
Inputs:
calibrant*
detector*
energy*
geometry*
image*
detector_config
dpi
figsize
filename
fontsize
lima_url_template
lima_url_template_args
pause
prioritize_non_native_h5items
retry_period
retry_timeout
rings
scaling
show
Outputs:
saved

DiagnoseCalibrateMultiResults#

Quality of a multi-distance pyFAI calibration

Identifier:
ewoksxrpd.tasks.diagnostics.DiagnoseCalibrateMultiResults
Task type:
class
Inputs:
calibrant*
detector*
images*
parameters*
parametrization*
positions*
detector_config
dpi
figsize
filename
fontsize
lima_url_template
lima_url_template_args
pause
prioritize_non_native_h5items
retry_period
retry_timeout
rings
scaling
show
Outputs:
saved

DiagnoseIntegrate1D#

Quality of a pyFAI integration

Identifier:
ewoksxrpd.tasks.diagnostics.DiagnoseIntegrate1D
Task type:
class
Inputs:
x*
xunits*
y*
calibrant
dpi
energy
figsize
filename
fontsize
lima_url_template
lima_url_template_args
pause
prioritize_non_native_h5items
retry_period
retry_timeout
scaling
show
yerror
Outputs:
saved

IntegrateSinglePattern#

1D or 2D integration of a single diffraction pattern.

Identifier:
ewoksxrpd.tasks.integrate.IntegrateSinglePattern
Task type:
class
Inputs:
detector*
energy*
geometry*
image*
darkcurrent
demo
detector_config
fixed_integration_options
flatfield
frame_band_index
integration_options
lima_url_template
lima_url_template_args
mask
maximum_persistent_workers
monitor
monitors
prioritize_non_native_h5items
reference
references
retry_period
retry_timeout
Outputs:
azimuthal
azimuthal_units
info
intensity
intensity_error
radial
radial_units

Integrate1D#

DEPRECATED. Use IntegrateSinglePattern instead.

Identifier:
ewoksxrpd.tasks.integrate.Integrate1D
Task type:
class
Inputs:
detector*
energy*
geometry*
image*
darkcurrent
demo
detector_config
fixed_integration_options
flatfield
frame_band_index
integration_options
lima_url_template
lima_url_template_args
mask
maximum_persistent_workers
monitor
monitors
prioritize_non_native_h5items
reference
references
retry_period
retry_timeout
Outputs:
azimuthal
azimuthal_units
info
intensity
intensity_error
radial
radial_units
x
xunits
y
yerror

Integrate1DList#

1D integration of a list of diffraction patterns.

Identifier:
ewoksxrpd.tasks.integrate.Integrate1DList
Task type:
class
Inputs:
detector*
energy*
geometry*
images*
output_file*
darkcurrent
demo
detector_config
entry_name
fixed_integration_options
flatfield
flush_period
frame_band_index
integration_options
lima_url_template
lima_url_template_args
mask
maximum_persistent_workers
monitors
prioritize_non_native_h5items
reference
retry_period
retry_timeout
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
Inputs:
detector*
detector_name*
energy*
filename*
geometry*
output_filename*
scan*
counter_names
darkcurrent
demo
detector_config
external_output_filename
fixed_integration_options
flatfield
flush_period
frame_band_index
integration_options
lima_url_template
lima_url_template_args
mask
maximum_persistent_workers
monitor_name
monitors
nxmeasurement_name
nxprocess_as_default
nxprocess_name
overwrite
prioritize_non_native_h5items
reference
references
retry_period
retry_timeout
scan_memory_url
subscan
Outputs:
info
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
Inputs:
detector*
detector_name*
energy*
filename*
geometry*
scan*
counter_names
darkcurrent
demo
detector_config
fixed_integration_options
flatfield
frame_band_index
integration_options
lima_url_template
lima_url_template_args
mask
maximum_persistent_workers
monitor_name
monitors
prioritize_non_native_h5items
reference
references
retry_period
retry_timeout
scan_memory_url
subscan
Outputs:
azimuthal
azimuthal_units
info
intensity
intensity_error
radial
radial_units

MultiConfigIntegrateSinglePattern#

Multiple integrations of a single diffraction pattern with different configurations

Identifier:
ewoksxrpd.tasks.integrate.MultiConfigIntegrateSinglePattern
Task type:
class
Inputs:
configs*
detector*
energy*
geometry*
image*
darkcurrent
demo
detector_config
fixed_integration_options
flatfield
frame_band_index
integration_options
lima_url_template
lima_url_template_args
mask
maximum_persistent_workers
monitor
monitors
prioritize_non_native_h5items
reference
references
retry_period
retry_timeout
Outputs:
azimuthal
azimuthal_units
info
intensity
intensity_error
radial
radial_units

MultiConfigIntegrate1D#

DEPRECATED. Use MultiConfigIntegrateSinglePattern instead.

Identifier:
ewoksxrpd.tasks.integrate.MultiConfigIntegrate1D
Task type:
class
Inputs:
configs*
detector*
energy*
geometry*
image*
darkcurrent
demo
detector_config
fixed_integration_options
flatfield
frame_band_index
integration_options
lima_url_template
lima_url_template_args
mask
maximum_persistent_workers
monitor
monitors
prioritize_non_native_h5items
reference
references
retry_period
retry_timeout
Outputs:
azimuthal
azimuthal_units
info
intensity
intensity_error
radial
radial_units
x
xunits
y
yerror

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.

Identifier:
ewoksxrpd.tasks.mask.MaskDetection
Task type:
class
Inputs:
image1*
image2*
monitor1*
monitor2*
lima_url_template
lima_url_template_args
monitor_ratio_margin
prioritize_non_native_h5items
retry_period
retry_timeout
smooth
Outputs:
mask

Integrate2DMultiGeometry#

Identifier:
ewoksxrpd.tasks.multi_geometry_integrate.Integrate2DMultiGeometry
Task type:
class
Inputs:
goniometer_file*
images*
positions*
darkcurrent
fixed_integration_options
flatfield
integration_options
lima_url_template
lima_url_template_args
mask
prioritize_non_native_h5items
retry_period
retry_timeout
Outputs:
azimuthal
azimuthal_units
info
intensity
intensity_error
radial
radial_units

SaveNexusPattern1D#

Save single diffractogram in HDF5/NeXus format

Identifier:
ewoksxrpd.tasks.nexus.SaveNexusPattern1D
Task type:
class
Inputs:
url*
x*
xunits*
y*
bliss_scan_url
external_url
header
lima_url_template
lima_url_template_args
metadata
nxmeasurement_name
nxprocess_as_default
nxprocess_name
prioritize_non_native_h5items
retry_period
retry_timeout
yerror
Outputs:
saved

SaveNexusIntegrated#

Save 1D or 2D integration diffraction patterns in HDF5/NeXus format

Identifier:
ewoksxrpd.tasks.nexus.SaveNexusIntegrated
Task type:
class
Inputs:
intensity*
radial*
radial_units*
url*
azimuthal
azimuthal_units
bliss_scan_url
external_url
info
intensity_error
lima_url_template
lima_url_template_args
metadata
nxmeasurement_name
nxprocess_as_default
nxprocess_name
prioritize_non_native_h5items
retry_period
retry_timeout
Outputs:
saved

SaveNexusMultiPattern1D#

Identifier:
ewoksxrpd.tasks.nexus.SaveNexusMultiPattern1D
Task type:
class
Inputs:
url*
x_list*
xunits*
y_list*
bliss_scan_url
external_url
header_list
lima_url_template
lima_url_template_args
metadata
nxmeasurement_name
nxprocess_as_default
nxprocess_name
prioritize_non_native_h5items
retry_period
retry_timeout
yerror_list
Outputs:
saved

PyFaiConfig#

Parse pyFAI calibration and integration parameters.

Optional inputs: - energy (float|None): Energy in KeV (priority 1) - geometry (dict|None): pyFAI geometry information (priority 1) - detector (str|None): Name of the detector (priority 1) - detector_config (dict|None): Configuration of the detector (priority 1) - mask (str|numpy.ndarray|None): Filename or data of the detector mask (priority 1) - flatfield (str|numpy.ndarray|None): Filename or data of the detector flat-field (priority 1) - darkcurrent (str|numpy.ndarray|None): Filename or data of the detector dark-current (priority 1) - integration_options (dict|None): Extra pyFAI worker or integration parameters (priority 2) - filenames (Sequence[str]|None): PyFAI poni or json file name (priority 3, last file has highest priority) - filename (str|None): PyFAI poni or json file name (priority 4) - calibrant (str|None): Calibrant name - darkflatmethod (str|None): Dark and flat-field correction method

Outputs: - energy (float): Energy in KeV - geometry (dict): pyFAI geometry information - detector (str): Name of the detector - detector_config (dict): Configuration of the detector - mask (str|numpy.ndarray|None): Filename or data of the detector mask - flatfield (str|numpy.ndarray|None): Filename or data of the detector flat-field - darkcurrent (str|numpy.ndarray|None): Filename or data of the detector dark-current - integration_options (dict): Extra pyFAI worker or integration parameters - calibrant (str|None): Calibrant name

Identifier:
ewoksxrpd.tasks.pyfaiconfig.PyFaiConfig
Task type:
class
Inputs:
calibrant
darkcurrent
darkflatmethod
detector
detector_config
energy
filename
filenames
flatfield
geometry
integration_options
mask
show_merge_warnings
Outputs:
calibrant
darkcurrent
detector
detector_config
energy
flatfield
geometry
integration_options
mask

SavePyFaiConfig#

Save inputs as pyFAI calibration and integration configuration file (.json)

The configuration is saved as a JSON file following pyFAI configuration format.

Required inputs: - output_filename (str): Name of the file where to save pyFAI configuration. Must include the extension - energy (float): Energy in KeV - geometry (dict): pyFAI geometry information (poni) - detector (str): Name of the detector

Optional inputs: - mask (str): Filename of the mask to used - detector_config (dict): Configuration of the detector - integration_options (dict): Extra configuration fields

Outputs: - filename (str): Saved filename, same as output_filename

Identifier:
ewoksxrpd.tasks.pyfaiconfig.SavePyFaiConfig
Task type:
class
Inputs:
detector*
energy*
geometry*
output_filename*
detector_config
integration_options
mask
Outputs:
filename

SavePyFaiPoniFile#

Save inputs as pyFAI PONI file

Required inputs: - output_filename (str): Name of the file where to save pyFAI PONI. Must include extension. - energy (float): Energy in KeV - geometry (dict): pyFAI geometry information (poni) - detector (str): Name of the detector

Optional inputs: - detector_config (dict): Configuration of the detector

Outputs: - filename (str): Saved filename, same as output_filename

Identifier:
ewoksxrpd.tasks.pyfaiconfig.SavePyFaiPoniFile
Task type:
class
Inputs:
detector*
energy*
geometry*
output_filename*
detector_config
Outputs:
filename

SaveImages#

Save images with monitor and other metadata

Identifier:
ewoksxrpd.tasks.save_images.SaveImages
Task type:
class
Inputs:
image_uris*
output_dir*
ext
Outputs:
output_paths

SubtractBackgroundPattern#

Subtract an integrated pattern from patterns stored in NeXus and saves the result in a new NeXus process group

If errors are available in the background and in the input data, errors are propagated and saved as well.

Identifier:
ewoksxrpd.tasks.subtract_pattern.SubtractBackgroundPattern
Task type:
class
Inputs:
background_nxdata_url*
nxdata_url*
output_nxprocess_url*
background_factor
enabled
external_nxprocess_url
lima_url_template
lima_url_template_args
prioritize_non_native_h5items
retry_period
retry_timeout
Outputs:
nxdata_url

SumBlissScanImages#

Sum images of a single camera of a single Bliss scan

Identifier:
ewoksxrpd.tasks.sum.SumBlissScanImages
Task type:
class
Inputs:
detector_name*
filename*
output_filename*
scan*
background_step
lima_url_template
lima_url_template_args
monitor_name
output_process
prioritize_non_native_h5items
retry_period
retry_timeout
scan_memory_url
subscan
Outputs:
monitor
output_uri

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
Inputs:
detector_name*
filename*
output_filename*
block_size
end_image
end_scan
monitor_name
output_entry
output_process
start_image
start_scan
sum_type
Outputs:
monitor_uris
output_uris