Parameters#
Overview#
This document provides comprehensive documentation for all functions and parameters available in PyXplore. The software implements the WPEM (Whole Pattern Expectation Maximization) algorithm and extends its capabilities to various X-ray characterization techniques.
Core Functions#
1. WPEMsolver#
Module: EMBraggOpt.EMBraggSolver
Main solver for XRD profile refinement using the Expectation-Maximization algorithm. Performs whole-pattern fitting of powder diffraction data with probabilistic peak modeling.
Key Features:
Iterative refinement of lattice parameters
Automatic peak shape optimization
Multi-phase analysis capability
Statistical uncertainty estimation
2. Background Processing Functions#
Module: Background.BacDeduct
TwiceFilter#
Applies adaptive filtering for background estimation and subtraction.
Algorithm: Implements iterative polynomial fitting with outlier rejection to separate background from diffraction peaks.
convert_file#
Converts various XRD data file formats to standardized CSV format.
Supported Formats: DAT, XRDML, and other common diffractometer output formats.
read_xrdml#
Specialized parser for Panalytical XRDML format files.
Output: Extracts 2θ positions and intensity values with metadata preservation.
3. Amorphous_fitting#
Module: Amorphous.fitting.AmorphousFitting
Fitting routine for extracting and quantifying amorphous phase contributions in diffraction patterns.
Method: Employs Gaussian mixture models to separate broad amorphous scattering from sharp crystalline peaks.
4. RadialDistribution#
Module: Amorphous.QuantitativeCalculation.AmorphousRDF
Calculates the radial distribution function (RDF) and pair distribution function (PDF) for amorphous and nanocrystalline materials.
Applications:
Local structure characterization
Nearest-neighbor distance determination
Coordination number analysis
5. Decomposedpeaks#
Module: DecomposePlot.plot
Visualization tool for decomposed diffraction peak contributions.
Output: Generates publication-quality plots showing individual peak components and overall fit.
6. XRD_profile#
Module: XRDSimulation.Simulation
Simulates theoretical XRD patterns from crystal structure information.
Input: CIF files or manual structure specification Output: Calculated diffraction pattern with peak positions and intensities
7. profile#
Module: Extinction.XRDpre
Advanced XRD profile generation with systematic absence handling.
Features:
Space group symmetry consideration
Extinction rule application
Multiplicity factor calculation
8. BgolearnOpt#
Module: StructureOpt.SiteOpt
Optimization algorithm for substitutional site determination in solid solutions.
Method: Bayesian optimization approach for exploring compositional space and site occupancy.
9. XPSsolver#
Module: WPEMXPS.XPSEM
Expectation-Maximization solver adapted for X-ray photoelectron spectroscopy data.
Capabilities:
Multi-peak deconvolution
Chemical state identification
Quantitative elemental analysis
10. EXAFS#
Module: WPEMXAS.EXAFS
Extended X-ray Absorption Fine Structure analysis module.
Analysis Pipeline:
Background removal and normalization
Fourier transform to R-space
Wavelet transform analysis
Coordination shell fitting
11. CrystalGraph#
Module: GraphStructure.graph
Generates graph-based representations of crystal structures for machine learning applications.
Output: Adjacency matrices and node features for crystal structure graphs
Software Information#
Software Name: PyXplore / WPEM Version: Dynamic (check repository for latest release) License: See repository for licensing information Citation: Please cite relevant publications when using this software (see references.bib)
Detailed Function Parameters#
XRDfit#
Main function for XRD pattern refinement using the WPEM algorithm.
Input Parameters:#
wavelength(list of float): X-ray wavelengths in Ångströms. For Cu Kα radiation, use [1.54056, 1.54439] for Kα1 and Kα2 components.Var(float): Statistical variance of the background noise. Used for weighting in the EM algorithm. Typically estimated from background regions.Lattice_constants(list or array): Initial lattice parameters for refinement. Format depends on crystal system:Cubic: [a]
Tetragonal: [a, c]
Orthorhombic: [a, b, c]
Hexagonal: [a, c]
Monoclinic: [a, b, c, β]
Triclinic: [a, b, c, α, β, γ]
no_bac_intensity_file(str): Path to background-subtracted intensity data file (CSV format).original_file(str): Path to original experimental data file.background_file(str): Path to fitted background data file.two_theta_range(list): Angular range for analysis [2θ_min, 2θ_max] in degrees.density_list(list, optional): Crystal densities in g/cm³ for each phase. Used for quantitative phase analysis.MODEL(str): Analysis mode'REFINEMENT': Full parameter refinement'ANALYSIS': Fixed parameters, intensity analysis only
Returns:#
Dictionary containing:
Refined lattice constants with uncertainties
R-factor (goodness-of-fit metric)
Weighted profile R-factor (Rwp)
Execution time and convergence information
BackgroundFit#
Automated background subtraction using adaptive filtering.
Input Parameters:#
intensity_csv(str): Path to input XRD data file containing 2θ and intensity columns.LFctg(float): Low-frequency cutoff for Fourier filtering. Controls the smoothness of background estimation.lowAngleRange(list): Angular range [2θ_min, 2θ_max] for low-angle background estimation.bac_num(int): Number of background points to automatically select.bac_split(int): Number of segments for piecewise background fitting.window_length(int): Window size for Savitzky-Golay filter (must be odd).polyorder(int): Polynomial order for Savitzky-Golay filter.mode(str): Filtering mode (‘interp’, ‘nearest’, ‘mirror’, etc.).
Returns:#
Dictionary containing background statistics and file paths to generated background files.
FileTypeConvert#
Utility function for converting diffractometer data files to standardized format.
Input Parameters:#
file_name(str): Path to source data file.file_type(str): Input file format identifier'dat': Generic two-column ASCII format'xrdml': Panalytical XRDML format
Returns:#
Pandas DataFrame with standardized columns (2θ, Intensity).
Amorphous_fit#
Fitting routine for amorphous phase quantification.
Input Parameters:#
mix_component(int): Number of Gaussian components for modeling amorphous hump(s). Typically 1-3.amor_file(str): Path to data file containing amorphous signal.ang_range(list): Angular range [2θ_min, 2θ_max] for amorphous fitting.
Returns:#
Fitted parameters for each amorphous component (position, width, amplitude) and total amorphous fraction.
CryGraph#
Crystal structure graph generation for machine learning applications.
Input Parameters:#
folder_path(str): Directory path containing CIF files for processing.BK_boundary_condition(bool): Whether to apply Born-von Karman periodic boundary conditions for graph construction.
Returns:#
Graph representations with node features (atomic properties) and edge features (bond information).
Utility Functions#
AmorphousRDFun#
Computes radial distribution function (RDF) from amorphous scattering data.
Application: Quantitative analysis of short-range order in amorphous materials.
Plot_Components#
Generates visualization of decomposed diffraction peak contributions.
Output: Multi-panel plots showing individual phase contributions and residuals.
XRDSimulation#
Simulates theoretical XRD patterns from crystal structure files.
Input: CIF files Output: Calculated diffraction patterns with kinematic intensities
CIFpreprocess#
Parses and validates CIF files for subsequent analysis.
Features: Symmetry expansion, atomic position validation, space group verification.
SubstitutionalSearch#
Bayesian optimization for determining substitutional site occupancies in solid solutions.
Method: Explores compositional space to match experimental lattice parameters.
XPSfit#
Peak fitting for X-ray photoelectron spectroscopy data.
Capabilities: Multi-peak deconvolution with Shirley or Tougaard background subtraction.
EXAFSfit#
Extended X-ray absorption fine structure analysis.
Analysis: Coordination shell fitting, bond distance determination, Debye-Waller factor extraction.