MLINDEX models
Machine-learning models used by MLINDEX, a powder diffraction indexing program. Given a list of observed diffraction peaks, MLINDEX returns candidate unit cells ranked by the de Wolff M20 figure of merit. These models initialize the candidate unit cells for each Bravais lattice; the candidates are then refined by least-squares optimization.
Contents
One directory per lattice system, each holding the trained components for its Bravais lattices and split groups:
| Directory | Bravais lattices |
|---|---|
cubic_1/ |
cF, cI, cP |
hexagonal_1/ |
hP |
rhombohedral_1/ |
hR |
tetragonal_1/ |
tI, tP |
orthorhombic_1/ |
oC, oF, oI, oP |
monoclinic_1/ |
mC, mP |
triclinic_1/ |
aP |
Within each, random_forest/ and random/ hold random-forest volume predictors,
template/ holds the Miller-index template libraries and their calibrators, abnn/ holds the
quantized ONNX ABNN networks (an attention-based network that predicts unit cells from the peak
list), and data/ holds the hkl_ref_*.npy reference sets and training parameters.
Total: 739 files, 465 MB.
Usage
pip install mlindex
mlindex.download_models
mlindex.download_models fetches this repository at the revision pinned by your installed
mlindex version. No git or git-lfs required.
To fetch it directly:
from huggingface_hub import snapshot_download
snapshot_download("dwmoreau/mlindex-models", revision="v2", local_dir="models")
Revisions
Releases of mlindex pin a specific tag, so a given version always gets the exact weights it was tested against.
v2removes the 43 per-peak Miller-index assignment networks (104.7 MB), which a closed-form posterior replaced, and renamesintegral_filter/toabnn/. It needs an mlindex that looks forabnn/.v1corresponds to the models released with mlindex 0.1.x, which keep working against it.
Citation
Please check the GitHub repository for the current citation.
License
MIT, matching the MLINDEX source.