# PdfGetXProcessor `PdfGetXProcessor` is the core numerical task: it feeds the averaged intensity profiles into PDFgetX3 and collects the requested scattering functions. ## Inputs - `radial`: `numpy.ndarray` describing the scattering axis (Q or r). - `intensity`: Either a single profile (`ndim == 1`) or a stack of profiles (`ndim == 2`). - `info`: Metadata dictionary propagated from the averaging stage (`wavelength`, `nb_avg`, etc.). - `pdfgetx_options`: Prepared `PDFConfig` object (see `PdfGetXConfig`). ## Outputs - `results`: List of `PDFGetter` instances (one per processed profile). Each instance exposes attributes such as `.iq`, `.sq`, `.fq`, and `.gr`. - `info`: The same metadata dictionary received as input. - `pdfgetx_options`: The effective configuration, returned for downstream consumers (e.g. exporters). ## Notes - `diffpy.pdfgetx` must be installed; otherwise the task raises an informative import error. - Multiple frames are processed sequentially with a single `PDFGetter` instance whose state is copied after each run. ```python from ewokspdf.tasks.processor import PdfGetXProcessor processor = PdfGetXProcessor() processor(radial=radial_array, intensity=intensity_array, info=metadata, pdfgetx_options=cfg) results = processor.outputs.results # list of PDFGetter copies fq = results[0].fq # (Q, F(Q)) tuple ```