PdfGetXSaveNexus#

PdfGetXSaveNexus persists PDF results into an NXprocess structure that lives alongside the original NXdata signal.
This ensures the workflow outputs remain compatible with downstream NeXus-aware tools.

Inputs#

  • nxdata_url: Target NXdata location expressed as silx://.../file.h5::/entry/.../.

  • results: List of PDFGetter instances (see PdfGetXProcessor).

  • pdfgetx_options: Effective PDFConfig used during processing.

  • info: Metadata dictionary containing nb_avg.

  • subscan (optional): Reserved hook for multi-scan acquisitions.

Outputs#

  • output_url: URL pointing to the newly created NXprocess group.

Stored structure#

For each signal type (iq, sq, fq, gr) the task creates an NXdata subgroup with:

  • datasets for the signal and its axis,

  • units and display metadata,

  • the default axis/signal attributes set for plotting tools.

It also writes the PDFgetX configuration and averaging metadata as NXnotes (configuration and averaging_options).

from ewokspdf.tasks.save_nexus import PdfGetXSaveNexus

task = PdfGetXSaveNexus()
task(nxdata_url="silx:///data/results.h5::/entry/1.1/",
     results=processor.outputs.results,
     pdfgetx_options=processor.outputs.pdfgetx_options,
     info=processor.outputs.info)

print(task.outputs.output_url)  # e.g. silx:///data/results.h5::/entry/.../detector_PDF