{
"cells": [
{
"cell_type": "markdown",
"id": "03-00",
"metadata": {},
"source": [
"# Peaks, indexing and a Le Bail check\n",
"\n",
"*Written by Claude Code, Anthropic's coding agent, for the rietx project.*\n",
"\n",
"When the phase is unknown there is no CIF to start from.\n",
"The cell has to come from the peak positions alone: find the peaks, then search for a cell that puts a reflection under each one.\n",
"That search is called indexing.\n",
"We index a synthetic pattern whose answer we know, read why rietx declines to name a single cell, and check the best candidate with a Le Bail fit.\n",
"\n",
"**You need** rietx 1.7 or later, which the next cell installs.\n",
"Notebook 01 introduces Le Bail fitting.\n",
"\n",
"**The data** is synthetic aragonite, CaCO₃, made from its published structure: Dal Negro and Ungaretti (1971), *American Mineralogist* 56, 768, as entry 9000229 of the Crystallography Open Database (public domain).\n",
"The displacement parameters are the isotropic equivalents of that entry's anisotropic ones.\n",
"\n",
"**Runtime** is under a minute on a laptop, most of it the indexing search."
]
},
{
"cell_type": "code",
"execution_count": null,
"id": "03-01",
"metadata": {},
"outputs": [],
"source": [
"%pip install rietx"
]
},
{
"cell_type": "markdown",
"id": "03-02",
"metadata": {},
"source": [
"## A synthetic pattern"
]
},
{
"cell_type": "code",
"execution_count": 1,
"id": "03-03",
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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",
"text/html": [
"


"
],
"text/plain": [
"<_NotebookFigure size 2280x1320 with 1 Axes>"
]
},
"execution_count": 1,
"metadata": {
"image/png": {
"width": 672
}
},
"output_type": "execute_result"
}
],
"source": [
"import tempfile\n",
"from pathlib import Path\n",
"\n",
"import numpy as np\n",
"\n",
"import rietx as rx\n",
"from rietx.indexing import SearchSpec, structure_from_candidate\n",
"\n",
"work = Path(tempfile.mkdtemp())\n",
"cif = work / \"aragonite.cif\"\n",
"cif.write_text(\n",
" \"data_aragonite\\n_space_group_name_H-M_alt 'P m c n'\\n\"\n",
" \"_cell_length_a 4.9616\\n_cell_length_b 7.9705\\n_cell_length_c 5.7394\\n\"\n",
" \"_cell_angle_alpha 90\\n_cell_angle_beta 90\\n_cell_angle_gamma 90\\n\"\n",
" \"loop_\\n_atom_site_label\\n_atom_site_type_symbol\\n_atom_site_fract_x\\n\"\n",
" \"_atom_site_fract_y\\n_atom_site_fract_z\\n_atom_site_B_iso_or_equiv\\n\"\n",
" \"Ca1 Ca 0.25 0.4151 0.2403 0.67\\n\"\n",
" \"C1 C 0.25 0.7627 0.0850 0.80\\n\"\n",
" \"O1 O 0.25 0.9231 0.0952 1.25\\n\"\n",
" \"O2 O 0.4729 0.6801 0.0870 1.19\\n\",\n",
" encoding=\"utf-8\")\n",
"truth = rx.Structure.from_cif(cif)\n",
"\n",
"true_instrument = rx.Instrument.bragg_brentano(radiation=\"CuKa\")\n",
"true_instrument.profile.w.value = 0.004\n",
"true_instrument.profile.x.value = 0.05\n",
"true_instrument.background = rx.BackgroundChebyshev.with_terms(1)\n",
"true_instrument.background.coefficients[0].value = 200.0\n",
"\n",
"two_theta = np.arange(10, 80, 0.02)\n",
"y = rx.Refinement(truth, true_instrument).predict(two_theta) - 200.0\n",
"truth.phases[0].scale.value *= 20000 / y.max() # strongest peak about 20 000 counts\n",
"y = rx.Refinement(truth, true_instrument).predict(two_theta)\n",
"data = rx.PatternData(two_theta=two_theta,\n",
" intensity=np.random.default_rng(0).poisson(y).astype(float))\n",
"data.plot()"
]
},
{
"cell_type": "markdown",
"id": "03-04",
"metadata": {},
"source": [
"From here on we pretend not to know the structure.\n",
"The true cell is a = 4.9616, b = 7.9705, c = 5.7394 Å, and the indexer should find it in some order of axes.\n",
"\n",
"## Find the peaks\n",
"\n",
"`pick_peaks` finds every resolvable peak and fits each one for its position, with an esd.\n",
"It needs an instrument for the wavelength and a first guess at the peak width.\n",
"We give it a default copper instrument, as you would for an unknown sample."
]
},
{
"cell_type": "code",
"execution_count": 2,
"id": "03-05",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"PeakList: 105 peaks, 59 usable, 10–79.98° 2θ, λ = 1.54059 Å, source fitted
| # | two_theta | two_theta_esd | intensity | fwhm | origin | flags |
|---|
| 0 | 21.0739 | 0.0024 | 31.4 | 0.101 | fitted | |
| 1 | 22.2946 | 0.0056 | 9.6 | 0.084 | fitted | |
| 2 | 26.2221 | 0.0003 | 2175.4 | 0.096 | fitted | asymmetry_unmodelled |
| 3 | 26.6192 | 0.0106 | 18.1 | 0.095 | fitted | asymmetry_unmodelled |
| 4 | 27.2200 | 0.0004 | 1241.7 | 0.095 | fitted | asymmetry_unmodelled |
| 5 | 31.1394 | 0.0016 | 92.8 | 0.110 | fitted | |
| 6 | 32.7501 | 0.0010 | 170.8 | 0.096 | fitted | asymmetry_unmodelled |
| 7 | 32.7600 | 0.0019 | 168.7 | 0.097 | fitted | position_at_bound, asymmetry_unmodelled, duplicate_line |
| 8 | 33.1523 | 0.0003 | 1066.9 | 0.096 | fitted | asymmetry_unmodelled |
| 9 | 33.1524 | 0.0006 | 1065.8 | 0.097 | fitted | asymmetry_unmodelled, duplicate_line |
| 10 | 36.1488 | 0.0006 | 946.2 | 0.125 | fitted | |
| 11 | 37.2578 | 0.0025 | 324.2 | 0.098 | fitted | duplicate_line |
| 12 | 37.2651 | 0.0011 | 298.2 | 0.100 | fitted | asymmetry_unmodelled |
| 13 | 37.8987 | 0.0335 | 953.5 | 0.117 | fitted | duplicate_line |
| 14 | 37.9064 | 0.0043 | 849.3 | 0.100 | fitted | asymmetry_unmodelled, duplicate_line |
| 15 | 37.9071 | 0.0004 | 870.7 | 0.097 | fitted | |
| 16 | 37.9074 | 0.0005 | 867.3 | 0.098 | fitted | asymmetry_unmodelled, duplicate_line |
| 17 | 38.3949 | 0.0069 | 554.1 | 0.117 | fitted | duplicate_line |
| 18 | 38.4024 | 0.0005 | 620.7 | 0.097 | fitted | |
| 19 | 38.4033 | 0.0007 | 644.1 | 0.098 | fitted | asymmetry_unmodelled, duplicate_line |
| 20 | 38.5784 | 0.0098 | 378.0 | 0.117 | fitted | position_at_bound, duplicate_line |
| 21 | 38.6312 | 0.0007 | 401.9 | 0.097 | fitted | |
| 22 | 41.1949 | 0.0008 | 270.7 | 0.094 | fitted | asymmetry_unmodelled |
| 23 | 42.9070 | 0.0008 | 426.4 | 0.100 | fitted | |
| 24 | 45.4833 | 0.0021 | 71.2 | 0.098 | fitted | |
| 25 | 45.5000 | 0.0038 | 70.0 | 0.099 | fitted | position_at_bound, asymmetry_unmodelled, duplicate_line |
| 26 | 45.8568 | 0.0015 | 1462.2 | 0.101 | fitted | asymmetry_unmodelled, duplicate_line |
| 27 | 45.8588 | 0.0003 | 1531.2 | 0.098 | fitted | |
| 28 | 45.8589 | 0.0005 | 1528.6 | 0.099 | fitted | asymmetry_unmodelled, duplicate_line |
| 29 | 46.0134 | 0.0137 | 39.2 | 0.101 | fitted | asymmetry_unmodelled, kalpha2_residual |
| 30 | 46.3251 | 0.1170 | 1.3 | 0.101 | fitted | position_at_bound, no_intensity, asymmetry_unmodelled |
| 31 | 48.3096 | 0.0007 | 639.6 | 0.100 | fitted | fit_failed |
| 32 | 48.3097 | 0.0007 | 632.9 | 0.100 | fitted | |
| 33 | 48.4600 | 0.0011 | 419.8 | 0.100 | fitted | position_at_bound |
| 34 | 48.4639 | 405.0436 | 130.1 | 0.100 | fitted | fit_failed, unresolved_shoulder, no_intensity, position_unmeasured, asymmetry_unmodelled, kalpha2_residual |
| 35 | 48.4639 | 186.4488 | 282.6 | 0.100 | fitted | fit_failed, unresolved_shoulder, no_intensity, position_unmeasured, asymmetry_unmodelled |
| 36 | 49.8839 | 0.0062 | 31.2 | 0.099 | fitted | asymmetry_unmodelled, duplicate_line |
| 37 | 49.8849 | 0.0060 | 32.7 | 0.100 | fitted | asymmetry_unmodelled |
| 38 | 50.2397 | 0.0007 | 621.6 | 0.100 | fitted | duplicate_line |
| 39 | 50.2398 | 0.0007 | 628.0 | 0.099 | fitted | asymmetry_unmodelled |
| 40 | 51.9129 | 0.0038 | 57.9 | 0.101 | fitted | asymmetry_unmodelled |
| 41 | 52.4908 | 0.0013 | 657.3 | 0.101 | fitted | asymmetry_unmodelled, duplicate_line |
| 42 | 52.4910 | 0.0019 | 671.8 | 0.098 | fitted | asymmetry_unmodelled, duplicate_line |
| 43 | 52.4911 | 0.0004 | 662.8 | 0.100 | fitted | |
| 44 | 52.9106 | 0.0012 | 143.9 | 0.100 | fitted | |
| 45 | 52.9111 | 0.0064 | 141.6 | 0.098 | fitted | asymmetry_unmodelled, duplicate_line |
| 46 | 52.9918 | 0.0297 | 490.7 | 0.240 | fitted | fit_failed, asymmetry_unmodelled |
| 47 | 53.0543 | 0.0007 | 298.4 | 0.100 | fitted | |
| 48 | 53.0549 | 0.0042 | 307.2 | 0.098 | fitted | asymmetry_unmodelled, duplicate_line |
| 49 | 53.3713 | 0.0168 | 9.2 | 0.110 | fitted | asymmetry_unmodelled |
| 50 | 53.9571 | 0.0025 | 45.8 | 0.110 | fitted | asymmetry_unmodelled |
| 51 | 56.1494 | 0.0017 | 55.1 | 0.102 | fitted | duplicate_line |
| 52 | 56.1494 | 0.0015 | 55.9 | 0.101 | fitted | |
| 53 | 56.2020 | 0.0125 | 19.7 | 0.083 | fitted | |
| 54 | 56.2973 | 0.0056 | 27.3 | 0.083 | fitted | |
| 55 | 56.4387 | 0.0040 | 18.1 | 0.101 | fitted | |
| 56 | 56.4391 | 0.0043 | 18.4 | 0.102 | fitted | duplicate_line |
| 57 | 56.7956 | 0.0208 | 23.9 | 0.102 | fitted | duplicate_line |
| 58 | 56.8086 | 0.0033 | 39.3 | 0.083 | fitted | asymmetry_unmodelled, duplicate_line |
| 59 | 56.8089 | 0.0021 | 35.6 | 0.101 | fitted | |
| 60 | 59.2447 | 0.0017 | 152.5 | 0.101 | fitted | asymmetry_unmodelled |
| 61 | 59.6004 | 0.0158 | 7.7 | 0.107 | fitted | |
| 62 | 60.2030 | 0.0029 | 35.9 | 0.107 | fitted | |
| 63 | 61.8198 | 0.0012 | 120.7 | 0.107 | fitted | |
| 64 | 62.9101 | 0.0019 | 58.1 | 0.106 | fitted | asymmetry_unmodelled |
| 65 | 62.9102 | 0.0020 | 58.1 | 0.107 | fitted | asymmetry_unmodelled, duplicate_line |
| 66 | 63.3338 | 0.0011 | 149.6 | 0.106 | fitted | asymmetry_unmodelled, duplicate_line |
| 67 | 63.3340 | 0.0010 | 148.8 | 0.107 | fitted | |
| 68 | 65.0381 | 0.0091 | 8.2 | 0.090 | fitted | |
| 69 | 66.1143 | 0.0024 | 77.9 | 0.097 | fitted | |
| 70 | 66.1486 | 0.0042 | 124.4 | 0.154 | fitted | duplicate_line |
| 71 | 66.2126 | 0.0031 | 61.7 | 0.097 | fitted | |
| 72 | 66.5357 | 0.0064 | 72.1 | 0.154 | fitted | asymmetry_unmodelled, duplicate_line |
| 73 | 66.5444 | 0.0020 | 72.2 | 0.097 | fitted | |
| 74 | 68.6427 | 0.0015 | 74.8 | 0.098 | fitted | |
| 75 | 68.6430 | 0.0015 | 73.8 | 0.100 | fitted | asymmetry_unmodelled, duplicate_line |
| 76 | 69.1001 | 0.0012 | 104.4 | 0.099 | fitted | duplicate_line |
| 77 | 69.1006 | 0.0012 | 102.8 | 0.098 | fitted | |
| 78 | 69.1011 | 0.0013 | 102.4 | 0.100 | fitted | asymmetry_unmodelled, duplicate_line |
| 79 | 69.5874 | 0.0026 | 39.5 | 0.099 | fitted | |
| 80 | 69.5875 | 0.0030 | 39.8 | 0.109 | fitted | asymmetry_unmodelled, duplicate_line |
| 81 | 69.5885 | 0.0027 | 40.8 | 0.098 | fitted | duplicate_line |
| 82 | 70.0819 | 0.0024 | 51.0 | 0.109 | fitted | asymmetry_unmodelled, duplicate_line |
| 83 | 70.0830 | 0.0023 | 54.3 | 0.099 | fitted | |
| 84 | 70.2870 | 0.0165 | 12.4 | 0.114 | fitted | |
| 85 | 70.8747 | 0.0050 | 35.2 | 0.114 | fitted | |
| 86 | 72.2882 | 0.0039 | 15.7 | 0.058 | fitted | asymmetry_unmodelled |
| 87 | 72.2900 | 0.0055 | 11.8 | 0.088 | fitted | duplicate_line |
| 88 | 72.4957 | 0.0126 | 5.1 | 0.088 | fitted | |
| 89 | 75.2903 | 0.0010 | 148.5 | 0.108 | fitted | |
| 90 | 76.6601 | 0.0031 | 63.8 | 0.106 | fitted | asymmetry_unmodelled |
| 91 | 76.6603 | 0.0034 | 63.5 | 0.106 | fitted | asymmetry_unmodelled, duplicate_line |
| 92 | 76.6604 | 0.0033 | 63.5 | 0.106 | fitted | asymmetry_unmodelled, duplicate_line |
| 93 | 76.7802 | 0.0021 | 115.9 | 0.106 | fitted | |
| 94 | 76.7802 | 0.0022 | 116.0 | 0.106 | fitted | asymmetry_unmodelled, duplicate_line |
| 95 | 76.7803 | 0.0022 | 116.2 | 0.106 | fitted | asymmetry_unmodelled, duplicate_line |
| 96 | 77.0997 | 0.0011 | 191.0 | 0.106 | fitted | |
| 97 | 77.0998 | 0.0012 | 192.1 | 0.106 | fitted | asymmetry_unmodelled, duplicate_line |
| 98 | 77.1007 | 0.0013 | 193.8 | 0.106 | fitted | asymmetry_unmodelled, duplicate_line |
| 99 | 78.0360 | 0.0021 | 123.7 | 0.115 | fitted | duplicate_line |
| 100 | 78.0376 | 0.0015 | 122.0 | 0.116 | fitted | |
| 101 | 78.6949 | 0.0052 | 20.8 | 0.115 | fitted | |
| 102 | 78.7385 | 0.0473 | 64.8 | 0.116 | fitted | position_at_bound, no_intensity |
| 103 | 79.3343 | 0.0163 | 35.7 | 0.115 | fitted | |
| 104 | 79.4033 | 0.0012 | 208.5 | 0.123 | fitted | asymmetry_unmodelled |
[ info ] PEAK_UNRESOLVED_SHOULDER: 2 line(s) never separated from a neighbour by half a FWHM, so their positions are correlated with it and their σ says so\n",
" at: 48.4639°, 48.4639°\n",
" [ info ] PEAK_KALPHA2_RESIDUAL: 2 weak component(s) sit at a strong group-mate's predicted Kα2 maximum at a few per cent of its area — the residual of a *modelled* doublet, re-created by a re-seed pass after detection dropped the alias candidate (WP-1043)\n",
" at: 46.0134°, 48.4639°\n",
" [warning] PEAK_ASYMMETRY_UNMODELLED: 49 line(s) leave a significant odd residual after fitting, i.e. an asymmetry the declared profile does not carry; an unmodelled one-sided aberration biases the centroid in one direction, which σ cannot see\n",
" at: 26.2221°, 26.6192°, 27.2200°, 32.7501°, 32.7600°, 33.1523°, 33.1524°, 37.2651°, 37.9064°, 37.9074°, 38.4033°, 41.1949°, 45.5000°, 45.8568°, 45.8589°, 46.0134°, 46.3251°, 48.4639°, 48.4639°, 49.8839°, 49.8849°, 50.2398°, 51.9129°, 52.4908°, 52.4910°, 52.9111°, 52.9918°, 53.0549°, 53.3713°, 53.9571°, 56.8086°, 59.2447°, 62.9101°, 62.9102°, 63.3338°, 66.5357°, 68.6430°, 69.1011°, 69.5875°, 70.0819°, 72.2882°, 76.6601°, 76.6603°, 76.6604°, 76.7802°, 76.7803°, 77.0998°, 77.1007°, 79.4033°\n",
" [warning] PEAK_WIDTH_LAW_MISMATCH: measured FWHM 0.1565° against 0.0322° from the instrument's U,V,W,X,Y — a factor of 4.9; seeds and windows were scaled by 4.86 to match the data\n",
" at: median of the 12 most prominent lines\n",
" [ info ] PEAK_KALPHA2_ALIAS: 26 candidate(s) dropped as the Kα2 maximum of a stronger line rather than lines of their own; the doublet is fitted as a constrained pair, so each reported position is a Kα1 position\n",
" at: 33.2400°, 38.0200°, 38.5000°, 41.3000°, 43.0200°, 45.9800°, 48.6000°, 50.3800°, 52.6200°, 53.2000°, 56.3000°, 59.4000°, 60.3600°, 62.0000°, 63.0800°, 63.5200°, 66.7200°, 68.8400°, 69.2800°, 69.7600°, 70.2800°, 71.0800°, 75.5000°, 77.3200°, 78.2600°, 79.6400°\n",
" [ info ] PEAK_SHOULDER_SEEDED: 1 curvature seed(s) offered for components with no local maximum; survival was decided by ΔBIC, not by detection\n",
" at: 51 groups"
],
"text/plain": [
"PeakList: 105 peaks, 59 usable, 10–79.98° 2θ, λ = 1.54059 Å, source fitted\n",
" # two_theta two_theta_esd intensity fwhm origin flags\n",
" 0 21.0739 0.0024 31.4 0.101 fitted\n",
" 1 22.2946 0.0056 9.6 0.084 fitted\n",
" 2 26.2221 0.0003 2175.4 0.096 fitted asymmetry_unmodelled\n",
" 3 26.6192 0.0106 18.1 0.095 fitted asymmetry_unmodelled\n",
" 4 27.2200 0.0004 1241.7 0.095 fitted asymmetry_unmodelled\n",
" 5 31.1394 0.0016 92.8 0.110 fitted\n",
" 6 32.7501 0.0010 170.8 0.096 fitted asymmetry_unmodelled\n",
" 7 32.7600 0.0019 168.7 0.097 fitted position_at_bound, asymmetry_unmodelled, duplicate_line\n",
" 8 33.1523 0.0003 1066.9 0.096 fitted asymmetry_unmodelled\n",
" 9 33.1524 0.0006 1065.8 0.097 fitted asymmetry_unmodelled, duplicate_line\n",
" 10 36.1488 0.0006 946.2 0.125 fitted\n",
" 11 37.2578 0.0025 324.2 0.098 fitted duplicate_line\n",
" 12 37.2651 0.0011 298.2 0.100 fitted asymmetry_unmodelled\n",
" 13 37.8987 0.0335 953.5 0.117 fitted duplicate_line\n",
" 14 37.9064 0.0043 849.3 0.100 fitted asymmetry_unmodelled, duplicate_line\n",
" 15 37.9071 0.0004 870.7 0.097 fitted\n",
" 16 37.9074 0.0005 867.3 0.098 fitted asymmetry_unmodelled, duplicate_line\n",
" 17 38.3949 0.0069 554.1 0.117 fitted duplicate_line\n",
" 18 38.4024 0.0005 620.7 0.097 fitted\n",
" 19 38.4033 0.0007 644.1 0.098 fitted asymmetry_unmodelled, duplicate_line\n",
" 20 38.5784 0.0098 378.0 0.117 fitted position_at_bound, duplicate_line\n",
" 21 38.6312 0.0007 401.9 0.097 fitted\n",
" 22 41.1949 0.0008 270.7 0.094 fitted asymmetry_unmodelled\n",
" 23 42.9070 0.0008 426.4 0.100 fitted\n",
" 24 45.4833 0.0021 71.2 0.098 fitted\n",
" 25 45.5000 0.0038 70.0 0.099 fitted position_at_bound, asymmetry_unmodelled, duplicate_line\n",
" 26 45.8568 0.0015 1462.2 0.101 fitted asymmetry_unmodelled, duplicate_line\n",
" 27 45.8588 0.0003 1531.2 0.098 fitted\n",
" 28 45.8589 0.0005 1528.6 0.099 fitted asymmetry_unmodelled, duplicate_line\n",
" 29 46.0134 0.0137 39.2 0.101 fitted asymmetry_unmodelled, kalpha2_residual\n",
" 30 46.3251 0.1170 1.3 0.101 fitted position_at_bound, no_intensity, asymmetry_unmodelled\n",
" 31 48.3096 0.0007 639.6 0.100 fitted fit_failed\n",
" 32 48.3097 0.0007 632.9 0.100 fitted\n",
" 33 48.4600 0.0011 419.8 0.100 fitted position_at_bound\n",
" 34 48.4639 405.0436 130.1 0.100 fitted fit_failed, unresolved_shoulder, no_intensity, position_unmeasured, asymmetry_unmodelled, kalpha2_residual\n",
" 35 48.4639 186.4488 282.6 0.100 fitted fit_failed, unresolved_shoulder, no_intensity, position_unmeasured, asymmetry_unmodelled\n",
" 36 49.8839 0.0062 31.2 0.099 fitted asymmetry_unmodelled, duplicate_line\n",
" 37 49.8849 0.0060 32.7 0.100 fitted asymmetry_unmodelled\n",
" 38 50.2397 0.0007 621.6 0.100 fitted duplicate_line\n",
" 39 50.2398 0.0007 628.0 0.099 fitted asymmetry_unmodelled\n",
" 40 51.9129 0.0038 57.9 0.101 fitted asymmetry_unmodelled\n",
" 41 52.4908 0.0013 657.3 0.101 fitted asymmetry_unmodelled, duplicate_line\n",
" 42 52.4910 0.0019 671.8 0.098 fitted asymmetry_unmodelled, duplicate_line\n",
" 43 52.4911 0.0004 662.8 0.100 fitted\n",
" 44 52.9106 0.0012 143.9 0.100 fitted\n",
" 45 52.9111 0.0064 141.6 0.098 fitted asymmetry_unmodelled, duplicate_line\n",
" 46 52.9918 0.0297 490.7 0.240 fitted fit_failed, asymmetry_unmodelled\n",
" 47 53.0543 0.0007 298.4 0.100 fitted\n",
" 48 53.0549 0.0042 307.2 0.098 fitted asymmetry_unmodelled, duplicate_line\n",
" 49 53.3713 0.0168 9.2 0.110 fitted asymmetry_unmodelled\n",
" 50 53.9571 0.0025 45.8 0.110 fitted asymmetry_unmodelled\n",
" 51 56.1494 0.0017 55.1 0.102 fitted duplicate_line\n",
" 52 56.1494 0.0015 55.9 0.101 fitted\n",
" 53 56.2020 0.0125 19.7 0.083 fitted\n",
" 54 56.2973 0.0056 27.3 0.083 fitted\n",
" 55 56.4387 0.0040 18.1 0.101 fitted\n",
" 56 56.4391 0.0043 18.4 0.102 fitted duplicate_line\n",
" 57 56.7956 0.0208 23.9 0.102 fitted duplicate_line\n",
" 58 56.8086 0.0033 39.3 0.083 fitted asymmetry_unmodelled, duplicate_line\n",
" 59 56.8089 0.0021 35.6 0.101 fitted\n",
" 60 59.2447 0.0017 152.5 0.101 fitted asymmetry_unmodelled\n",
" 61 59.6004 0.0158 7.7 0.107 fitted\n",
" 62 60.2030 0.0029 35.9 0.107 fitted\n",
" 63 61.8198 0.0012 120.7 0.107 fitted\n",
" 64 62.9101 0.0019 58.1 0.106 fitted asymmetry_unmodelled\n",
" 65 62.9102 0.0020 58.1 0.107 fitted asymmetry_unmodelled, duplicate_line\n",
" 66 63.3338 0.0011 149.6 0.106 fitted asymmetry_unmodelled, duplicate_line\n",
" 67 63.3340 0.0010 148.8 0.107 fitted\n",
" 68 65.0381 0.0091 8.2 0.090 fitted\n",
" 69 66.1143 0.0024 77.9 0.097 fitted\n",
" 70 66.1486 0.0042 124.4 0.154 fitted duplicate_line\n",
" 71 66.2126 0.0031 61.7 0.097 fitted\n",
" 72 66.5357 0.0064 72.1 0.154 fitted asymmetry_unmodelled, duplicate_line\n",
" 73 66.5444 0.0020 72.2 0.097 fitted\n",
" 74 68.6427 0.0015 74.8 0.098 fitted\n",
" 75 68.6430 0.0015 73.8 0.100 fitted asymmetry_unmodelled, duplicate_line\n",
" 76 69.1001 0.0012 104.4 0.099 fitted duplicate_line\n",
" 77 69.1006 0.0012 102.8 0.098 fitted\n",
" 78 69.1011 0.0013 102.4 0.100 fitted asymmetry_unmodelled, duplicate_line\n",
" 79 69.5874 0.0026 39.5 0.099 fitted\n",
" 80 69.5875 0.0030 39.8 0.109 fitted asymmetry_unmodelled, duplicate_line\n",
" 81 69.5885 0.0027 40.8 0.098 fitted duplicate_line\n",
" 82 70.0819 0.0024 51.0 0.109 fitted asymmetry_unmodelled, duplicate_line\n",
" 83 70.0830 0.0023 54.3 0.099 fitted\n",
" 84 70.2870 0.0165 12.4 0.114 fitted\n",
" 85 70.8747 0.0050 35.2 0.114 fitted\n",
" 86 72.2882 0.0039 15.7 0.058 fitted asymmetry_unmodelled\n",
" 87 72.2900 0.0055 11.8 0.088 fitted duplicate_line\n",
" 88 72.4957 0.0126 5.1 0.088 fitted\n",
" 89 75.2903 0.0010 148.5 0.108 fitted\n",
" 90 76.6601 0.0031 63.8 0.106 fitted asymmetry_unmodelled\n",
" 91 76.6603 0.0034 63.5 0.106 fitted asymmetry_unmodelled, duplicate_line\n",
" 92 76.6604 0.0033 63.5 0.106 fitted asymmetry_unmodelled, duplicate_line\n",
" 93 76.7802 0.0021 115.9 0.106 fitted\n",
" 94 76.7802 0.0022 116.0 0.106 fitted asymmetry_unmodelled, duplicate_line\n",
" 95 76.7803 0.0022 116.2 0.106 fitted asymmetry_unmodelled, duplicate_line\n",
" 96 77.0997 0.0011 191.0 0.106 fitted\n",
" 97 77.0998 0.0012 192.1 0.106 fitted asymmetry_unmodelled, duplicate_line\n",
" 98 77.1007 0.0013 193.8 0.106 fitted asymmetry_unmodelled, duplicate_line\n",
" 99 78.0360 0.0021 123.7 0.115 fitted duplicate_line\n",
" 100 78.0376 0.0015 122.0 0.116 fitted\n",
" 101 78.6949 0.0052 20.8 0.115 fitted\n",
" 102 78.7385 0.0473 64.8 0.116 fitted position_at_bound, no_intensity\n",
" 103 79.3343 0.0163 35.7 0.115 fitted\n",
" 104 79.4033 0.0012 208.5 0.123 fitted asymmetry_unmodelled\n",
" [ info ] PEAK_UNRESOLVED_SHOULDER: 2 line(s) never separated from a neighbour by half a FWHM, so their positions are correlated with it and their σ says so\n",
" at: 48.4639°, 48.4639°\n",
" [ info ] PEAK_KALPHA2_RESIDUAL: 2 weak component(s) sit at a strong group-mate's predicted Kα2 maximum at a few per cent of its area — the residual of a *modelled* doublet, re-created by a re-seed pass after detection dropped the alias candidate (WP-1043)\n",
" at: 46.0134°, 48.4639°\n",
" [warning] PEAK_ASYMMETRY_UNMODELLED: 49 line(s) leave a significant odd residual after fitting, i.e. an asymmetry the declared profile does not carry; an unmodelled one-sided aberration biases the centroid in one direction, which σ cannot see\n",
" at: 26.2221°, 26.6192°, 27.2200°, 32.7501°, 32.7600°, 33.1523°, 33.1524°, 37.2651°, 37.9064°, 37.9074°, 38.4033°, 41.1949°, 45.5000°, 45.8568°, 45.8589°, 46.0134°, 46.3251°, 48.4639°, 48.4639°, 49.8839°, 49.8849°, 50.2398°, 51.9129°, 52.4908°, 52.4910°, 52.9111°, 52.9918°, 53.0549°, 53.3713°, 53.9571°, 56.8086°, 59.2447°, 62.9101°, 62.9102°, 63.3338°, 66.5357°, 68.6430°, 69.1011°, 69.5875°, 70.0819°, 72.2882°, 76.6601°, 76.6603°, 76.6604°, 76.7802°, 76.7803°, 77.0998°, 77.1007°, 79.4033°\n",
" [warning] PEAK_WIDTH_LAW_MISMATCH: measured FWHM 0.1565° against 0.0322° from the instrument's U,V,W,X,Y — a factor of 4.9; seeds and windows were scaled by 4.86 to match the data\n",
" at: median of the 12 most prominent lines\n",
" [ info ] PEAK_KALPHA2_ALIAS: 26 candidate(s) dropped as the Kα2 maximum of a stronger line rather than lines of their own; the doublet is fitted as a constrained pair, so each reported position is a Kα1 position\n",
" at: 33.2400°, 38.0200°, 38.5000°, 41.3000°, 43.0200°, 45.9800°, 48.6000°, 50.3800°, 52.6200°, 53.2000°, 56.3000°, 59.4000°, 60.3600°, 62.0000°, 63.0800°, 63.5200°, 66.7200°, 68.8400°, 69.2800°, 69.7600°, 70.2800°, 71.0800°, 75.5000°, 77.3200°, 78.2600°, 79.6400°\n",
" [ info ] PEAK_SHOULDER_SEEDED: 1 curvature seed(s) offered for components with no local maximum; survival was decided by ΔBIC, not by detection\n",
" at: 51 groups"
]
},
"execution_count": 2,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"lab = rx.Instrument.bragg_brentano(radiation=\"CuKa\")\n",
"peaks = rx.pick_peaks(data, lab)\n",
"peaks"
]
},
{
"cell_type": "markdown",
"id": "03-06",
"metadata": {},
"source": [
"Each row is one peak: its position, the esd of that position, its area and its width.\n",
"`flags` records anything the fit noticed.\n",
"A flagged peak can still be usable, and the count line says how many are.\n",
"\n",
"The diagnostics under the table explain the list.\n",
"`PEAK_WIDTH_LAW_MISMATCH` says the peaks are about five times wider than the default instrument predicts, so the picker scaled its windows to match.\n",
"`PEAK_KALPHA2_ALIAS` counts candidates it dropped as the Kα2 partner of a stronger line: each reported position is a Kα1 position.\n",
"\n",
"## Measure lines you name\n",
"\n",
"`fit_peaks` fits exactly the positions you give it, and nothing else.\n",
"Use it to measure lines you have chosen: a few reflections for a size analysis, or one line as a quick check."
]
},
{
"cell_type": "code",
"execution_count": 3,
"id": "03-07",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"PeakList: 3 peaks, 3 usable, 10–79.98° 2θ, λ = 1.54059 Å, source fitted
| # | two_theta | two_theta_esd | intensity | fwhm | origin | flags |
|---|
| 0 | 26.2221 | 0.0003 | 2175.4 | 0.096 | manual | asymmetry_unmodelled |
| 1 | 27.2199 | 0.0006 | 1246.2 | 0.094 | manual | asymmetry_unmodelled, unnamed_neighbour |
| 2 | 33.1514 | 0.0031 | 1113.5 | 0.092 | manual | asymmetry_unmodelled, unnamed_neighbour |
[warning] PEAK_ASYMMETRY_UNMODELLED: 3 line(s) leave a significant odd residual after fitting, i.e. an asymmetry the declared profile does not carry; an unmodelled one-sided aberration biases the centroid in one direction, which σ cannot see\n",
" at: 26.2221°, 27.2199°, 33.1514°\n",
" [warning] PEAK_WIDTH_LAW_MISMATCH: measured FWHM 0.1565° against 0.0322° from the instrument's U,V,W,X,Y — a factor of 4.9; seeds and windows were scaled by 4.86 to match the data\n",
" at: median of the 12 most prominent lines\n",
" [ info ] PEAK_KALPHA2_ALIAS: 26 candidate(s) dropped as the Kα2 maximum of a stronger line rather than lines of their own; the doublet is fitted as a constrained pair, so each reported position is a Kα1 position\n",
" at: 33.2400°, 38.0200°, 38.5000°, 41.3000°, 43.0200°, 45.9800°, 48.6000°, 50.3800°, 52.6200°, 53.2000°, 56.3000°, 59.4000°, 60.3600°, 62.0000°, 63.0800°, 63.5200°, 66.7200°, 68.8400°, 69.2800°, 69.7600°, 70.2800°, 71.0800°, 75.5000°, 77.3200°, 78.2600°, 79.6400°\n",
" [ info ] PEAK_SHOULDER_SEEDED: 1 curvature seed(s) offered for components with no local maximum; survival was decided by ΔBIC, not by detection\n",
" at: 51 groups"
],
"text/plain": [
"PeakList: 3 peaks, 3 usable, 10–79.98° 2θ, λ = 1.54059 Å, source fitted\n",
" # two_theta two_theta_esd intensity fwhm origin flags\n",
" 0 26.2221 0.0003 2175.4 0.096 manual asymmetry_unmodelled\n",
" 1 27.2199 0.0006 1246.2 0.094 manual asymmetry_unmodelled, unnamed_neighbour\n",
" 2 33.1514 0.0031 1113.5 0.092 manual asymmetry_unmodelled, unnamed_neighbour\n",
" [warning] PEAK_ASYMMETRY_UNMODELLED: 3 line(s) leave a significant odd residual after fitting, i.e. an asymmetry the declared profile does not carry; an unmodelled one-sided aberration biases the centroid in one direction, which σ cannot see\n",
" at: 26.2221°, 27.2199°, 33.1514°\n",
" [warning] PEAK_WIDTH_LAW_MISMATCH: measured FWHM 0.1565° against 0.0322° from the instrument's U,V,W,X,Y — a factor of 4.9; seeds and windows were scaled by 4.86 to match the data\n",
" at: median of the 12 most prominent lines\n",
" [ info ] PEAK_KALPHA2_ALIAS: 26 candidate(s) dropped as the Kα2 maximum of a stronger line rather than lines of their own; the doublet is fitted as a constrained pair, so each reported position is a Kα1 position\n",
" at: 33.2400°, 38.0200°, 38.5000°, 41.3000°, 43.0200°, 45.9800°, 48.6000°, 50.3800°, 52.6200°, 53.2000°, 56.3000°, 59.4000°, 60.3600°, 62.0000°, 63.0800°, 63.5200°, 66.7200°, 68.8400°, 69.2800°, 69.7600°, 70.2800°, 71.0800°, 75.5000°, 77.3200°, 78.2600°, 79.6400°\n",
" [ info ] PEAK_SHOULDER_SEEDED: 1 curvature seed(s) offered for components with no local maximum; survival was decided by ΔBIC, not by detection\n",
" at: 51 groups"
]
},
"execution_count": 3,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"chosen = rx.fit_peaks(data, lab, [26.22, 27.22, 33.13])\n",
"chosen"
]
},
{
"cell_type": "markdown",
"id": "03-08",
"metadata": {},
"source": [
"Rebuilding a whole list from edited positions in code works less well: a real line you leave out still has intensity, and its neighbours absorb it.\n",
"\n",
"## The same work in the GUI\n",
"\n",
"Editing a peak list is easier by hand, and rietx has a graphical mode for it.\n",
"Run `rietx gui` in a terminal, open or create a project with your pattern, and choose the Peaks tab.\n",
"The plot then becomes an editing surface:\n",
"\n",
"| Gesture | Does |\n",
"|---|---|\n",
"| click empty space | add a line, measured by `fit_peaks` |\n",
"| drag a marker | move it |\n",
"| shift-click | exclude a line from indexing |\n",
"| right-click | remove it |\n",
"\n",
"The same tab runs the indexing search, draws a candidate's predicted lines over the pattern, and adopts a candidate as the starting point of a Le Bail fit.\n",
"Every gesture also has a typed equivalent in the panel.\n",
"The [GUI guide](https://rietx.org/using/gui-guide.html#peaks) covers the tab in full.\n",
"\n",
"## Index\n",
"\n",
"`index_pattern` searches for cells that index the usable peaks.\n",
"A search over every crystal system can take minutes, so we narrow it.\n",
"We search only orthorhombic cells, with a volume between 200 and 250 ų and no axis longer than 8.5 Å.\n",
"Those limits come from knowing the answer.\n",
"With a real unknown, start from the formula and a wide window, and let the search run longer."
]
},
{
"cell_type": "code",
"execution_count": 4,
"id": "03-09",
"metadata": {},
"outputs": [
{
"data": {
"text/html": [
"engines: dichotomy, svd, trial_error systems: orthorhombic lines: 59 validated: yes\n",
"search INCOMPLETE in: orthorhombic — a negative result there is not evidence\n",
"| # | confidence | lattice | a b c (Å) | α β γ (°) | V (ų) | indexed | chi2_red | Le Bail Rwp | confidence_caveats |
|---|
| 1 | low | orthorhombic P | 4.96150 5.73930 7.97038 | 90.000 90.000 90.000 | 226.96 | 50/59 | 0.22 | 0.2570 | predicted_but_absent, indexed_fraction_low, search_incomplete |
\n",
"NO CELL: the result abstains — see the diagnostics below.\n",
" [ info ] PEAK_POSITION_PRECISION: median σ(2θ) 0.0019°, worst 0.0168°; median σ(Q)/Q = 5.76e-05 and σ(Q) is 0.002 of the mean line spacing\n",
" - 2θ 10.00-79.98°\n",
" [warning] INDEX_SEARCH_INCOMPLETE: the svd search did not finish orthorhombic within 30 s per system, so finding no cell there is not evidence that none exists\n",
" - orthorhombic\n",
" [ info ] INDEX_SHIFT_FROM_PAIRS: a systematic shift of 0.0052° 2θ was measured from 8 harmonic reflection pairs agreeing to 0.0049° (of 17 admitted, z = 6.6 against 200 structureless replicates, p = 0.005) — no reference positions were needed; the cause is not named: no template was refuted\n",
" - allowance = 0.0052° 2θ (measured)\n",
" - best template = cos_theta\n",
" [warning] INDEX_ABSTAINED: no cell reached the confidence gate; the best candidate (orthorhombic P, V = 227.0 ų) is low because of: predicted_but_absent, indexed_fraction_low, search_incomplete\n",
" - searched: orthorhombic\n",
" [ info ] INDEX_SYSTEMS_NOT_COVERED: 6 crystal system(s) were not searched, so this result says nothing about them\n",
" - cubic\n",
" - hexagonal\n",
" - trigonal\n",
" - tetragonal\n",
" - monoclinic\n",
" - triclinic\n",
" [ info ] INDEX_CELL_SYSTEMATIC_UNQUANTIFIED: a Bragg-Brentano cell carries ≈ ±85 ppm that no esd reports: sweeping the goniometer radius over 180-320 mm moves Rwp by only 0.029 points, so the data cannot identify it, while specimen displacement absorbs the change 4.6× and the rest lands on the lattice parameters\n",
" - R = 217.5 mm (declared, not measured by the fit)\n",
" [warning] INDEX_PREDICTED_BUT_ABSENT (candidate orthorhombic P V=227.0): 4 of 105 reflections this lattice predicts have no net intensity above the fitted background — the oversized-cell signature, and the one M20 cannot see (its N_poss denominator penalises it only weakly, Oishi-Tomiyasu 2013)\n",
" [warning] INDEX_IMPURITY_LINES (candidate orthorhombic P V=227.0): 96 observed peak(s) have no calculated reflection nearby after a whole-pattern Le Bail fit of this cell"
],
"text/plain": [
"engines: dichotomy, svd, trial_error systems: orthorhombic lines: 59 validated: yes\n",
"search INCOMPLETE in: orthorhombic — a negative result there is not evidence\n",
"\n",
" 1. [ low ] orthorhombic P 4.96150 5.73930 7.97038 Å 90.000 90.000 90.000° V = 226.96 ų\n",
" found by dichotomy, svd, trial_error; indexed 50/59 lines; chi2_red 0.22; Le Bail Rwp 0.2570, 4 of 105 reflections absent\n",
" not higher because: predicted_but_absent, indexed_fraction_low, search_incomplete\n",
"\n",
"NO CELL: the result abstains — see the diagnostics below.\n",
" [ info ] PEAK_POSITION_PRECISION: median σ(2θ) 0.0019°, worst 0.0168°; median σ(Q)/Q = 5.76e-05 and σ(Q) is 0.002 of the mean line spacing\n",
" - 2θ 10.00-79.98°\n",
" [warning] INDEX_SEARCH_INCOMPLETE: the svd search did not finish orthorhombic within 30 s per system, so finding no cell there is not evidence that none exists\n",
" - orthorhombic\n",
" [ info ] INDEX_SHIFT_FROM_PAIRS: a systematic shift of 0.0052° 2θ was measured from 8 harmonic reflection pairs agreeing to 0.0049° (of 17 admitted, z = 6.6 against 200 structureless replicates, p = 0.005) — no reference positions were needed; the cause is not named: no template was refuted\n",
" - allowance = 0.0052° 2θ (measured)\n",
" - best template = cos_theta\n",
" [warning] INDEX_ABSTAINED: no cell reached the confidence gate; the best candidate (orthorhombic P, V = 227.0 ų) is low because of: predicted_but_absent, indexed_fraction_low, search_incomplete\n",
" - searched: orthorhombic\n",
" [ info ] INDEX_SYSTEMS_NOT_COVERED: 6 crystal system(s) were not searched, so this result says nothing about them\n",
" - cubic\n",
" - hexagonal\n",
" - trigonal\n",
" - tetragonal\n",
" - monoclinic\n",
" - triclinic\n",
" [ info ] INDEX_CELL_SYSTEMATIC_UNQUANTIFIED: a Bragg-Brentano cell carries ≈ ±85 ppm that no esd reports: sweeping the goniometer radius over 180-320 mm moves Rwp by only 0.029 points, so the data cannot identify it, while specimen displacement absorbs the change 4.6× and the rest lands on the lattice parameters\n",
" - R = 217.5 mm (declared, not measured by the fit)\n",
" [warning] INDEX_PREDICTED_BUT_ABSENT (candidate orthorhombic P V=227.0): 4 of 105 reflections this lattice predicts have no net intensity above the fitted background — the oversized-cell signature, and the one M20 cannot see (its N_poss denominator penalises it only weakly, Oishi-Tomiyasu 2013)\n",
" [warning] INDEX_IMPURITY_LINES (candidate orthorhombic P V=227.0): 96 observed peak(s) have no calculated reflection nearby after a whole-pattern Le Bail fit of this cell"
]
},
"execution_count": 4,
"metadata": {},
"output_type": "execute_result"
}
],
"source": [
"spec = SearchSpec(systems=(\"orthorhombic\",), min_volume=200, max_volume=250, max_d_axis=8.5)\n",
"indexing = rx.index_pattern(peaks, data=data, instrument=lab, spec=spec)\n",
"indexing"
]
},
{
"cell_type": "markdown",
"id": "03-10",
"metadata": {},
"source": [
"The top candidate is the true cell, with its axes in a different order.\n",
"All three search engines found it.\n",
"\n",
"Yet the result abstains: `best_or_none()` returns `None`, and the verdict line says NO CELL.\n",
"rietx names a single cell only when exactly one candidate reaches high confidence, and this one is low for the reasons in its row.\n",
"\n",
"- `predicted_but_absent`: the indexer checks a candidate in the lattice's highest-symmetry space group, which has no systematic absences. Aragonite's real space group, Pmcn, has glide planes that remove some reflections. Those reflections are predicted but absent.\n",
"- `indexed_fraction_low`: some usable lines are not indexed. A few of them are weak false lines the picker found beside strong peaks.\n",
"\n",
"The candidate's `INDEX_IMPURITY_LINES` warning comes from the indexer's own quick Le Bail fit, whose Rwp in the table is poor.\n",
"A poor fit leaves many peaks unmatched, so that count is not evidence of a second phase.\n",
"Our own Le Bail fit below settles it."
]
},
{
"cell_type": "code",
"execution_count": 5,
"id": "03-11",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"None\n",
"(4.961504341308777, 5.7392991240231845, 7.9703799717669055, 90.0, 90.0, 90.0) ['predicted_but_absent', 'indexed_fraction_low', 'search_incomplete']\n"
]
}
],
"source": [
"print(indexing.best_or_none())\n",
"candidate = indexing.candidates[0]\n",
"print(candidate.cell, candidate.confidence_caveats)"
]
},
{
"cell_type": "markdown",
"id": "03-12",
"metadata": {},
"source": [
"## Check the candidate with Le Bail\n",
"\n",
"`structure_from_candidate` turns a candidate into a structure for Le Bail fitting.\n",
"It uses the lattice's highest-symmetry space group (here P m m m), so the fit tests the lattice and nothing else.\n",
"As in notebook 01, we start the background at the data's floor and run the plan twice."
]
},
{
"cell_type": "code",
"execution_count": 6,
"id": "03-13",
"metadata": {},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"P m m m\n"
]
},
{
"name": "stdout",
"output_type": "stream",
"text": [
"Rwp by pass: [0.0707, 0.0607]\n",
"a = 4.96156 +/- 0.00008 Å\n",
"b = 5.73953 +/- 0.00009 Å\n",
"c = 7.97054 +/- 0.00013 Å\n"
]
}
],
"source": [
"structure = structure_from_candidate(candidate)\n",
"print(structure.phases[0].space_group)\n",
"\n",
"instrument = rx.Instrument.bragg_brentano(radiation=\"CuKa\")\n",
"instrument.background = rx.BackgroundChebyshev.with_terms(4)\n",
"instrument.background.coefficients[0].value = float(np.percentile(data.intensity, 5))\n",
"ref = rx.Refinement(structure, instrument)\n",
"passes = [ref.fit(data, mode=\"lebail\", plan=\"profile_only\") for _ in range(2)]\n",
"best = min(passes, key=lambda r: r.statistics.rwp)\n",
"print(f\"Rwp by pass: {[round(r.statistics.rwp, 4) for r in passes]}\")\n",
"for edge in \"abc\":\n",
" p = best.parameter(f\"phases.0.cell.{edge}\")\n",
" print(f\"{edge} = {p.value:.5f} +/- {p.stderr:.5f} Å\")"
]
},
{
"cell_type": "code",
"execution_count": 7,
"id": "03-14",
"metadata": {},
"outputs": [
{
"data": {
"image/png": "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",
"text/html": [
"

"
],
"text/plain": [
"<_NotebookFigure size 2280x1320 with 1 Axes>"
]
},
"execution_count": 7,
"metadata": {
"image/png": {
"width": 693
}
},
"output_type": "execute_result"
}
],
"source": [
"best.plot()"
]
},
{
"cell_type": "markdown",
"id": "03-15",
"metadata": {},
"source": [
"The fit puts a reflection under every peak and leaves only small residuals, so the lattice is right.\n",
"The refined edges match the true cell, in the candidate's order of axes.\n",
"\n",
"Some ticks stand over no peak, such as those near 11° and 15.5°.\n",
"They are reflections P m m m allows and aragonite's glide planes remove: the indexer's predicted-but-absent reflections.\n",
"\n",
"What this does not settle is the space group.\n",
"That is a question about which reflections are absent, and it comes after the cell is refined.\n",
"\n",
"## Checking an agent's work\n",
"\n",
"When an agent reports a cell it indexed, check these.\n",
"The rules are in the rietx agent skill (`SKILL.md` §6, and `references/diagnostics-indexing.md`).\n",
"\n",
"- **Did `best_or_none()` return a cell?** If not, the agent chose one. Ask why, and read the chosen candidate's `confidence_caveats` (rule 19).\n",
"- **What was searched?** A search narrowed by system, volume or axis length says nothing about the cells outside it. `INDEX_SYSTEMS_NOT_COVERED` and `INDEX_SEARCH_INCOMPLETE` say what was left out.\n",
"- **Was the cell checked with a whole-pattern fit?** A Le Bail fit of the candidate should leave no peak unexplained.\n",
"- **Is the space group a separate claim?** A cell from indexing comes with the lattice's highest-symmetry group. The real space group needs its own evidence."
]
}
],
"metadata": {
"kernelspec": {
"display_name": "Python 3",
"language": "python",
"name": "python3"
},
"language_info": {
"codemirror_mode": {
"name": "ipython",
"version": 3
},
"file_extension": ".py",
"mimetype": "text/x-python",
"name": "python",
"nbconvert_exporter": "python",
"pygments_lexer": "ipython3"
},
"rietx": {
"version": "1.10.0.dev0"
}
},
"nbformat": 4,
"nbformat_minor": 5
}