{ "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_thetatwo_theta_esdintensityfwhmoriginflags
021.07390.002431.40.101fitted
122.29460.00569.60.084fitted
226.22210.00032175.40.096fittedasymmetry_unmodelled
326.61920.010618.10.095fittedasymmetry_unmodelled
427.22000.00041241.70.095fittedasymmetry_unmodelled
531.13940.001692.80.110fitted
632.75010.0010170.80.096fittedasymmetry_unmodelled
732.76000.0019168.70.097fittedposition_at_bound, asymmetry_unmodelled, duplicate_line
833.15230.00031066.90.096fittedasymmetry_unmodelled
933.15240.00061065.80.097fittedasymmetry_unmodelled, duplicate_line
1036.14880.0006946.20.125fitted
1137.25780.0025324.20.098fittedduplicate_line
1237.26510.0011298.20.100fittedasymmetry_unmodelled
1337.89870.0335953.50.117fittedduplicate_line
1437.90640.0043849.30.100fittedasymmetry_unmodelled, duplicate_line
1537.90710.0004870.70.097fitted
1637.90740.0005867.30.098fittedasymmetry_unmodelled, duplicate_line
1738.39490.0069554.10.117fittedduplicate_line
1838.40240.0005620.70.097fitted
1938.40330.0007644.10.098fittedasymmetry_unmodelled, duplicate_line
2038.57840.0098378.00.117fittedposition_at_bound, duplicate_line
2138.63120.0007401.90.097fitted
2241.19490.0008270.70.094fittedasymmetry_unmodelled
2342.90700.0008426.40.100fitted
2445.48330.002171.20.098fitted
2545.50000.003870.00.099fittedposition_at_bound, asymmetry_unmodelled, duplicate_line
2645.85680.00151462.20.101fittedasymmetry_unmodelled, duplicate_line
2745.85880.00031531.20.098fitted
2845.85890.00051528.60.099fittedasymmetry_unmodelled, duplicate_line
2946.01340.013739.20.101fittedasymmetry_unmodelled, kalpha2_residual
3046.32510.11701.30.101fittedposition_at_bound, no_intensity, asymmetry_unmodelled
3148.30960.0007639.60.100fittedfit_failed
3248.30970.0007632.90.100fitted
3348.46000.0011419.80.100fittedposition_at_bound
3448.4639405.0436130.10.100fittedfit_failed, unresolved_shoulder, no_intensity, position_unmeasured, asymmetry_unmodelled, kalpha2_residual
3548.4639186.4488282.60.100fittedfit_failed, unresolved_shoulder, no_intensity, position_unmeasured, asymmetry_unmodelled
3649.88390.006231.20.099fittedasymmetry_unmodelled, duplicate_line
3749.88490.006032.70.100fittedasymmetry_unmodelled
3850.23970.0007621.60.100fittedduplicate_line
3950.23980.0007628.00.099fittedasymmetry_unmodelled
4051.91290.003857.90.101fittedasymmetry_unmodelled
4152.49080.0013657.30.101fittedasymmetry_unmodelled, duplicate_line
4252.49100.0019671.80.098fittedasymmetry_unmodelled, duplicate_line
4352.49110.0004662.80.100fitted
4452.91060.0012143.90.100fitted
4552.91110.0064141.60.098fittedasymmetry_unmodelled, duplicate_line
4652.99180.0297490.70.240fittedfit_failed, asymmetry_unmodelled
4753.05430.0007298.40.100fitted
4853.05490.0042307.20.098fittedasymmetry_unmodelled, duplicate_line
4953.37130.01689.20.110fittedasymmetry_unmodelled
5053.95710.002545.80.110fittedasymmetry_unmodelled
5156.14940.001755.10.102fittedduplicate_line
5256.14940.001555.90.101fitted
5356.20200.012519.70.083fitted
5456.29730.005627.30.083fitted
5556.43870.004018.10.101fitted
5656.43910.004318.40.102fittedduplicate_line
5756.79560.020823.90.102fittedduplicate_line
5856.80860.003339.30.083fittedasymmetry_unmodelled, duplicate_line
5956.80890.002135.60.101fitted
6059.24470.0017152.50.101fittedasymmetry_unmodelled
6159.60040.01587.70.107fitted
6260.20300.002935.90.107fitted
6361.81980.0012120.70.107fitted
6462.91010.001958.10.106fittedasymmetry_unmodelled
6562.91020.002058.10.107fittedasymmetry_unmodelled, duplicate_line
6663.33380.0011149.60.106fittedasymmetry_unmodelled, duplicate_line
6763.33400.0010148.80.107fitted
6865.03810.00918.20.090fitted
6966.11430.002477.90.097fitted
7066.14860.0042124.40.154fittedduplicate_line
7166.21260.003161.70.097fitted
7266.53570.006472.10.154fittedasymmetry_unmodelled, duplicate_line
7366.54440.002072.20.097fitted
7468.64270.001574.80.098fitted
7568.64300.001573.80.100fittedasymmetry_unmodelled, duplicate_line
7669.10010.0012104.40.099fittedduplicate_line
7769.10060.0012102.80.098fitted
7869.10110.0013102.40.100fittedasymmetry_unmodelled, duplicate_line
7969.58740.002639.50.099fitted
8069.58750.003039.80.109fittedasymmetry_unmodelled, duplicate_line
8169.58850.002740.80.098fittedduplicate_line
8270.08190.002451.00.109fittedasymmetry_unmodelled, duplicate_line
8370.08300.002354.30.099fitted
8470.28700.016512.40.114fitted
8570.87470.005035.20.114fitted
8672.28820.003915.70.058fittedasymmetry_unmodelled
8772.29000.005511.80.088fittedduplicate_line
8872.49570.01265.10.088fitted
8975.29030.0010148.50.108fitted
9076.66010.003163.80.106fittedasymmetry_unmodelled
9176.66030.003463.50.106fittedasymmetry_unmodelled, duplicate_line
9276.66040.003363.50.106fittedasymmetry_unmodelled, duplicate_line
9376.78020.0021115.90.106fitted
9476.78020.0022116.00.106fittedasymmetry_unmodelled, duplicate_line
9576.78030.0022116.20.106fittedasymmetry_unmodelled, duplicate_line
9677.09970.0011191.00.106fitted
9777.09980.0012192.10.106fittedasymmetry_unmodelled, duplicate_line
9877.10070.0013193.80.106fittedasymmetry_unmodelled, duplicate_line
9978.03600.0021123.70.115fittedduplicate_line
10078.03760.0015122.00.116fitted
10178.69490.005220.80.115fitted
10278.73850.047364.80.116fittedposition_at_bound, no_intensity
10379.33430.016335.70.115fitted
10479.40330.0012208.50.123fittedasymmetry_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_thetatwo_theta_esdintensityfwhmoriginflags
026.22210.00032175.40.096manualasymmetry_unmodelled
127.21990.00061246.20.094manualasymmetry_unmodelled, unnamed_neighbour
233.15140.00311113.50.092manualasymmetry_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",
       "
#confidencelatticea b c (Å)α β γ (°)V (ų)indexedchi2_redLe Bail Rwpconfidence_caveats
1loworthorhombic P4.96150 5.73930 7.9703890.000 90.000 90.000226.9650/590.220.2570predicted_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 }