pxrd op• Data kinds: any → table
• Call: import fullseye as fs; fs.ledger.cif_read(cif, name=None, default_b=0.5) (to call the implementation directly, import pxrd; pxrd.cif_read(cif, name=None, default_b=0.5); from the registry, opsdrive.get("cif_read"))
Reads a CIF (the standard format for crystal structures) and returns a "phase" expanded to all atoms in the unit cell.
cif is a file path or the CIF text (a string; treated as text if it contains data_ or _cell_length_a). What is read: _cell_length_a/b/c, _cell_angle_alpha/beta/gamma, the symmetry-operation loop (_space_group_symop_operation_xyz or _symmetry_equiv_pos_as_xyz; identity only if absent), the atom loop (_atom_site_fract_x/y/z, _atom_site_type_symbol (if absent, the element symbol at the start of the label), _atom_site_occupancy (default 1), _atom_site_U_iso_or_equiv or _atom_site_B_iso_or_equiv (if absent, default_b [Ų])). Parenthesised numeric uncertainties (4.76050(5)) are dropped. Symmetry operations are read with a small home-made parser, without eval.
Return value (dict, phase): name, cell (a, b, c [Å], α, β, γ [deg]), volume [ų], atoms (list of atoms after expansion:
type, xyz, occ, B), cell_mass [g/mol], density [g/cm³], notes (ions substituted by neutral atoms etc.), source (DOI and COD number if present). Input to powder_reflections and phase_dictionary.
Raises ValueError: lattice constants missing / not numeric, symmetry operations unreadable, no atoms, element without scattering factors.
• Sample-data catalog (download URLs / licences) — 2-D uses skimage.data (BSD/public domain) plus synthetic images; 3-D lists download URLs for real data sources (Stanford, PDS, …).
• Operator provenance and references — the sources of the research/methods this op family came from.
• The canonical algorithm (author, year) and its uses are named in the family usage guide above.
• poc_pxrd_phase_peel — py -3.11 examples/poc_pxrd_phase_peel.py
table as input)course_layout · course_occupancy · course_contains · world_build · world_camera · world_move · lidar_scan · rss_longitudinal_same
pxrd)cubic_prototype · powder_reflections · scherrer_size · debye_ring_image · detector_two_theta · detector_calibrate · azimuthal_integrate · diffraction_peaks
*Provenance: pxrd.py — DRIVE operator registry. This per-op note is generated by tools/opdocs.py md (do not hand-edit).*
© 2026 Kazufumi Furuse — Fullseye operator documentation. Licensed under Apache-2.0.