# PdfGetXConfig `PdfGetXConfig` prepares a `diffpy.pdfgetx.PDFConfig` object that captures all parameters required by PDFgetX3. ## Inputs - `filename` (optional): Path to a PDFgetX configuration file (`.cfg`). Lower priority than dictionary overrides. - `pdfgetx_options_dict` (optional): Partial dictionary of configuration values (e.g. `{"qmax": 23.0}`). Either input can be omitted, but at least one must be provided to obtain a meaningful configuration. ## Outputs - `pdfgetx_options`: Instance of `PDFConfig` ready to be handed to `PdfGetXProcessor`. ## Merge logic 1. Load options from `filename` when provided; otherwise start from the defaults returned by `pdfgetx.PDFConfig()`. 2. Apply each key/value from `pdfgetx_options_dict` on top of the loaded configuration (highest priority). This makes it straightforward to ship a baseline configuration file and inject beamline- or scan-specific overrides at runtime. ```python from ewokspdf.tasks.config import PdfGetXConfig task = PdfGetXConfig() task(filename="pdfgetx.cfg", pdfgetx_options_dict={"qmin": 1.0, "qmax": 25.0}) cfg = task.outputs.pdfgetx_options # diffpy.pdfgetx.PDFConfig ```