# 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 by `IntegrateBlissScan`. - `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 on `average_every`. - `info`: Dictionary of metadata mirrored from the source file (including `nb_avg`, `radial_units`, and `wavelength`). ## Behaviour - When `average_every="all"` the task returns a single averaged profile and updates `info["nb_avg"]` with the total number of frames. - When `average_every=1` the 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"]`. ```python 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 ```