PdfGetXAverage#
PdfGetXAverage consumes the integrated XRPD signal stored in an NXdata group and produces one or more averaged intensity profiles.
When to use it#
Use this task as the entry point of the pipeline when you want to reduce noise on repeated scans prior to running PDFgetX3.
If you already have a single intensity curve you may skip the task and supply the radial, intensity, and info values directly to PdfGetXProcessor.
Inputs#
nxdata_url(required):silx://style URL pointing to the NXdata group exported byIntegrateBlissScan.average_every(optional): Number of frames to average. Accepts"all",1, or any positive integer divisor of the frame count.
Outputs#
radial: One-dimensional array containing the Q (or r) axis.intensity: Either a single profile or a stack of averaged profiles depending onaverage_every.info: Dictionary of metadata mirrored from the source file (includingnb_avg,radial_units, andwavelength).
Behaviour#
When
average_every="all"the task returns a single averaged profile and updatesinfo["nb_avg"]with the total number of frames.When
average_every=1the task forwards the data unchanged.For any other integer the task emits a stack of averaged profiles and records the chunk sizes in
info["nb_avg"].
from ewokspdf.tasks.average import PdfGetXAverage
task = PdfGetXAverage()
task(nxdata_url="silx:///data/sample.h5::/entry/integrate/data", average_every="all")
radial = task.outputs.radial # numpy.ndarray
intensity = task.outputs.intensity