From 62d021345900354f0fe115f31fccba289574933b Mon Sep 17 00:00:00 2001 From: Paullo9 Date: Sat, 31 Oct 2026 00:33:00 +0100 Subject: [PATCH 1/2] docs: name every fixture source with its licence in NOTICE and the fixture README NOTICE gains a section that lists each test-fixture source with its licence: the CIFs (from the mac4DSTEM tests or written here; none is a copy of a COD, AMCSD or ICSD entry; WS2 cites Schutte et al. 1987, the structure COD 5910003 also holds under CC0), the oracle outputs of pymatgen (MIT), spglib (BSD-3-Clause), orix 0.15.0 (GPL-3.0-or-later), py4DSTEM f050d207 (GPL-3.0), NumPy and SciPy (BSD-3-Clause), and the Materials Project records (CC BY 4.0). No fixture is taken from the test data of those packages. The pymatgen copyright line now quotes its LICENSE file, and the orix entry now names its own copyright line and GPL-3.0-or-later, as its sources state. Tests/Fixtures/README.md gets the same list as a table, and the README licence paragraph points to it. Done: the fixture-licence part of #17. Next: the Swift Package Index badge, which needs the package listed first. Co-Authored-By: Claude Opus 5.5 --- NOTICE | 48 +++++++++++++++++++++++++++++++++++++--- README.md | 5 +++-- Tests/Fixtures/README.md | 17 ++++++++++++++ 3 files changed, 65 insertions(+), 5 deletions(-) diff --git a/NOTICE b/NOTICE index 72f29a8..0cbc263 100644 --- a/NOTICE +++ b/NOTICE @@ -69,7 +69,8 @@ is the committed fixture pymatgen-cells-pins.json. The Laue orbit and the absenc computed from pymatgen's operations in NumPy. pymatgen - https://github.com/materialsproject/pymatgen (MIT License) - Copyright (c) 2011-2026 The Materials Project + Copyright (c) 2011-2012 MIT & The Regents of the University of + California, through Lawrence Berkeley National Laboratory spglib - https://github.com/spglib/spglib (BSD-3-Clause) ================================================================================ @@ -124,8 +125,8 @@ P36); their output is committed as Tests/DiffractoOrientationTests/Fixtures/ orix-*-pins.json. No orix code is copied into the library. orix - https://github.com/pyxem/orix - Copyright (C) The pyxem developers - Licensed under the GNU General Public License v3.0 + Copyright 2018-2026 the orix developers + Licensed under the GNU General Public License v3.0 or later ================================================================================ Materials Project (test fixtures) @@ -143,3 +144,44 @@ response; the other two were written by hand in its format. A. Jain et al., "Commentary: The Materials Project: A materials genome approach to accelerating materials innovation", APL Materials 1, 011002 (2013), doi:10.1063/1.4812323 + +================================================================================ +Test fixtures: every source and its licence +================================================================================ + +Tests/Fixtures/README.md lists each committed fixture file. By source: + +CIF files (Tests/DiffractoCoreTests/Fixtures/*.cif). None is a copy of an +entry in a crystallographic database: no file comes from the Crystallography +Open Database (COD), the American Mineralogist Crystal Structure Database +(AMCSD) or ICSD. Each file says where it comes from in its first comment line: + - written in the tests of mac4DSTEM 7448401b (GPL-3.0) and copied with that + line, some completed or reduced as the comment says; + - written for this kit as regression cases (GPL-3.0-only, this licence); + - corundum_P1_rhombohedral.cif and magnesium_P63mmc_origin_shifted_loop.cif + were written with pymatgen CifWriter (MIT); the output of a tool carries no + licence of the tool. +Lattice parameters and atomic coordinates in them are published measurements, +cited as facts. 2H-WS2 (ws2_2H.cif) takes its cell and z(S) from W. J. +Schutte, J. L. de Boer and F. Jellinek, J. Solid State Chem. 70, 207-209 +(1987). COD entry 5910003 holds the same structure; COD dedicates its data to +the public domain under CC0 (https://www.crystallography.net/cod/), but the +fixture is written by hand and is not that file. + +Oracle outputs (the *-pins.json files). These are numbers computed by the +scripts under tools/pins/, which call the reference packages below; no source +code or test data of those packages is copied into them: + - pymatgen 2026.9.24 / pymatgen-core 2026.10.16 (MIT) and spglib 2.8.0 + (BSD-3-Clause): cells, symmetry operations, conventional cells, presets, + the Materials Project decoder and the X-ray cross-check; + - orix 0.15.0 (GPL-3.0-or-later): orix-*-pins.json and the orix part of + trigonal-pins.json and symmetry-pins.json; + - py4DSTEM f050d207 (GPL-3.0): py4dstem-*-pins.json, acom-matcher-pins.json + and the py4DSTEM part of the orientation-symmetry pins; + - NumPy and SciPy (BSD-3-Clause), or plain Python: the ring calibration, + ring indexing, ellipse, ring-overlay and indexing-display pins, and the + structure-factor phase sum. +No fixture is taken from the test data of pymatgen, orix or py4DSTEM. + +Materials Project records (mp-import/input-*.json): CC BY 4.0, credited in +the section above. diff --git a/README.md b/README.md index 6833c51..4d82681 100644 --- a/README.md +++ b/README.md @@ -243,8 +243,9 @@ the xy plane, reciprocal vectors without 2 pi, the per-axis index bound. The ele `DiffractoScattering` is py4DSTEM's (Lobato and Van Dyck 2014), also GPL-3.0. **pymatgen** (MIT) is an oracle: cells, symmetry and d-spacings are checked against it, and no pymatgen code is copied or ported; a part ported from pymatgen in the future would be MIT on its own, but one package with any GPL part is GPL, so the whole is GPL-3.0 and an app built on it must -be GPL-compatible. The CIF fixtures under `Tests/` come from those applications' tests (GPL-3.0) with their provenance in a comment -line; the beta'' cell content (Andersen et al. 1998) is written by a generator into the gitignored `References/`. Per-source notices are in `NOTICE`. +be GPL-compatible. The CIF fixtures under `Tests/` come from those applications' tests (GPL-3.0) or were written for this kit, with +their provenance in a comment line; none is a copy of a COD, AMCSD or ICSD entry. The Materials Project records are CC BY 4.0, and +`Tests/Fixtures/README.md` lists every fixture source with its licence. The beta'' cell content (Andersen et al. 1998) is written by a generator into the gitignored `References/`. Per-source notices are in `NOTICE`. ## Please cite diff --git a/Tests/Fixtures/README.md b/Tests/Fixtures/README.md index 9fe62b2..3ba1052 100644 --- a/Tests/Fixtures/README.md +++ b/Tests/Fixtures/README.md @@ -9,6 +9,23 @@ Licence: every fixture is generated from this kit's own code and the pinned Pyth 3 files, listed in the table below with the note *third party*. Keep their licence line when the files move. +## Sources and licences + +`NOTICE` names each source with its licence; in short: + +| Source | Files | Licence | +|---|---|---| +| Materials Project (recorded API response and two records in its format) | `mp-import/input-*.json` | CC BY 4.0, *third party* | +| Tests of mac4DSTEM 7448401b (the first comment line of each CIF says which) | most `*.cif` | GPL-3.0, same author | +| Written for this kit as regression cases (two written with pymatgen `CifWriter`) | the other `*.cif` | GPL-3.0-only | +| Published lattice parameters and coordinates inside the CIFs | `*.cif` | facts, cited in `NOTICE`; no file is a copy of a COD, AMCSD or ICSD entry | +| Outputs of pymatgen (MIT) and spglib (BSD-3-Clause) | cell, symmetry, preset and decoder pins | generated, GPL-3.0-only | +| Outputs of orix 0.15.0 (GPL-3.0-or-later) | `orix-*-pins.json`, parts of `trigonal-pins.json` and `symmetry-pins.json` | generated, GPL-3.0-only | +| Outputs of py4DSTEM f050d207 (GPL-3.0) | `py4dstem-*-pins.json`, `acom-matcher-pins.json` | generated, GPL-3.0-only | +| Outputs of NumPy and SciPy (BSD-3-Clause) or plain Python | ring, ellipse, overlay, display and structure-factor pins | generated, GPL-3.0-only | + +No fixture is copied from the test data of pymatgen, orix or py4DSTEM. + ## All fixtures | File | Size | Generated by | Note | From e44b2880b2dc3f36bb058be4aa1316baff2d29b7 Mon Sep 17 00:00:00 2001 From: Paullo9 Date: Sat, 31 Oct 2026 01:58:41 +0100 Subject: [PATCH 2/2] docs: the fixture README agrees with its licence table The licence paragraph said every fixture is generated by the kit and the pinned reference under GPL-3.0-only. The table in the same file says the CIFs come from the mac4DSTEM 7448401b tests (GPL-3.0) or were written for this kit. The paragraph now says the same: pin JSON files are generated, 16 CIFs are from the mac4DSTEM tests, 10 were written for this kit, 3 Materials Project records are third party. Each CIF row now names its source in the Note column, read from its first comment line. Done: the README, the table and NOTICE name the same sources and licences. Next: review and merge of the PR. Co-Authored-By: Claude Opus 5.5 --- Tests/Fixtures/README.md | 60 ++++++++++++++++++++-------------------- 1 file changed, 30 insertions(+), 30 deletions(-) diff --git a/Tests/Fixtures/README.md b/Tests/Fixtures/README.md index 3ba1052..b70d9b7 100644 --- a/Tests/Fixtures/README.md +++ b/Tests/Fixtures/README.md @@ -1,9 +1,9 @@ # Test fixtures One row per committed fixture file under `Tests/*/Fixtures/`: size, the script under `tools/` that names it (the generator or its -pin script; a few scripts write a whole directory; a script found only by file-name prefix, tool-folder name or test module is marked so), and a note where the origin is not the kit's own pinned reference. 52 files. +pin script; a few scripts write a whole directory; a script found only by file-name prefix, tool-folder name or test module is marked so), and a note where the origin is not the kit's own pinned reference (every CIF says its source). 52 files. -Licence: every fixture is generated from this kit's own code and the pinned Python reference (named in the README) and ships under the kit's GPL-3.0-only licence, except the rows marked *third party*. No fixture is a copy of a real dataset: the committed text fixtures carry no local path or personal name (checked by search), and real datasets are read from `$MACEM_DATA` and never copied into the repo. +Licence: the sources and licences are in the next two sections and in `NOTICE`. The pin JSON files are computed by the scripts under `tools/pins/` and ship under the kit's GPL-3.0-only licence. The CIFs were not generated by those scripts: 16 come from the tests of mac4DSTEM 7448401b (GPL-3.0, same author) and 10 were written for this kit (GPL-3.0-only); the pin scripts only read them. The 3 rows marked *third party* keep their own licence. No fixture is a copy of a real dataset: the committed text fixtures carry no local path or personal name (checked by search), and real datasets are read from `$MACEM_DATA` and never copied into the repo. ## Third party @@ -16,8 +16,8 @@ Licence: every fixture is generated from this kit's own code and the pinned Pyth | Source | Files | Licence | |---|---|---| | Materials Project (recorded API response and two records in its format) | `mp-import/input-*.json` | CC BY 4.0, *third party* | -| Tests of mac4DSTEM 7448401b (the first comment line of each CIF says which) | most `*.cif` | GPL-3.0, same author | -| Written for this kit as regression cases (two written with pymatgen `CifWriter`) | the other `*.cif` | GPL-3.0-only | +| Tests of mac4DSTEM 7448401b (the first comment line of each CIF says which) | 16 `*.cif` (note *mac4DSTEM tests*) | GPL-3.0, same author | +| Written for this kit: regression cases and the ideal hcp cell (two regression cases written with pymatgen `CifWriter`) | the other 10 `*.cif` (note *written for this kit*) | GPL-3.0-only | | Published lattice parameters and coordinates inside the CIFs | `*.cif` | facts, cited in `NOTICE`; no file is a copy of a COD, AMCSD or ICSD entry | | Outputs of pymatgen (MIT) and spglib (BSD-3-Clause) | cell, symmetry, preset and decoder pins | generated, GPL-3.0-only | | Outputs of orix 0.15.0 (GPL-3.0-or-later) | `orix-*-pins.json`, parts of `trigonal-pins.json` and `symmetry-pins.json` | generated, GPL-3.0-only | @@ -30,41 +30,41 @@ No fixture is copied from the test data of pymatgen, orix or py4DSTEM. | File | Size | Generated by | Note | |---|---|---|---| -| `DiffractoCoreTests/Fixtures/alpha_quartz_P1_origin_shifted.cif` | 747 B | review regression CIF, read by `RefuterRegressionTests` | | -| `DiffractoCoreTests/Fixtures/alpha_quartz_P3221.cif` | 924 B | `tools/pins/cells/pins.py`, `tools/pins/structure-factors/pins.py` | | -| `DiffractoCoreTests/Fixtures/alpha_quartz_P3221_as_seeded.cif` | 712 B | `tools/pins/cells/pins.py` | | -| `DiffractoCoreTests/Fixtures/calcite_R-3c_hex.cif` | 1.4 KB | `tools/pins/cells/pins.py`, `tools/pins/structure-factors/pins.py` | | -| `DiffractoCoreTests/Fixtures/cdi2_P-3m1.cif` | 462 B | `tools/pins/cells/pins.py`, `tools/pins/structure-factors/pins.py` | | +| `DiffractoCoreTests/Fixtures/alpha_quartz_P1_origin_shifted.cif` | 747 B | review regression CIF, read by `RefuterRegressionTests` | written for this kit (GPL-3.0-only) | +| `DiffractoCoreTests/Fixtures/alpha_quartz_P3221.cif` | 924 B | `tools/pins/cells/pins.py`, `tools/pins/structure-factors/pins.py` | mac4DSTEM tests: from mac4DSTEM 7448401b (GPL-3.0, same author), named in its first comment line | +| `DiffractoCoreTests/Fixtures/alpha_quartz_P3221_as_seeded.cif` | 712 B | `tools/pins/cells/pins.py` | mac4DSTEM tests: from mac4DSTEM 7448401b (GPL-3.0, same author), named in its first comment line | +| `DiffractoCoreTests/Fixtures/calcite_R-3c_hex.cif` | 1.4 KB | `tools/pins/cells/pins.py`, `tools/pins/structure-factors/pins.py` | mac4DSTEM tests: from mac4DSTEM 7448401b (GPL-3.0, same author), named in its first comment line | +| `DiffractoCoreTests/Fixtures/cdi2_P-3m1.cif` | 462 B | `tools/pins/cells/pins.py`, `tools/pins/structure-factors/pins.py` | mac4DSTEM tests: from mac4DSTEM 7448401b (GPL-3.0, same author), named in its first comment line | | `DiffractoCoreTests/Fixtures/cif-symmetry-pins.json` | 19.4 KB | `tools/pins/cif-symmetry/pins.py` | | -| `DiffractoCoreTests/Fixtures/corundum_P1_rhombohedral.cif` | 1.3 KB | review regression CIF, read by `RefuterRegressionTests` | | -| `DiffractoCoreTests/Fixtures/fluorapatite_P63m.cif` | 781 B | `tools/pins/cells/pins.py`, `tools/pins/structure-factors/pins.py` | | -| `DiffractoCoreTests/Fixtures/gold_P1.cif` | 396 B | `tools/pins/cells/pins.py`, `tools/pins/structure-factors/pins.py` | | -| `DiffractoCoreTests/Fixtures/gold_P1_origin_shifted_exact_decimals.cif` | 588 B | review regression CIF, read by `RefuterRegressionTests` | | -| `DiffractoCoreTests/Fixtures/gold_centring_ops.cif` | 440 B | `tools/pins/cells/pins.py` | | -| `DiffractoCoreTests/Fixtures/ideal_hcp_P1.cif` | 504 B | `tools/pins/cells/pins.py` | | -| `DiffractoCoreTests/Fixtures/iron_P1_general_position.cif` | 470 B | review regression CIF, read by `RefuterRegressionTests` | | -| `DiffractoCoreTests/Fixtures/magnesium_P1_origin_shifted.cif` | 529 B | review regression CIF, read by `RefuterRegressionTests` | | -| `DiffractoCoreTests/Fixtures/magnesium_P63mmc.cif` | 401 B | `tools/pins/phase-vectors/pins.py` | | -| `DiffractoCoreTests/Fixtures/magnesium_P63mmc_24ops.cif` | 896 B | `tools/pins/cells/pins.py` | | -| `DiffractoCoreTests/Fixtures/magnesium_P63mmc_origin_shifted_loop.cif` | 1.5 KB | review regression CIF, read by `RefuterRegressionTests` | | -| `DiffractoCoreTests/Fixtures/mixed_centring.cif` | 561 B | review regression CIF, read by `RefuterRegressionTests` | | +| `DiffractoCoreTests/Fixtures/corundum_P1_rhombohedral.cif` | 1.3 KB | review regression CIF, read by `RefuterRegressionTests` | written for this kit (GPL-3.0-only), with pymatgen `CifWriter` | +| `DiffractoCoreTests/Fixtures/fluorapatite_P63m.cif` | 781 B | `tools/pins/cells/pins.py`, `tools/pins/structure-factors/pins.py` | mac4DSTEM tests: from mac4DSTEM 7448401b (GPL-3.0, same author), named in its first comment line | +| `DiffractoCoreTests/Fixtures/gold_P1.cif` | 396 B | `tools/pins/cells/pins.py`, `tools/pins/structure-factors/pins.py` | mac4DSTEM tests: from mac4DSTEM 7448401b (GPL-3.0, same author), named in its first comment line | +| `DiffractoCoreTests/Fixtures/gold_P1_origin_shifted_exact_decimals.cif` | 588 B | review regression CIF, read by `RefuterRegressionTests` | written for this kit (GPL-3.0-only) | +| `DiffractoCoreTests/Fixtures/gold_centring_ops.cif` | 440 B | `tools/pins/cells/pins.py` | mac4DSTEM tests: from mac4DSTEM 7448401b (GPL-3.0, same author), named in its first comment line | +| `DiffractoCoreTests/Fixtures/ideal_hcp_P1.cif` | 504 B | `tools/pins/cells/pins.py` | written for this kit (GPL-3.0-only) | +| `DiffractoCoreTests/Fixtures/iron_P1_general_position.cif` | 470 B | review regression CIF, read by `RefuterRegressionTests` | written for this kit (GPL-3.0-only) | +| `DiffractoCoreTests/Fixtures/magnesium_P1_origin_shifted.cif` | 529 B | review regression CIF, read by `RefuterRegressionTests` | written for this kit (GPL-3.0-only) | +| `DiffractoCoreTests/Fixtures/magnesium_P63mmc.cif` | 401 B | `tools/pins/phase-vectors/pins.py` | mac4DSTEM tests: from mac4DSTEM 7448401b (GPL-3.0, same author), named in its first comment line | +| `DiffractoCoreTests/Fixtures/magnesium_P63mmc_24ops.cif` | 896 B | `tools/pins/cells/pins.py` | mac4DSTEM tests: from mac4DSTEM 7448401b (GPL-3.0, same author), named in its first comment line | +| `DiffractoCoreTests/Fixtures/magnesium_P63mmc_origin_shifted_loop.cif` | 1.5 KB | review regression CIF, read by `RefuterRegressionTests` | written for this kit (GPL-3.0-only), with pymatgen `CifWriter` | +| `DiffractoCoreTests/Fixtures/mixed_centring.cif` | 561 B | review regression CIF, read by `RefuterRegressionTests` | written for this kit (GPL-3.0-only) | | `DiffractoCoreTests/Fixtures/mp-import/input-aluminium-v3.json` | 1.6 KB | `tools/pins/mp-import/pins.py` | third party: Materials Project data, CC BY 4.0 (https://creativecommons.org/licenses/by/4.0/), source https://materialsproject.org; credited in `NOTICE` | | `DiffractoCoreTests/Fixtures/mp-import/input-magnesiumJSON.json` | 1.1 KB | `tools/pins/mp-import/pins.py` | third party: Materials Project data, CC BY 4.0 (https://creativecommons.org/licenses/by/4.0/), source https://materialsproject.org; credited in `NOTICE` | | `DiffractoCoreTests/Fixtures/mp-import/input-siliconJSON.json` | 2.9 KB | `tools/pins/mp-import/pins.py` | third party: Materials Project data, CC BY 4.0 (https://creativecommons.org/licenses/by/4.0/), source https://materialsproject.org; credited in `NOTICE` | | `DiffractoCoreTests/Fixtures/mp-import/pymatgen-pins.json` | 6.3 KB | `tools/pins/mp-import/pins.py` | | -| `DiffractoCoreTests/Fixtures/polonium_P1_supercell_7x.cif` | 737 B | `tools/pins/conventional-cell/pins.py` | | +| `DiffractoCoreTests/Fixtures/polonium_P1_supercell_7x.cif` | 737 B | `tools/pins/conventional-cell/pins.py` | written for this kit (GPL-3.0-only) | | `DiffractoCoreTests/Fixtures/presets-pins.json` | 21.1 KB | `tools/pins/presets/pins.py` | | | `DiffractoCoreTests/Fixtures/pymatgen-cells-pins.json` | 2.7 MB | `tools/pins/cells/pins.py`, `tools/pins/conventional-cell/pins.py` | | -| `DiffractoCoreTests/Fixtures/pyrite_Pa-3.cif` | 1.1 KB | `tools/pins/cells/pins.py`, `tools/pins/structure-factors/pins.py` | | -| `DiffractoCoreTests/Fixtures/pyrite_Pa-3_as_seeded.cif` | 787 B | `tools/pins/cells/pins.py` | | -| `DiffractoCoreTests/Fixtures/rocksalt_Fm-3m_192ops.cif` | 3.5 KB | `tools/pins/cells/pins.py`, `tools/pins/structure-factors/pins.py` | | -| `DiffractoCoreTests/Fixtures/rocksalt_P1_origin_shifted.cif` | 703 B | review regression CIF, read by `RefuterRegressionTests` | | -| `DiffractoCoreTests/Fixtures/silicon_Fd-3m.cif` | 498 B | `tools/pins/cells/pins.py`, `tools/pins/structure-factors/pins.py` | | +| `DiffractoCoreTests/Fixtures/pyrite_Pa-3.cif` | 1.1 KB | `tools/pins/cells/pins.py`, `tools/pins/structure-factors/pins.py` | mac4DSTEM tests: from mac4DSTEM 7448401b (GPL-3.0, same author), named in its first comment line | +| `DiffractoCoreTests/Fixtures/pyrite_Pa-3_as_seeded.cif` | 787 B | `tools/pins/cells/pins.py` | mac4DSTEM tests: from mac4DSTEM 7448401b (GPL-3.0, same author), named in its first comment line | +| `DiffractoCoreTests/Fixtures/rocksalt_Fm-3m_192ops.cif` | 3.5 KB | `tools/pins/cells/pins.py`, `tools/pins/structure-factors/pins.py` | mac4DSTEM tests: from mac4DSTEM 7448401b (GPL-3.0, same author), named in its first comment line | +| `DiffractoCoreTests/Fixtures/rocksalt_P1_origin_shifted.cif` | 703 B | review regression CIF, read by `RefuterRegressionTests` | written for this kit (GPL-3.0-only) | +| `DiffractoCoreTests/Fixtures/silicon_Fd-3m.cif` | 498 B | `tools/pins/cells/pins.py`, `tools/pins/structure-factors/pins.py` | mac4DSTEM tests: from mac4DSTEM 7448401b (GPL-3.0, same author), named in its first comment line | | `DiffractoCoreTests/Fixtures/spglib-conventional-cell-pins.json` | 2.2 MB | `tools/pins/conventional-cell/pins.py` | | | `DiffractoCoreTests/Fixtures/tetragonal-pins.json` | 14.3 KB | `tools/pins/cells/tetragonal-pins.py` | | -| `DiffractoCoreTests/Fixtures/tetragonal_a_equals_c.cif` | 387 B | `tools/pins/cells/pins.py` | | -| `DiffractoCoreTests/Fixtures/tetragonal_a_equals_c_4ops.cif` | 623 B | `tools/pins/cells/pins.py` | | -| `DiffractoCoreTests/Fixtures/ws2_2H.cif` | 568 B | `tools/pins/cells/pins.py`, `tools/pins/structure-factors/pins.py` | | +| `DiffractoCoreTests/Fixtures/tetragonal_a_equals_c.cif` | 387 B | `tools/pins/cells/pins.py` | mac4DSTEM tests: from mac4DSTEM 7448401b (GPL-3.0, same author), named in its first comment line | +| `DiffractoCoreTests/Fixtures/tetragonal_a_equals_c_4ops.cif` | 623 B | `tools/pins/cells/pins.py` | mac4DSTEM tests: from mac4DSTEM 7448401b (GPL-3.0, same author), named in its first comment line | +| `DiffractoCoreTests/Fixtures/ws2_2H.cif` | 568 B | `tools/pins/cells/pins.py`, `tools/pins/structure-factors/pins.py` | mac4DSTEM tests: from mac4DSTEM 7448401b (GPL-3.0, same author), named in its first comment line | | `DiffractoGeometryTests/Fixtures/indexing-display-pins.json` | 2.3 KB | `tools/pins/ring-display/indexing-display-pins.py` | | | `DiffractoGeometryTests/Fixtures/numpy-ring-calibration-pins.json` | 139.8 KB | `tools/pins/ring-calibration/q-pins.py`, `tools/pins/ring-calibration/ring-pins.py` | | | `DiffractoGeometryTests/Fixtures/numpy-ring-indexing-pins.json` | 4.7 MB | `tools/pins/ring-indexing/pins.py` | |