PdfGetXProcessor#
PdfGetXProcessor is the core numerical task: it feeds the averaged intensity profiles into PDFgetX3 and collects the requested scattering functions.
Inputs#
radial:numpy.ndarraydescribing 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: PreparedPDFConfigobject (seePdfGetXConfig).
Outputs#
results: List ofPDFGetterinstances (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.pdfgetxmust be installed; otherwise the task raises an informative import error.Multiple frames are processed sequentially with a single
PDFGetterinstance whose state is copied after each run.
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