easydiffraction 0.13.1__tar.gz → 0.14.0__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/PKG-INFO +2 -1
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/docs/architecture/architecture.md +118 -76
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/docs/architecture/issues_closed.md +16 -6
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/docs/architecture/issues_open.md +6 -26
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/docs/architecture/package-structure-full.md +20 -5
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/docs/architecture/package-structure-short.md +13 -3
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/docs/docs/tutorials/ed-1.ipynb +3 -3
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/docs/docs/tutorials/ed-1.py +3 -3
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/docs/docs/tutorials/ed-10.ipynb +2 -2
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/docs/docs/tutorials/ed-10.py +2 -2
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/docs/docs/tutorials/ed-11.ipynb +5 -5
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/docs/docs/tutorials/ed-11.py +5 -5
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/docs/docs/tutorials/ed-12.ipynb +15 -25
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/docs/docs/tutorials/ed-12.py +6 -9
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/docs/docs/tutorials/ed-13.ipynb +103 -84
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/docs/docs/tutorials/ed-13.py +71 -54
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/docs/docs/tutorials/ed-14.ipynb +4 -4
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/docs/docs/tutorials/ed-14.py +4 -4
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/docs/docs/tutorials/ed-15.ipynb +29 -21
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/docs/docs/tutorials/ed-15.py +8 -7
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/docs/docs/tutorials/ed-16.ipynb +6 -6
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/docs/docs/tutorials/ed-16.py +6 -6
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/docs/docs/tutorials/ed-17.ipynb +48 -18
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/docs/docs/tutorials/ed-17.py +48 -18
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/docs/docs/tutorials/ed-18.ipynb +4 -20
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/docs/docs/tutorials/ed-18.py +2 -8
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/docs/docs/tutorials/ed-2.ipynb +6 -7
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/docs/docs/tutorials/ed-2.py +6 -7
- easydiffraction-0.14.0/docs/docs/tutorials/ed-20.ipynb +816 -0
- easydiffraction-0.14.0/docs/docs/tutorials/ed-20.py +381 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/docs/docs/tutorials/ed-3.ipynb +138 -228
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/docs/docs/tutorials/ed-3.py +25 -55
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/docs/docs/tutorials/ed-4.ipynb +8 -4
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/docs/docs/tutorials/ed-4.py +8 -4
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/docs/docs/tutorials/ed-5.ipynb +10 -12
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/docs/docs/tutorials/ed-5.py +10 -12
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/docs/docs/tutorials/ed-6.ipynb +12 -13
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/docs/docs/tutorials/ed-6.py +12 -13
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/docs/docs/tutorials/ed-7.ipynb +23 -14
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/docs/docs/tutorials/ed-7.py +23 -14
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/docs/docs/tutorials/ed-8.ipynb +9 -12
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/docs/docs/tutorials/ed-8.py +9 -12
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/docs/docs/tutorials/ed-9.ipynb +5 -7
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/docs/docs/tutorials/ed-9.py +4 -6
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/docs/docs/tutorials/index.json +7 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/docs/docs/tutorials/index.md +8 -3
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/docs/docs/user-guide/analysis-workflow/analysis.md +10 -11
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/docs/docs/user-guide/analysis-workflow/project.md +13 -18
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/docs/docs/user-guide/first-steps.md +7 -8
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/docs/mkdocs.yml +3 -1
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/pixi.lock +708 -657
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/pyproject.toml +1 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/src/easydiffraction/__main__.py +3 -3
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/src/easydiffraction/analysis/analysis.py +13 -66
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/src/easydiffraction/analysis/calculators/crysfml.py +125 -39
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/src/easydiffraction/analysis/calculators/cryspy.py +77 -50
- easydiffraction-0.14.0/src/easydiffraction/analysis/categories/fit/__init__.py +6 -0
- easydiffraction-0.14.0/src/easydiffraction/analysis/categories/fit/default.py +200 -0
- {easydiffraction-0.13.1/src/easydiffraction/analysis/categories/fit_mode → easydiffraction-0.14.0/src/easydiffraction/analysis/categories/fit}/enums.py +2 -2
- {easydiffraction-0.13.1/src/easydiffraction/analysis/categories/fit_mode → easydiffraction-0.14.0/src/easydiffraction/analysis/categories/fit}/factory.py +3 -3
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/src/easydiffraction/analysis/sequential.py +3 -5
- easydiffraction-0.14.0/src/easydiffraction/datablocks/experiment/categories/calculation/__init__.py +8 -0
- easydiffraction-0.14.0/src/easydiffraction/datablocks/experiment/categories/calculation/default.py +106 -0
- easydiffraction-0.14.0/src/easydiffraction/datablocks/experiment/categories/calculation/factory.py +17 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/src/easydiffraction/datablocks/experiment/categories/data/bragg_pd.py +1 -1
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/src/easydiffraction/datablocks/experiment/categories/data/bragg_sc.py +1 -1
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/src/easydiffraction/datablocks/experiment/categories/data/total_pd.py +1 -1
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/src/easydiffraction/datablocks/experiment/categories/instrument/tof.py +1 -1
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/src/easydiffraction/datablocks/experiment/categories/peak/__init__.py +1 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/src/easydiffraction/datablocks/experiment/categories/peak/cwl.py +7 -6
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/src/easydiffraction/datablocks/experiment/categories/peak/cwl_mixins.py +2 -2
- easydiffraction-0.14.0/src/easydiffraction/datablocks/experiment/categories/peak/factory.py +148 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/src/easydiffraction/datablocks/experiment/categories/peak/tof.py +38 -12
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/src/easydiffraction/datablocks/experiment/categories/peak/total.py +7 -3
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/src/easydiffraction/datablocks/experiment/item/base.py +143 -100
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/src/easydiffraction/datablocks/experiment/item/bragg_pd.py +21 -11
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/src/easydiffraction/datablocks/experiment/item/enums.py +35 -27
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/src/easydiffraction/datablocks/experiment/item/factory.py +2 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/src/easydiffraction/datablocks/structure/categories/atom_site_aniso/default.py +0 -42
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/src/easydiffraction/datablocks/structure/categories/atom_sites/default.py +3 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/src/easydiffraction/datablocks/structure/item/base.py +17 -10
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/src/easydiffraction/io/cif/serialize.py +69 -36
- easydiffraction-0.14.0/src/easydiffraction/project/categories/display/__init__.py +8 -0
- easydiffraction-0.14.0/src/easydiffraction/project/categories/display/default.py +117 -0
- easydiffraction-0.14.0/src/easydiffraction/project/categories/display/factory.py +17 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/src/easydiffraction/project/project.py +17 -20
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/src/easydiffraction/summary/summary.py +2 -2
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/src/easydiffraction/utils/utils.py +2 -2
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/tests/functional/test_adp_switching.py +5 -7
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/tests/functional/test_switchable_categories.py +5 -5
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/tests/integration/fitting/conftest.py +1 -1
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/tests/integration/fitting/test_analysis_display.py +5 -6
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/tests/integration/fitting/test_aniso_adp_fitting.py +2 -3
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/tests/integration/fitting/test_exploration_help.py +4 -7
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/tests/integration/fitting/test_multi.py +3 -3
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/tests/integration/fitting/test_plotting.py +5 -5
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/tests/integration/fitting/test_powder-diffraction_constant-wavelength.py +3 -3
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/tests/integration/fitting/test_powder-diffraction_joint-fit.py +4 -4
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/tests/integration/fitting/test_powder-diffraction_time-of-flight.py +2 -2
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/tests/integration/fitting/test_project_load.py +2 -2
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/tests/integration/fitting/test_switch-calculator.py +3 -3
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/tests/integration/scipp-analysis/dream/test_package_import.py +6 -0
- easydiffraction-0.14.0/tests/unit/easydiffraction/analysis/calculators/test_cryspy.py +116 -0
- easydiffraction-0.14.0/tests/unit/easydiffraction/analysis/categories/test_fit.py +92 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/tests/unit/easydiffraction/analysis/test_analysis.py +9 -9
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/tests/unit/easydiffraction/analysis/test_analysis_coverage.py +3 -3
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/tests/unit/easydiffraction/core/test_parameters.py +2 -2
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/tests/unit/easydiffraction/datablocks/experiment/categories/background/test_base.py +2 -2
- easydiffraction-0.14.0/tests/unit/easydiffraction/datablocks/experiment/categories/calculation/test_default.py +90 -0
- easydiffraction-0.14.0/tests/unit/easydiffraction/datablocks/experiment/categories/calculation/test_factory.py +27 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/tests/unit/easydiffraction/datablocks/experiment/categories/instrument/test_tof.py +1 -1
- easydiffraction-0.14.0/tests/unit/easydiffraction/datablocks/experiment/categories/peak/test_factory.py +89 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/tests/unit/easydiffraction/datablocks/experiment/categories/peak/test_tof.py +13 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/tests/unit/easydiffraction/datablocks/experiment/item/test_base_coverage.py +15 -15
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/tests/unit/easydiffraction/datablocks/experiment/item/test_bragg_sc_coverage.py +4 -4
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/tests/unit/easydiffraction/datablocks/experiment/item/test_enums_coverage.py +24 -12
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/tests/unit/easydiffraction/datablocks/experiment/test_collection.py +1 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/tests/unit/easydiffraction/datablocks/structure/categories/test_atom_site_aniso.py +48 -87
- easydiffraction-0.14.0/tests/unit/easydiffraction/display/tablers/__init__.py +2 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/tests/unit/easydiffraction/io/cif/test_serialize.py +39 -1
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/tests/unit/easydiffraction/io/cif/test_serialize_more.py +5 -7
- easydiffraction-0.14.0/tests/unit/easydiffraction/project/categories/display/test_default.py +55 -0
- easydiffraction-0.14.0/tests/unit/easydiffraction/project/categories/display/test_factory.py +23 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/tests/unit/easydiffraction/project/test_project_load.py +16 -5
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/tests/unit/easydiffraction/summary/test_summary.py +4 -1
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/tests/unit/easydiffraction/summary/test_summary_details.py +9 -2
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/tests/unit/easydiffraction/test___main__.py +21 -29
- easydiffraction-0.13.1/docs/docs/tutorials/data/ed-7.xye +0 -5600
- easydiffraction-0.13.1/docs/docs/tutorials/ed-19.ipynb +0 -1101
- easydiffraction-0.13.1/docs/docs/tutorials/ed-19.py +0 -566
- easydiffraction-0.13.1/src/easydiffraction/analysis/categories/fit_mode/__init__.py +0 -6
- easydiffraction-0.13.1/src/easydiffraction/analysis/categories/fit_mode/fit_mode.py +0 -65
- easydiffraction-0.13.1/src/easydiffraction/datablocks/experiment/categories/peak/factory.py +0 -30
- easydiffraction-0.13.1/tests/unit/easydiffraction/analysis/calculators/test_cryspy.py +0 -28
- easydiffraction-0.13.1/tests/unit/easydiffraction/analysis/categories/test_fit_mode.py +0 -85
- easydiffraction-0.13.1/tests/unit/easydiffraction/datablocks/experiment/categories/peak/test_factory.py +0 -57
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/.badgery.yaml +0 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/.codefactorignore +0 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/.copier-answers.yml +0 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/.github/actions/download-artifact/action.yml +0 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/.github/actions/github-script/action.yml +0 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/.github/actions/setup-easyscience-bot/action.yml +0 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/.github/actions/setup-pixi/action.yml +0 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/.github/actions/upload-artifact/action.yml +0 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/.github/actions/upload-codecov/action.yml +0 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/.github/configs/pages-deployment.json +0 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/.github/configs/rulesets-develop.json +0 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/.github/configs/rulesets-gh-pages.json +0 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/.github/configs/rulesets-master.json +0 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/.github/copilot-instructions.md +0 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/.github/scripts/backmerge-conflict-issue.js +0 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/.github/workflows/backmerge.yml +0 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/.github/workflows/cleanup.yml +0 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/.github/workflows/coverage.yml +0 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/.github/workflows/dashboard.yml +0 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/.github/workflows/docs.yml +0 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/.github/workflows/issues-labels.yml +0 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/.github/workflows/lint-format.yml +0 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/.github/workflows/pr-labels.yml +0 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/.github/workflows/pypi-publish.yml +0 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/.github/workflows/pypi-test.yml +0 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/.github/workflows/release-notes.yml +0 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/.github/workflows/release-pr.yml +0 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/.github/workflows/security.yml +0 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/.github/workflows/test-trigger.yml +0 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/.github/workflows/test.yml +0 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/.github/workflows/tutorial-tests-colab.yaml +0 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/.github/workflows/tutorial-tests-trigger.yml +0 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/.github/workflows/tutorial-tests.yml +0 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/.gitignore +0 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/.pre-commit-config.yaml +0 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/.prettierignore +0 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/CONTRIBUTING.md +0 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/LICENSE +0 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/README.md +0 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/codecov.yml +0 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/docs/architecture/ROADMAP.md +0 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/docs/architecture/adp_implementation.md +0 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/docs/architecture/cryspy-dwf-bug.md +0 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/docs/docs/api-reference/analysis.md +0 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/docs/docs/api-reference/core.md +0 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/docs/docs/api-reference/crystallography.md +0 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/docs/docs/api-reference/datablocks/experiment.md +0 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/docs/docs/api-reference/datablocks/structure.md +0 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/docs/docs/api-reference/display.md +0 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/docs/docs/api-reference/index.md +0 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/docs/docs/api-reference/io.md +0 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/docs/docs/api-reference/project.md +0 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/docs/docs/api-reference/summary.md +0 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/docs/docs/api-reference/utils.md +0 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/docs/docs/assets/images/favicon.png +0 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/docs/docs/assets/images/logo_dark.svg +0 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/docs/docs/assets/images/logo_light.svg +0 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/docs/docs/assets/images/user-guide/data-acquisition_2d-raw-data.jpg +0 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/docs/docs/assets/images/user-guide/data-acquisition_instrument.png +0 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/docs/docs/assets/images/user-guide/data-analysis_model.png +0 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/docs/docs/assets/images/user-guide/data-analysis_refinement.png +0 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/docs/docs/assets/images/user-guide/data-reduction_1d-pattern.png +0 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/docs/docs/assets/javascripts/extra.js +0 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/docs/docs/assets/javascripts/mathjax.js +0 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/docs/docs/assets/stylesheets/extra.css +0 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/docs/docs/cli/index.md +0 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/docs/docs/index.md +0 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/docs/docs/installation-and-setup/index.md +0 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/docs/docs/introduction/index.md +0 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/docs/docs/user-guide/analysis-workflow/experiment.md +0 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/docs/docs/user-guide/analysis-workflow/index.md +0 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/docs/docs/user-guide/analysis-workflow/model.md +0 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/docs/docs/user-guide/analysis-workflow/summary.md +0 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/docs/docs/user-guide/concept.md +0 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/docs/docs/user-guide/data-format.md +0 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/docs/docs/user-guide/glossary.md +0 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/docs/docs/user-guide/index.md +0 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/docs/docs/user-guide/parameters/_diffrn_radiation.md +0 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/docs/docs/user-guide/parameters/_diffrn_radiation_wavelength.md +0 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/docs/docs/user-guide/parameters/_exptl_crystal.md +0 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/docs/docs/user-guide/parameters/_extinction.md +0 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/docs/docs/user-guide/parameters/_pd_calib.md +0 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/docs/docs/user-guide/parameters/atom_site.md +0 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/docs/docs/user-guide/parameters/background.md +0 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/docs/docs/user-guide/parameters/cell.md +0 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/docs/docs/user-guide/parameters/expt_type.md +0 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/docs/docs/user-guide/parameters/instrument.md +0 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/docs/docs/user-guide/parameters/linked_phases.md +0 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/docs/docs/user-guide/parameters/pd_meas.md +0 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/docs/docs/user-guide/parameters/peak.md +0 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/docs/docs/user-guide/parameters/space_group.md +0 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/docs/docs/user-guide/parameters.md +0 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/docs/includes/abbreviations.md +0 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/docs/overrides/.icons/app.svg +0 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/docs/overrides/.icons/easydiffraction.svg +0 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/docs/overrides/.icons/easyscience.svg +0 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/docs/overrides/.icons/google-colab.svg +0 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/docs/overrides/main.html +0 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/docs/overrides/partials/logo.html +0 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/pixi.toml +0 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/prettierrc.toml +0 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/src/easydiffraction/__init__.py +0 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/src/easydiffraction/analysis/__init__.py +0 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/src/easydiffraction/analysis/calculators/__init__.py +0 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/src/easydiffraction/analysis/calculators/base.py +0 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/src/easydiffraction/analysis/calculators/factory.py +0 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/src/easydiffraction/analysis/calculators/pdffit.py +0 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/src/easydiffraction/analysis/categories/__init__.py +0 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/src/easydiffraction/analysis/categories/aliases/__init__.py +0 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/src/easydiffraction/analysis/categories/aliases/default.py +0 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/src/easydiffraction/analysis/categories/aliases/factory.py +0 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/src/easydiffraction/analysis/categories/constraints/__init__.py +0 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/src/easydiffraction/analysis/categories/constraints/default.py +0 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/src/easydiffraction/analysis/categories/constraints/factory.py +0 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/src/easydiffraction/analysis/categories/joint_fit_experiments/__init__.py +0 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/src/easydiffraction/analysis/categories/joint_fit_experiments/default.py +0 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/src/easydiffraction/analysis/categories/joint_fit_experiments/factory.py +0 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/src/easydiffraction/analysis/fit_helpers/__init__.py +0 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/src/easydiffraction/analysis/fit_helpers/metrics.py +0 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/src/easydiffraction/analysis/fit_helpers/reporting.py +0 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/src/easydiffraction/analysis/fit_helpers/tracking.py +0 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/src/easydiffraction/analysis/fitting.py +0 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/src/easydiffraction/analysis/minimizers/__init__.py +0 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/src/easydiffraction/analysis/minimizers/base.py +0 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/src/easydiffraction/analysis/minimizers/bumps.py +0 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/src/easydiffraction/analysis/minimizers/bumps_amoeba.py +0 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/src/easydiffraction/analysis/minimizers/bumps_de.py +0 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/src/easydiffraction/analysis/minimizers/bumps_lm.py +0 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/src/easydiffraction/analysis/minimizers/dfols.py +0 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/src/easydiffraction/analysis/minimizers/enums.py +0 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/src/easydiffraction/analysis/minimizers/factory.py +0 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/src/easydiffraction/analysis/minimizers/lmfit.py +0 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/src/easydiffraction/analysis/minimizers/lmfit_least_squares.py +0 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/src/easydiffraction/analysis/minimizers/lmfit_leastsq.py +0 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/src/easydiffraction/core/__init__.py +0 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/src/easydiffraction/core/category.py +0 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/src/easydiffraction/core/collection.py +0 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/src/easydiffraction/core/datablock.py +0 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/src/easydiffraction/core/diagnostic.py +0 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/src/easydiffraction/core/factory.py +0 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/src/easydiffraction/core/guard.py +0 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/src/easydiffraction/core/identity.py +0 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/src/easydiffraction/core/metadata.py +0 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/src/easydiffraction/core/singleton.py +0 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/src/easydiffraction/core/validation.py +0 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/src/easydiffraction/core/variable.py +0 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/src/easydiffraction/crystallography/__init__.py +0 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/src/easydiffraction/crystallography/crystallography.py +0 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/src/easydiffraction/crystallography/space_groups.pkl.gz +0 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/src/easydiffraction/crystallography/space_groups.py +0 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/src/easydiffraction/datablocks/__init__.py +0 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/src/easydiffraction/datablocks/experiment/__init__.py +0 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/src/easydiffraction/datablocks/experiment/categories/__init__.py +0 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/src/easydiffraction/datablocks/experiment/categories/background/__init__.py +0 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/src/easydiffraction/datablocks/experiment/categories/background/base.py +0 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/src/easydiffraction/datablocks/experiment/categories/background/chebyshev.py +0 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/src/easydiffraction/datablocks/experiment/categories/background/enums.py +0 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/src/easydiffraction/datablocks/experiment/categories/background/factory.py +0 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/src/easydiffraction/datablocks/experiment/categories/background/line_segment.py +0 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/src/easydiffraction/datablocks/experiment/categories/data/__init__.py +0 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/src/easydiffraction/datablocks/experiment/categories/data/factory.py +0 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/src/easydiffraction/datablocks/experiment/categories/diffrn/__init__.py +0 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/src/easydiffraction/datablocks/experiment/categories/diffrn/default.py +0 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/src/easydiffraction/datablocks/experiment/categories/diffrn/factory.py +0 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/src/easydiffraction/datablocks/experiment/categories/excluded_regions/__init__.py +0 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/src/easydiffraction/datablocks/experiment/categories/excluded_regions/default.py +0 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/src/easydiffraction/datablocks/experiment/categories/excluded_regions/factory.py +0 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/src/easydiffraction/datablocks/experiment/categories/experiment_type/__init__.py +0 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/src/easydiffraction/datablocks/experiment/categories/experiment_type/default.py +0 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/src/easydiffraction/datablocks/experiment/categories/experiment_type/factory.py +0 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/src/easydiffraction/datablocks/experiment/categories/extinction/__init__.py +0 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/src/easydiffraction/datablocks/experiment/categories/extinction/becker_coppens.py +0 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/src/easydiffraction/datablocks/experiment/categories/extinction/factory.py +0 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/src/easydiffraction/datablocks/experiment/categories/instrument/__init__.py +0 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/src/easydiffraction/datablocks/experiment/categories/instrument/base.py +0 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/src/easydiffraction/datablocks/experiment/categories/instrument/cwl.py +0 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/src/easydiffraction/datablocks/experiment/categories/instrument/factory.py +0 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/src/easydiffraction/datablocks/experiment/categories/linked_crystal/__init__.py +0 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/src/easydiffraction/datablocks/experiment/categories/linked_crystal/default.py +0 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/src/easydiffraction/datablocks/experiment/categories/linked_crystal/factory.py +0 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/src/easydiffraction/datablocks/experiment/categories/linked_phases/__init__.py +0 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/src/easydiffraction/datablocks/experiment/categories/linked_phases/default.py +0 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/src/easydiffraction/datablocks/experiment/categories/linked_phases/factory.py +0 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/src/easydiffraction/datablocks/experiment/categories/peak/base.py +0 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/src/easydiffraction/datablocks/experiment/categories/peak/tof_mixins.py +0 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/src/easydiffraction/datablocks/experiment/categories/peak/total_mixins.py +0 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/src/easydiffraction/datablocks/experiment/collection.py +0 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/src/easydiffraction/datablocks/experiment/item/__init__.py +0 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/src/easydiffraction/datablocks/experiment/item/bragg_sc.py +0 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/src/easydiffraction/datablocks/experiment/item/total_pd.py +0 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/src/easydiffraction/datablocks/structure/__init__.py +0 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/src/easydiffraction/datablocks/structure/categories/__init__.py +0 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/src/easydiffraction/datablocks/structure/categories/atom_site_aniso/__init__.py +0 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/src/easydiffraction/datablocks/structure/categories/atom_site_aniso/factory.py +0 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/src/easydiffraction/datablocks/structure/categories/atom_sites/__init__.py +0 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/src/easydiffraction/datablocks/structure/categories/atom_sites/enums.py +0 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/src/easydiffraction/datablocks/structure/categories/atom_sites/factory.py +0 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/src/easydiffraction/datablocks/structure/categories/cell/__init__.py +0 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/src/easydiffraction/datablocks/structure/categories/cell/default.py +0 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/src/easydiffraction/datablocks/structure/categories/cell/factory.py +0 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/src/easydiffraction/datablocks/structure/categories/space_group/__init__.py +0 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/src/easydiffraction/datablocks/structure/categories/space_group/default.py +0 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/src/easydiffraction/datablocks/structure/categories/space_group/factory.py +0 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/src/easydiffraction/datablocks/structure/collection.py +0 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/src/easydiffraction/datablocks/structure/item/__init__.py +0 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/src/easydiffraction/datablocks/structure/item/factory.py +0 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/src/easydiffraction/display/__init__.py +0 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/src/easydiffraction/display/base.py +0 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/src/easydiffraction/display/plotters/__init__.py +0 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/src/easydiffraction/display/plotters/ascii.py +0 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/src/easydiffraction/display/plotters/base.py +0 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/src/easydiffraction/display/plotters/plotly.py +0 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/src/easydiffraction/display/plotting.py +0 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/src/easydiffraction/display/tablers/__init__.py +0 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/src/easydiffraction/display/tablers/base.py +0 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/src/easydiffraction/display/tablers/pandas.py +0 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/src/easydiffraction/display/tablers/rich.py +0 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/src/easydiffraction/display/tables.py +0 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/src/easydiffraction/display/utils.py +0 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/src/easydiffraction/io/__init__.py +0 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/src/easydiffraction/io/ascii.py +0 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/src/easydiffraction/io/cif/__init__.py +0 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/src/easydiffraction/io/cif/handler.py +0 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/src/easydiffraction/io/cif/parse.py +0 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/src/easydiffraction/project/__init__.py +0 -0
- {easydiffraction-0.13.1/src/easydiffraction/summary → easydiffraction-0.14.0/src/easydiffraction/project/categories}/__init__.py +0 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/src/easydiffraction/project/project_info.py +0 -0
- {easydiffraction-0.13.1/tests/unit/easydiffraction/datablocks/structure/categories → easydiffraction-0.14.0/src/easydiffraction/summary}/__init__.py +0 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/src/easydiffraction/utils/__init__.py +0 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/src/easydiffraction/utils/_vendored/__init__.py +0 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/src/easydiffraction/utils/_vendored/jupyter_dark_detect/__init__.py +0 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/src/easydiffraction/utils/_vendored/jupyter_dark_detect/detector.py +0 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/src/easydiffraction/utils/_vendored/theme_detect.py +0 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/src/easydiffraction/utils/enums.py +0 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/src/easydiffraction/utils/environment.py +0 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/src/easydiffraction/utils/logging.py +0 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/tests/functional/conftest.py +0 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/tests/functional/test_experiment_workflow.py +0 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/tests/functional/test_fitting_workflow.py +0 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/tests/functional/test_project_lifecycle.py +0 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/tests/functional/test_structure_workflow.py +0 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/tests/integration/fitting/test_cif_round_trip.py +0 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/tests/integration/fitting/test_pair-distribution-function.py +0 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/tests/integration/fitting/test_sequential.py +0 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/tests/integration/fitting/test_single-crystal-diffraction.py +0 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/tests/integration/fitting/test_summary_report.py +0 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/tests/integration/scipp-analysis/dream/conftest.py +0 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/tests/integration/scipp-analysis/dream/test_analyze_reduced_data.py +0 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/tests/integration/scipp-analysis/dream/test_read_reduced_data.py +0 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/tests/integration/scipp-analysis/dream/test_validate_meta_data.py +0 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/tests/integration/scipp-analysis/dream/test_validate_physical_data.py +0 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/tests/unit/easydiffraction/analysis/calculators/test_base.py +0 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/tests/unit/easydiffraction/analysis/calculators/test_crysfml.py +0 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/tests/unit/easydiffraction/analysis/calculators/test_factory.py +0 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/tests/unit/easydiffraction/analysis/calculators/test_pdffit.py +0 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/tests/unit/easydiffraction/analysis/categories/test_aliases.py +0 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/tests/unit/easydiffraction/analysis/categories/test_constraints.py +0 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/tests/unit/easydiffraction/analysis/categories/test_joint_fit_experiments.py +0 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/tests/unit/easydiffraction/analysis/fit_helpers/test_metrics.py +0 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/tests/unit/easydiffraction/analysis/fit_helpers/test_reporting.py +0 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/tests/unit/easydiffraction/analysis/fit_helpers/test_tracking.py +0 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/tests/unit/easydiffraction/analysis/minimizers/test_base.py +0 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/tests/unit/easydiffraction/analysis/minimizers/test_bumps.py +0 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/tests/unit/easydiffraction/analysis/minimizers/test_bumps_amoeba.py +0 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/tests/unit/easydiffraction/analysis/minimizers/test_bumps_de.py +0 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/tests/unit/easydiffraction/analysis/minimizers/test_bumps_lm.py +0 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/tests/unit/easydiffraction/analysis/minimizers/test_dfols.py +0 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/tests/unit/easydiffraction/analysis/minimizers/test_enums.py +0 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/tests/unit/easydiffraction/analysis/minimizers/test_factory.py +0 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/tests/unit/easydiffraction/analysis/minimizers/test_lmfit.py +0 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/tests/unit/easydiffraction/analysis/minimizers/test_lmfit_least_squares.py +0 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/tests/unit/easydiffraction/analysis/minimizers/test_lmfit_leastsq.py +0 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/tests/unit/easydiffraction/analysis/test_analysis_access_params.py +0 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/tests/unit/easydiffraction/analysis/test_analysis_show_empty.py +0 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/tests/unit/easydiffraction/analysis/test_fitting.py +0 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/tests/unit/easydiffraction/analysis/test_sequential.py +0 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/tests/unit/easydiffraction/core/test_category.py +0 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/tests/unit/easydiffraction/core/test_collection.py +0 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/tests/unit/easydiffraction/core/test_datablock.py +0 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/tests/unit/easydiffraction/core/test_diagnostic.py +0 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/tests/unit/easydiffraction/core/test_factory.py +0 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/tests/unit/easydiffraction/core/test_guard.py +0 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/tests/unit/easydiffraction/core/test_identity.py +0 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/tests/unit/easydiffraction/core/test_metadata.py +0 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/tests/unit/easydiffraction/core/test_singletons.py +0 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/tests/unit/easydiffraction/core/test_validation.py +0 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/tests/unit/easydiffraction/crystallography/test_crystallography.py +0 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/tests/unit/easydiffraction/crystallography/test_crystallography_coverage.py +0 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/tests/unit/easydiffraction/crystallography/test_crystallography_wyckoff.py +0 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/tests/unit/easydiffraction/crystallography/test_space_groups.py +0 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/tests/unit/easydiffraction/crystallography/test_space_groups_coverage.py +0 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/tests/unit/easydiffraction/datablocks/experiment/categories/background/test_chebyshev.py +0 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/tests/unit/easydiffraction/datablocks/experiment/categories/background/test_enums.py +0 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/tests/unit/easydiffraction/datablocks/experiment/categories/background/test_factory.py +0 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/tests/unit/easydiffraction/datablocks/experiment/categories/background/test_line_segment.py +0 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/tests/unit/easydiffraction/datablocks/experiment/categories/data/test_bragg_pd.py +0 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/tests/unit/easydiffraction/datablocks/experiment/categories/data/test_bragg_sc.py +0 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/tests/unit/easydiffraction/datablocks/experiment/categories/data/test_factory.py +0 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/tests/unit/easydiffraction/datablocks/experiment/categories/data/test_total_pd.py +0 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/tests/unit/easydiffraction/datablocks/experiment/categories/instrument/test_base.py +0 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/tests/unit/easydiffraction/datablocks/experiment/categories/instrument/test_cwl.py +0 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/tests/unit/easydiffraction/datablocks/experiment/categories/instrument/test_factory.py +0 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/tests/unit/easydiffraction/datablocks/experiment/categories/peak/test_base.py +0 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/tests/unit/easydiffraction/datablocks/experiment/categories/peak/test_cwl.py +0 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/tests/unit/easydiffraction/datablocks/experiment/categories/peak/test_cwl_mixins.py +0 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/tests/unit/easydiffraction/datablocks/experiment/categories/peak/test_tof_mixins.py +0 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/tests/unit/easydiffraction/datablocks/experiment/categories/peak/test_total.py +0 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/tests/unit/easydiffraction/datablocks/experiment/categories/peak/test_total_mixins.py +0 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/tests/unit/easydiffraction/datablocks/experiment/categories/test_diffrn.py +0 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/tests/unit/easydiffraction/datablocks/experiment/categories/test_excluded_regions.py +0 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/tests/unit/easydiffraction/datablocks/experiment/categories/test_experiment_type.py +0 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/tests/unit/easydiffraction/datablocks/experiment/categories/test_extinction.py +0 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/tests/unit/easydiffraction/datablocks/experiment/categories/test_linked_crystal.py +0 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/tests/unit/easydiffraction/datablocks/experiment/categories/test_linked_phases.py +0 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/tests/unit/easydiffraction/datablocks/experiment/item/test_base.py +0 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/tests/unit/easydiffraction/datablocks/experiment/item/test_bragg_pd.py +0 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/tests/unit/easydiffraction/datablocks/experiment/item/test_bragg_sc.py +0 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/tests/unit/easydiffraction/datablocks/experiment/item/test_enums.py +0 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/tests/unit/easydiffraction/datablocks/experiment/item/test_factory.py +0 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/tests/unit/easydiffraction/datablocks/experiment/item/test_factory_coverage.py +0 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/tests/unit/easydiffraction/datablocks/experiment/item/test_total_pd.py +0 -0
- {easydiffraction-0.13.1/tests/unit/easydiffraction/display/tablers → easydiffraction-0.14.0/tests/unit/easydiffraction/datablocks/structure/categories}/__init__.py +0 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/tests/unit/easydiffraction/datablocks/structure/categories/test_atom_sites.py +0 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/tests/unit/easydiffraction/datablocks/structure/categories/test_cell.py +0 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/tests/unit/easydiffraction/datablocks/structure/categories/test_space_group.py +0 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/tests/unit/easydiffraction/datablocks/structure/item/test_base.py +0 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/tests/unit/easydiffraction/datablocks/structure/item/test_base_coverage.py +0 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/tests/unit/easydiffraction/datablocks/structure/item/test_factory.py +0 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/tests/unit/easydiffraction/datablocks/structure/test_collection.py +0 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/tests/unit/easydiffraction/datablocks/structure/test_collection_coverage.py +0 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/tests/unit/easydiffraction/display/plotters/test_ascii.py +0 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/tests/unit/easydiffraction/display/plotters/test_base.py +0 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/tests/unit/easydiffraction/display/plotters/test_plotly.py +0 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/tests/unit/easydiffraction/display/tablers/test_base.py +0 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/tests/unit/easydiffraction/display/tablers/test_pandas.py +0 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/tests/unit/easydiffraction/display/tablers/test_rich.py +0 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/tests/unit/easydiffraction/display/test_base.py +0 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/tests/unit/easydiffraction/display/test_plotting.py +0 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/tests/unit/easydiffraction/display/test_plotting_coverage.py +0 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/tests/unit/easydiffraction/display/test_tables.py +0 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/tests/unit/easydiffraction/display/test_utils.py +0 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/tests/unit/easydiffraction/io/cif/test_handler.py +0 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/tests/unit/easydiffraction/io/cif/test_parse.py +0 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/tests/unit/easydiffraction/io/test_ascii.py +0 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/tests/unit/easydiffraction/project/test_project.py +0 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/tests/unit/easydiffraction/project/test_project_info.py +0 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/tests/unit/easydiffraction/project/test_project_load_and_summary_wrap.py +0 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/tests/unit/easydiffraction/project/test_project_save.py +0 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/tests/unit/easydiffraction/test___init__.py +0 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/tests/unit/easydiffraction/utils/test_enums.py +0 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/tests/unit/easydiffraction/utils/test_environment.py +0 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/tests/unit/easydiffraction/utils/test_environment_coverage.py +0 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/tests/unit/easydiffraction/utils/test_logging.py +0 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/tests/unit/easydiffraction/utils/test_logging_coverage.py +0 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/tests/unit/easydiffraction/utils/test_theme_detect.py +0 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/tests/unit/easydiffraction/utils/test_utils.py +0 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/tests/unit/easydiffraction/utils/test_utils_coverage.py +0 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/tools/gen_tests_scaffold.py +0 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/tools/generate_package_docs.py +0 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/tools/license_headers.py +0 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/tools/naming_check.py +0 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/tools/param_consistency.py +0 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/tools/test_scripts.py +0 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/tools/test_structure_check.py +0 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/tools/tweak_notebooks.py +0 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/tools/update_docs_assets.py +0 -0
- {easydiffraction-0.13.1 → easydiffraction-0.14.0}/tools/update_github_labels.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: easydiffraction
|
|
3
|
-
Version: 0.
|
|
3
|
+
Version: 0.14.0
|
|
4
4
|
Summary: Diffraction data analysis
|
|
5
5
|
Project-URL: Homepage, https://easydiffraction.org
|
|
6
6
|
Project-URL: Documentation, https://easyscience.github.io/diffraction-lib
|
|
@@ -69,6 +69,7 @@ Requires-Dist: nbstripout; extra == 'dev'
|
|
|
69
69
|
Requires-Dist: pre-commit; extra == 'dev'
|
|
70
70
|
Requires-Dist: pydoclint; extra == 'dev'
|
|
71
71
|
Requires-Dist: pytest; extra == 'dev'
|
|
72
|
+
Requires-Dist: pytest-benchmark; extra == 'dev'
|
|
72
73
|
Requires-Dist: pytest-cov; extra == 'dev'
|
|
73
74
|
Requires-Dist: pytest-xdist; extra == 'dev'
|
|
74
75
|
Requires-Dist: pyyaml; extra == 'dev'
|
|
@@ -389,14 +389,14 @@ class PeakFactory(FactoryBase):
|
|
|
389
389
|
frozenset({
|
|
390
390
|
('scattering_type', ScatteringTypeEnum.BRAGG),
|
|
391
391
|
('beam_mode', BeamModeEnum.CONSTANT_WAVELENGTH),
|
|
392
|
-
}): PeakProfileTypeEnum.
|
|
392
|
+
}): PeakProfileTypeEnum.CWL_PSEUDO_VOIGT,
|
|
393
393
|
frozenset({
|
|
394
394
|
('scattering_type', ScatteringTypeEnum.BRAGG),
|
|
395
395
|
('beam_mode', BeamModeEnum.TIME_OF_FLIGHT),
|
|
396
|
-
}): PeakProfileTypeEnum.
|
|
396
|
+
}): PeakProfileTypeEnum.TOF_JORGENSEN,
|
|
397
397
|
frozenset({
|
|
398
398
|
('scattering_type', ScatteringTypeEnum.TOTAL),
|
|
399
|
-
}): PeakProfileTypeEnum.
|
|
399
|
+
}): PeakProfileTypeEnum.TOTAL_GAUSSIAN_DAMPED_SINC,
|
|
400
400
|
}
|
|
401
401
|
```
|
|
402
402
|
|
|
@@ -413,8 +413,8 @@ attributes:
|
|
|
413
413
|
@PeakFactory.register
|
|
414
414
|
class CwlPseudoVoigt(PeakBase, CwlBroadeningMixin):
|
|
415
415
|
type_info = TypeInfo(
|
|
416
|
-
tag=
|
|
417
|
-
description=
|
|
416
|
+
tag=PeakProfileTypeEnum.CWL_PSEUDO_VOIGT.value,
|
|
417
|
+
description=PeakProfileTypeEnum.CWL_PSEUDO_VOIGT.description(),
|
|
418
418
|
)
|
|
419
419
|
compatibility = Compatibility(
|
|
420
420
|
scattering_type=frozenset({ScatteringTypeEnum.BRAGG}),
|
|
@@ -478,7 +478,11 @@ from .line_segment import LineSegmentBackground
|
|
|
478
478
|
|
|
479
479
|
### 5.6 Tag Naming Convention
|
|
480
480
|
|
|
481
|
-
|
|
481
|
+
Canonical tags are the stable identifiers for factory lookup and
|
|
482
|
+
serialisation. User-facing APIs may expose context-local aliases when
|
|
483
|
+
the owner object already provides enough context to disambiguate the
|
|
484
|
+
choice (for example, `experiment.peak_profile_type = 'pseudo-voigt'`
|
|
485
|
+
inside a CWL or TOF experiment). Canonical tags must be:
|
|
482
486
|
|
|
483
487
|
- **Consistent** — use the same abbreviations everywhere.
|
|
484
488
|
- **Hyphen-separated** — all lowercase, words joined by hyphens.
|
|
@@ -507,15 +511,22 @@ Tags are the user-facing identifiers for selecting types. They must be:
|
|
|
507
511
|
|
|
508
512
|
**Peak tags**
|
|
509
513
|
|
|
510
|
-
|
|
511
|
-
|
|
512
|
-
|
|
513
|
-
|
|
514
|
-
|
|
515
|
-
|
|
516
|
-
|
|
|
517
|
-
|
|
|
518
|
-
| `
|
|
514
|
+
Canonical peak tags are globally unique within `PeakFactory`. The
|
|
515
|
+
experiment-facing `peak_profile_type` getter, setter, and supported-type
|
|
516
|
+
display use context-local aliases so users do not need to type `cwl-`,
|
|
517
|
+
`tof-`, or `total-` when the experiment context already disambiguates
|
|
518
|
+
the choice.
|
|
519
|
+
|
|
520
|
+
| Canonical tag | Local alias | Class |
|
|
521
|
+
| -------------------------------------- | ------------------------------------ | ---------------------------------- |
|
|
522
|
+
| `cwl-pseudo-voigt` | `pseudo-voigt` | `CwlPseudoVoigt` |
|
|
523
|
+
| `cwl-pseudo-voigt-empirical-asymmetry` | `pseudo-voigt + empirical asymmetry` | `CwlPseudoVoigtEmpiricalAsymmetry` |
|
|
524
|
+
| `cwl-thompson-cox-hastings` | `thompson-cox-hastings` | `CwlThompsonCoxHastings` |
|
|
525
|
+
| `tof-pseudo-voigt` | `pseudo-voigt` | `TofPseudoVoigt` |
|
|
526
|
+
| `tof-jorgensen` | `jorgensen` | `TofJorgensen` |
|
|
527
|
+
| `tof-jorgensen-von-dreele` | `jorgensen-von-dreele` | `TofJorgensenVonDreele` |
|
|
528
|
+
| `tof-double-jorgensen-von-dreele` | `double-jorgensen-von-dreele` | `TofDoubleJorgensenVonDreele` |
|
|
529
|
+
| `total-gaussian-damped-sinc` | `gaussian-damped-sinc` | `TotalGaussianDampedSinc` |
|
|
519
530
|
|
|
520
531
|
**Instrument tags**
|
|
521
532
|
|
|
@@ -684,14 +695,14 @@ category's `calculator_support` metadata and
|
|
|
684
695
|
registry by `engine_imported` (whether the third-party library is
|
|
685
696
|
available in the environment).
|
|
686
697
|
|
|
687
|
-
The experiment exposes
|
|
698
|
+
The experiment exposes a dedicated `calculation` category:
|
|
688
699
|
|
|
689
|
-
- `
|
|
690
|
-
|
|
691
|
-
- `
|
|
692
|
-
|
|
693
|
-
|
|
694
|
-
|
|
700
|
+
- `calculation.calculator_type` — getter + setter for the calculator
|
|
701
|
+
backend tag
|
|
702
|
+
- `calculation.calculator` — read-only access to the live backend
|
|
703
|
+
instance
|
|
704
|
+
- `calculation.show_calculator_types()` — filtered by data category
|
|
705
|
+
support and marks the current type
|
|
695
706
|
|
|
696
707
|
### 6.2 Minimiser
|
|
697
708
|
|
|
@@ -713,22 +724,19 @@ workflow:
|
|
|
713
724
|
|
|
714
725
|
`Analysis` is bound to a `Project` and provides the high-level API:
|
|
715
726
|
|
|
716
|
-
-
|
|
717
|
-
`
|
|
718
|
-
|
|
719
|
-
|
|
720
|
-
|
|
721
|
-
|
|
722
|
-
fitting was used. `show_supported_fit_mode_types()` filters by
|
|
723
|
-
experiment count (≤1 → only `single`; >1 → all three).
|
|
724
|
-
`show_current_fit_mode_type()` prints the current mode.
|
|
727
|
+
- Fit configuration: `fit` (`CategoryItem` with `minimizer_type` and
|
|
728
|
+
`mode` descriptors). `fit.minimizer_type` selects the minimizer
|
|
729
|
+
backend. `fit.mode` stores whether fitting is `'single'`, `'joint'`,
|
|
730
|
+
or `'sequential'`. `fit.show_minimizer_types()` lists supported
|
|
731
|
+
minimizers; `fit.show_modes()` filters modes by experiment count (≤1 →
|
|
732
|
+
only `single`; >1 → all three).
|
|
725
733
|
- Joint-fit weights: `joint_fit_experiments` (`CategoryCollection` of
|
|
726
|
-
per-experiment weight entries); sibling of `
|
|
734
|
+
per-experiment weight entries); sibling of `fit`, not a child.
|
|
727
735
|
- Parameter tables: `show_all_params()`, `show_fittable_params()`,
|
|
728
736
|
`show_free_params()`, `how_to_access_parameters()`
|
|
729
|
-
- Fitting: `fit()` dispatches single/joint
|
|
730
|
-
sequential mode (sets `
|
|
731
|
-
`display.fit_results()` shows results.
|
|
737
|
+
- Fitting: `fit()` dispatches single/joint through the callable `fit`
|
|
738
|
+
category; `fit_sequential()` handles sequential mode (sets `fit.mode`
|
|
739
|
+
to `'sequential'` internally). `display.fit_results()` shows results.
|
|
732
740
|
- Aliases and constraints (single-type categories; no public `_type`
|
|
733
741
|
getter or setter)
|
|
734
742
|
|
|
@@ -751,9 +759,9 @@ It owns and coordinates all components:
|
|
|
751
759
|
| `project.info` | `ProjectInfo` | Metadata: name, title, description, path |
|
|
752
760
|
| `project.structures` | `Structures` | Collection of structure datablocks |
|
|
753
761
|
| `project.experiments` | `Experiments` | Collection of experiment datablocks |
|
|
754
|
-
| `project.
|
|
762
|
+
| `project.display` | `Display` | Plot/table engine selection and facades |
|
|
763
|
+
| `project.analysis` | `Analysis` | Minimiser, fitting, aliases, constraints |
|
|
755
764
|
| `project.summary` | `Summary` | Report generation |
|
|
756
|
-
| `project.plotter` | `Plotter` | Visualisation |
|
|
757
765
|
| `project.verbosity` | `str` | Console output level (full/short/silent) |
|
|
758
766
|
|
|
759
767
|
### 7.1 Data Flow
|
|
@@ -778,7 +786,7 @@ Projects are saved as a directory of CIF files:
|
|
|
778
786
|
|
|
779
787
|
```shell
|
|
780
788
|
project_dir/
|
|
781
|
-
├── project.cif # ProjectInfo
|
|
789
|
+
├── project.cif # ProjectInfo + Display preferences
|
|
782
790
|
├── summary.cif # Summary report
|
|
783
791
|
├── structures/
|
|
784
792
|
│ └── lbco.cif # One file per structure
|
|
@@ -788,6 +796,13 @@ project_dir/
|
|
|
788
796
|
└── analysis.cif # Analysis settings
|
|
789
797
|
```
|
|
790
798
|
|
|
799
|
+
`project.cif` carries both the `_project.*` metadata and the
|
|
800
|
+
`_display.*` engine preferences (`plotter_type`, `tabler_type`), so a
|
|
801
|
+
saved project re-opens with the same display backends. Per-experiment
|
|
802
|
+
calculator selection (`_calculation.calculator_type`) lives in each
|
|
803
|
+
experiment file, and fit configuration (`_fit.minimizer_type`,
|
|
804
|
+
`_fit.mode`) lives in `analysis/analysis.cif`.
|
|
805
|
+
|
|
791
806
|
### 7.3 Verbosity
|
|
792
807
|
|
|
793
808
|
`Project.verbosity` controls how much console output operations produce.
|
|
@@ -894,7 +909,7 @@ project.experiments['hrpt'].instrument.setup_wavelength = 1.494
|
|
|
894
909
|
project.experiments['hrpt'].instrument.calib_twotheta_offset = 0.6
|
|
895
910
|
|
|
896
911
|
# Browse and select peak profile type
|
|
897
|
-
project.experiments['hrpt'].
|
|
912
|
+
project.experiments['hrpt'].show_peak_profile_types()
|
|
898
913
|
project.experiments['hrpt'].peak_profile_type = 'pseudo-voigt'
|
|
899
914
|
|
|
900
915
|
# Set peak profile parameters
|
|
@@ -902,7 +917,7 @@ project.experiments['hrpt'].peak.broad_gauss_u = 0.1
|
|
|
902
917
|
project.experiments['hrpt'].peak.broad_gauss_v = -0.1
|
|
903
918
|
|
|
904
919
|
# Browse and select background type
|
|
905
|
-
project.experiments['hrpt'].
|
|
920
|
+
project.experiments['hrpt'].show_background_types()
|
|
906
921
|
project.experiments['hrpt'].background_type = 'line-segment'
|
|
907
922
|
|
|
908
923
|
# Add background points
|
|
@@ -917,12 +932,12 @@ project.experiments['hrpt'].linked_phases.create(id='lbco', scale=10.0)
|
|
|
917
932
|
|
|
918
933
|
```python
|
|
919
934
|
# Calculator is auto-resolved per experiment; override if needed
|
|
920
|
-
project.experiments['hrpt'].
|
|
921
|
-
project.experiments['hrpt'].calculator_type = 'cryspy'
|
|
922
|
-
project.analysis.
|
|
935
|
+
project.experiments['hrpt'].calculation.show_calculator_types()
|
|
936
|
+
project.experiments['hrpt'].calculation.calculator_type = 'cryspy'
|
|
937
|
+
project.analysis.fit.minimizer_type = 'lmfit'
|
|
923
938
|
|
|
924
939
|
# Plot before fitting
|
|
925
|
-
project.plotter.plot_meas_vs_calc(expt_name='hrpt', show_residual=True)
|
|
940
|
+
project.display.plotter.plot_meas_vs_calc(expt_name='hrpt', show_residual=True)
|
|
926
941
|
|
|
927
942
|
# Select free parameters
|
|
928
943
|
project.structures['lbco'].cell.length_a.free = True
|
|
@@ -938,7 +953,7 @@ project.analysis.fit()
|
|
|
938
953
|
project.analysis.display.fit_results()
|
|
939
954
|
|
|
940
955
|
# Plot after fitting
|
|
941
|
-
project.plotter.plot_meas_vs_calc(expt_name='hrpt', show_residual=True)
|
|
956
|
+
project.display.plotter.plot_meas_vs_calc(expt_name='hrpt', show_residual=True)
|
|
942
957
|
|
|
943
958
|
# Save
|
|
944
959
|
project.save()
|
|
@@ -1030,13 +1045,12 @@ exposes the full switchable API:
|
|
|
1030
1045
|
| --------------- | -------------------------------------------- | ------------------------------------------------ |
|
|
1031
1046
|
| Current object | `<category>` property (read-only) | `expt.background`, `expt.peak` |
|
|
1032
1047
|
| Active type tag | `<category>_type` property (getter + setter) | `expt.background_type`, `expt.peak_profile_type` |
|
|
1033
|
-
| Show
|
|
1034
|
-
| Show current | `show_current_<category>_type()` | `expt.show_current_peak_profile_type()` |
|
|
1048
|
+
| Show types | `show_<category>_types()` | `expt.show_background_types()` |
|
|
1035
1049
|
|
|
1036
1050
|
Multi-type categories:
|
|
1037
1051
|
|
|
1038
|
-
- **Experiment:** `
|
|
1039
|
-
`
|
|
1052
|
+
- **Experiment:** `background_type`, `peak_profile_type`,
|
|
1053
|
+
`extinction_type`.
|
|
1040
1054
|
|
|
1041
1055
|
Categories that are **fixed at creation** (determined by the experiment
|
|
1042
1056
|
type and never changed) expose only a read-only `<category>` property
|
|
@@ -1056,10 +1070,15 @@ Single-type categories (no public `_type` property):
|
|
|
1056
1070
|
- **Structure:** `cell`, `space_group`, `atom_sites`, `atom_site_aniso`.
|
|
1057
1071
|
- **Analysis:** `aliases`, `constraints`.
|
|
1058
1072
|
|
|
1059
|
-
`
|
|
1060
|
-
`
|
|
1061
|
-
|
|
1062
|
-
|
|
1073
|
+
`fit` is a dedicated analysis category. Its public selector surface is
|
|
1074
|
+
`fit.minimizer_type` and `fit.mode`; there is no separate owner-level
|
|
1075
|
+
proxy API. Likewise, `calculation` is a dedicated experiment category
|
|
1076
|
+
that owns calculator selection —
|
|
1077
|
+
`experiment.calculation.calculator_type` and
|
|
1078
|
+
`experiment.calculation.show_calculator_types()` — instead of the
|
|
1079
|
+
selector being exposed at the experiment owner level. The same pattern
|
|
1080
|
+
applies to `display` on `Project`, which owns `plotter_type` and
|
|
1081
|
+
`tabler_type` (see §9.4.1).
|
|
1063
1082
|
|
|
1064
1083
|
**Design decisions:**
|
|
1065
1084
|
|
|
@@ -1074,17 +1093,39 @@ the `fit_mode.mode` descriptor directly.
|
|
|
1074
1093
|
displaying the current content (not on the base
|
|
1075
1094
|
`CategoryItem`/`CategoryCollection`).
|
|
1076
1095
|
|
|
1096
|
+
#### 9.4.1 Selector Families
|
|
1097
|
+
|
|
1098
|
+
Not every `_type` attribute represents the same kind of choice. The API
|
|
1099
|
+
recognises three distinct selector families. They share a similar
|
|
1100
|
+
`<name>_type` shape so the user can inspect and set them uniformly, but
|
|
1101
|
+
their intent and ownership differ:
|
|
1102
|
+
|
|
1103
|
+
| Family | User intent | Examples | CIF |
|
|
1104
|
+
| ---------------------------------- | ------------------------------- | --------------------------------------------------------------------------- | ------------------------------------------------------------------------------ |
|
|
1105
|
+
| Backend selector | Pick an execution backend | `fit.minimizer_type`, `calculation.calculator_type`, `display.plotter_type` | `_fit.minimizer_type`, `_calculation.calculator_type`, `_display.plotter_type` |
|
|
1106
|
+
| Switchable-category impl. selector | Swap a category implementation | `experiment.background_type`, `experiment.peak_profile_type` | category-owned type tag such as `_peak.profile_type` |
|
|
1107
|
+
| Semantic value selector | Pick a scientific/analysis mode | `fit.mode` | `_fit.mode` |
|
|
1108
|
+
|
|
1109
|
+
Backend selectors and semantic value selectors live on a dedicated
|
|
1110
|
+
configuration category (`fit`, `calculation`, `display`). Switchable-
|
|
1111
|
+
category implementation selectors are owned by the host (typically the
|
|
1112
|
+
experiment) because switching them replaces the category instance, as
|
|
1113
|
+
described in §9.3.
|
|
1114
|
+
|
|
1077
1115
|
### 9.5 Discoverable Supported Options
|
|
1078
1116
|
|
|
1079
1117
|
The user can always discover what is supported for the current
|
|
1080
1118
|
experiment:
|
|
1081
1119
|
|
|
1082
1120
|
```python
|
|
1083
|
-
expt.
|
|
1084
|
-
expt.
|
|
1085
|
-
expt.
|
|
1086
|
-
expt.
|
|
1087
|
-
project.analysis.
|
|
1121
|
+
expt.show_peak_profile_types()
|
|
1122
|
+
expt.show_background_types()
|
|
1123
|
+
expt.calculation.show_calculator_types()
|
|
1124
|
+
expt.show_extinction_types()
|
|
1125
|
+
project.analysis.fit.show_minimizer_types()
|
|
1126
|
+
project.analysis.fit.show_modes()
|
|
1127
|
+
project.display.show_plotter_types()
|
|
1128
|
+
project.display.show_tabler_types()
|
|
1088
1129
|
```
|
|
1089
1130
|
|
|
1090
1131
|
Available calculators are filtered by `engine_imported` (whether the
|
|
@@ -1122,10 +1163,10 @@ but internal dispatch always uses the enum:
|
|
|
1122
1163
|
|
|
1123
1164
|
```python
|
|
1124
1165
|
# ✅ Correct — compare with enum
|
|
1125
|
-
if self.
|
|
1166
|
+
if self._fit.mode.value == FitModeEnum.JOINT:
|
|
1126
1167
|
|
|
1127
1168
|
# ❌ Wrong — compare with raw string
|
|
1128
|
-
if self.
|
|
1169
|
+
if self._fit.mode.value == 'joint':
|
|
1129
1170
|
```
|
|
1130
1171
|
|
|
1131
1172
|
### 9.7 Flat Category Structure — No Nested Categories
|
|
@@ -1150,25 +1191,26 @@ Owner
|
|
|
1150
1191
|
└── CategoryB ← WRONG: CategoryB is a child of CategoryA
|
|
1151
1192
|
```
|
|
1152
1193
|
|
|
1153
|
-
**Example — `
|
|
1154
|
-
`CategoryItem` holding the active
|
|
1194
|
+
**Example — `fit` and `joint_fit_experiments`:** `fit` is a
|
|
1195
|
+
`CategoryItem` holding the active minimizer and fitting mode.
|
|
1155
1196
|
`joint_fit_experiments` is a separate `CategoryCollection` holding
|
|
1156
1197
|
per-experiment weights. Both are direct children of `Analysis`, not
|
|
1157
1198
|
nested:
|
|
1158
1199
|
|
|
1159
1200
|
```python
|
|
1160
1201
|
# ✅ Correct — sibling categories on Analysis
|
|
1161
|
-
project.analysis.
|
|
1202
|
+
project.analysis.fit.mode = 'joint'
|
|
1162
1203
|
project.analysis.joint_fit_experiments['npd'].weight = 0.7
|
|
1163
1204
|
|
|
1164
|
-
# ❌ Wrong — joint_fit_experiments as a child of
|
|
1165
|
-
project.analysis.
|
|
1205
|
+
# ❌ Wrong — joint_fit_experiments as a child of fit
|
|
1206
|
+
project.analysis.fit.joint_fit_experiments['npd'].weight = 0.7
|
|
1166
1207
|
```
|
|
1167
1208
|
|
|
1168
1209
|
In CIF output, sibling categories appear as independent blocks:
|
|
1169
1210
|
|
|
1170
1211
|
```
|
|
1171
|
-
|
|
1212
|
+
_fit.minimizer_type lmfit
|
|
1213
|
+
_fit.mode joint
|
|
1172
1214
|
|
|
1173
1215
|
loop_
|
|
1174
1216
|
_joint_fit_experiment.id
|
|
@@ -1326,16 +1368,16 @@ in `KNOWN_ALIASES` inside the tool script.
|
|
|
1326
1368
|
|
|
1327
1369
|
### 10.3 What to Test per Source Module Type
|
|
1328
1370
|
|
|
1329
|
-
| Source module type | Required tests
|
|
1330
|
-
| -------------------------------- |
|
|
1331
|
-
| **Core base class** (`core/`) | Instantiation, public properties, validation edge cases, identity wiring.
|
|
1332
|
-
| **Factory** (`factory.py`) | Registration check, `supported_tags()`, `default_tag()`, `create()` for each tag, `show_supported()` output, invalid-tag handling.
|
|
1333
|
-
| **Category** (`default.py`) | Instantiation, all public properties (read + write where applicable), CIF round-trip (`as_cif` → `from_cif`), parameter enumeration.
|
|
1334
|
-
| **Enum** (`enums.py`) | Membership of all members, `default()` method, `description()` for every member, `StrEnum` string equality.
|
|
1335
|
-
| **Datablock item** (`base.py`) | Construction, switchable-category full API (`<cat>`, `<cat>_type` get/set, `
|
|
1336
|
-
| **Collection** (`collection.py`) | `create`, `add`, `remove`, `names`, `show_names`, `show_params`, iteration, duplicate-name handling.
|
|
1337
|
-
| **Calculator / Minimizer** | `can_handle()` with compatible and incompatible experiment types, `_compute()` stub or mock.
|
|
1338
|
-
| **Display / IO** | Input → output for representative cases; file-not-found and malformed-input error paths.
|
|
1371
|
+
| Source module type | Required tests |
|
|
1372
|
+
| -------------------------------- | ------------------------------------------------------------------------------------------------------------------------------------ |
|
|
1373
|
+
| **Core base class** (`core/`) | Instantiation, public properties, validation edge cases, identity wiring. |
|
|
1374
|
+
| **Factory** (`factory.py`) | Registration check, `supported_tags()`, `default_tag()`, `create()` for each tag, `show_supported()` output, invalid-tag handling. |
|
|
1375
|
+
| **Category** (`default.py`) | Instantiation, all public properties (read + write where applicable), CIF round-trip (`as_cif` → `from_cif`), parameter enumeration. |
|
|
1376
|
+
| **Enum** (`enums.py`) | Membership of all members, `default()` method, `description()` for every member, `StrEnum` string equality. |
|
|
1377
|
+
| **Datablock item** (`base.py`) | Construction, switchable-category full API (`<cat>`, `<cat>_type` get/set, `show_<cat>_types`), `show`/`show_as_cif`. |
|
|
1378
|
+
| **Collection** (`collection.py`) | `create`, `add`, `remove`, `names`, `show_names`, `show_params`, iteration, duplicate-name handling. |
|
|
1379
|
+
| **Calculator / Minimizer** | `can_handle()` with compatible and incompatible experiment types, `_compute()` stub or mock. |
|
|
1380
|
+
| **Display / IO** | Input → output for representative cases; file-not-found and malformed-input error paths. |
|
|
1339
1381
|
|
|
1340
1382
|
### 10.4 Test Conventions
|
|
1341
1383
|
|
|
@@ -117,9 +117,19 @@ to an incompatible data class and silently discarding loaded data.
|
|
|
117
117
|
|
|
118
118
|
Added `SEQUENTIAL = 'sequential'` to `FitModeEnum`. `fit_sequential()`
|
|
119
119
|
now sets `fit_mode.mode = 'sequential'` internally so the mode is
|
|
120
|
-
persisted in CIF. Added `
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
`
|
|
125
|
-
|
|
120
|
+
persisted in CIF. Added `show_fit_mode_types()` (filters by experiment
|
|
121
|
+
count: ≤1 → only `single`; >1 → all three) and `show_fit_mode_types()`
|
|
122
|
+
on `Analysis`. If `fit()` is called while mode is `'sequential'`, it
|
|
123
|
+
logs an error directing the user to `fit_sequential()`. Promoted
|
|
124
|
+
`fit_mode` from a pure single-type category to one with show methods.
|
|
125
|
+
|
|
126
|
+
---
|
|
127
|
+
|
|
128
|
+
## Persist Per-Experiment Calculator Selection
|
|
129
|
+
|
|
130
|
+
Calculator selection now lives in the experiment-side `calculation`
|
|
131
|
+
category and is persisted in experiment CIF via
|
|
132
|
+
`_calculation.calculator_type`. Loading restores the explicit backend
|
|
133
|
+
selection before dependent experiment categories are populated, so saved
|
|
134
|
+
projects keep the exact active calculator configuration instead of
|
|
135
|
+
falling back to auto-resolution.
|
|
@@ -14,7 +14,7 @@ needed.
|
|
|
14
14
|
|
|
15
15
|
**Type:** Fragility
|
|
16
16
|
|
|
17
|
-
`joint_fit_experiments` is created once when `
|
|
17
|
+
`joint_fit_experiments` is created once when `fit.mode` becomes
|
|
18
18
|
`'joint'`. If experiments are added, removed, or renamed afterwards, the
|
|
19
19
|
weight collection is stale. Joint fitting can fail with missing keys or
|
|
20
20
|
run with incorrect weights.
|
|
@@ -180,25 +180,6 @@ minimiser.
|
|
|
180
180
|
|
|
181
181
|
---
|
|
182
182
|
|
|
183
|
-
## 16. 🟡 Persist Per-Experiment `calculator_type`
|
|
184
|
-
|
|
185
|
-
**Type:** Completeness
|
|
186
|
-
|
|
187
|
-
The current architecture moved calculator selection to the experiment
|
|
188
|
-
level via `calculator_type`, but this selection is not written to CIF
|
|
189
|
-
during `save()` / `show_as_cif()`. Reloading or exporting a project
|
|
190
|
-
therefore loses explicit calculator choices and falls back to
|
|
191
|
-
auto-resolution.
|
|
192
|
-
|
|
193
|
-
**Fix:** serialise `calculator_type` as part of the experiment or
|
|
194
|
-
analysis state, and make sure `load()` restores it. The saved project
|
|
195
|
-
should represent the exact active calculator configuration, not just a
|
|
196
|
-
re-derivable default.
|
|
197
|
-
|
|
198
|
-
**Depends on:** nothing.
|
|
199
|
-
|
|
200
|
-
---
|
|
201
|
-
|
|
202
183
|
## 17. 🟢 Use PDF-Specific CIF Names for Total Scattering
|
|
203
184
|
|
|
204
185
|
**Type:** Naming
|
|
@@ -1191,9 +1172,9 @@ check. Options:
|
|
|
1191
1172
|
|
|
1192
1173
|
**Type:** API completeness
|
|
1193
1174
|
|
|
1194
|
-
`
|
|
1195
|
-
|
|
1196
|
-
|
|
1175
|
+
`show_calculator_types()` exists per-experiment, but there is no
|
|
1176
|
+
project/analysis-level method to list all available calculator engines.
|
|
1177
|
+
Users exploring the API have no single entry point to see what
|
|
1197
1178
|
calculators are installed.
|
|
1198
1179
|
|
|
1199
1180
|
**Depends on:** nothing.
|
|
@@ -1206,8 +1187,8 @@ calculators are installed.
|
|
|
1206
1187
|
|
|
1207
1188
|
The switchable-category naming convention prescribes `<category>_type`
|
|
1208
1189
|
(getter/setter) and `show_supported_<category>_types()`. But some names
|
|
1209
|
-
deviate: e.g. `
|
|
1210
|
-
`show_supported_minimizer_types()`, and `
|
|
1190
|
+
deviate: e.g. `show_minimizer_types()` instead of
|
|
1191
|
+
`show_supported_minimizer_types()`, and `minimizer_type` instead of
|
|
1211
1192
|
`minimizer_type`. Audit and align all switchable-category APIs.
|
|
1212
1193
|
|
|
1213
1194
|
**Depends on:** nothing.
|
|
@@ -1446,7 +1427,6 @@ operation is possible (e.g. in automated pipelines or tests).
|
|
|
1446
1427
|
| 13 | Suppress redundant dirty-flag sets | 🟢 Low | Performance |
|
|
1447
1428
|
| 14 | Finer-grained change tracking | 🟢 Low | Performance |
|
|
1448
1429
|
| 15 | Validate joint-fit weights | 🟡 Med | Correctness |
|
|
1449
|
-
| 16 | Persist per-experiment `calculator_type` | 🟡 Med | Completeness |
|
|
1450
1430
|
| 17 | Use PDF-specific CIF names | 🟢 Low | Naming |
|
|
1451
1431
|
| 18 | Move CIF v2→v1 conversion out of calculator | 🟢 Low | Maintainability |
|
|
1452
1432
|
| 19 | Debug-mode logging for calculator imports | 🟢 Low | Diagnostics |
|
{easydiffraction-0.13.1 → easydiffraction-0.14.0}/docs/architecture/package-structure-full.md
RENAMED
|
@@ -30,14 +30,14 @@
|
|
|
30
30
|
│ │ │ │ └── 🏷️ class Constraints
|
|
31
31
|
│ │ │ └── 📄 factory.py
|
|
32
32
|
│ │ │ └── 🏷️ class ConstraintsFactory
|
|
33
|
-
│ │ ├── 📁
|
|
33
|
+
│ │ ├── 📁 fit
|
|
34
34
|
│ │ │ ├── 📄 __init__.py
|
|
35
|
+
│ │ │ ├── 📄 default.py
|
|
36
|
+
│ │ │ │ └── 🏷️ class Fit
|
|
35
37
|
│ │ │ ├── 📄 enums.py
|
|
36
38
|
│ │ │ │ └── 🏷️ class FitModeEnum
|
|
37
|
-
│ │ │
|
|
38
|
-
│ │ │
|
|
39
|
-
│ │ │ └── 📄 fit_mode.py
|
|
40
|
-
│ │ │ └── 🏷️ class FitMode
|
|
39
|
+
│ │ │ └── 📄 factory.py
|
|
40
|
+
│ │ │ └── 🏷️ class FitFactory
|
|
41
41
|
│ │ ├── 📁 joint_fit_experiments
|
|
42
42
|
│ │ │ ├── 📄 __init__.py
|
|
43
43
|
│ │ │ ├── 📄 default.py
|
|
@@ -152,6 +152,12 @@
|
|
|
152
152
|
│ │ │ │ └── 📄 line_segment.py
|
|
153
153
|
│ │ │ │ ├── 🏷️ class LineSegment
|
|
154
154
|
│ │ │ │ └── 🏷️ class LineSegmentBackground
|
|
155
|
+
│ │ │ ├── 📁 calculation
|
|
156
|
+
│ │ │ │ ├── 📄 __init__.py
|
|
157
|
+
│ │ │ │ ├── 📄 default.py
|
|
158
|
+
│ │ │ │ │ └── 🏷️ class Calculation
|
|
159
|
+
│ │ │ │ └── 📄 factory.py
|
|
160
|
+
│ │ │ │ └── 🏷️ class CalculationFactory
|
|
155
161
|
│ │ │ ├── 📁 data
|
|
156
162
|
│ │ │ │ ├── 📄 __init__.py
|
|
157
163
|
│ │ │ │ ├── 📄 bragg_pd.py
|
|
@@ -238,6 +244,7 @@
|
|
|
238
244
|
│ │ │ │ ├── 📄 factory.py
|
|
239
245
|
│ │ │ │ │ └── 🏷️ class PeakFactory
|
|
240
246
|
│ │ │ │ ├── 📄 tof.py
|
|
247
|
+
│ │ │ │ │ ├── 🏷️ class TofPseudoVoigt
|
|
241
248
|
│ │ │ │ │ ├── 🏷️ class TofJorgensen
|
|
242
249
|
│ │ │ │ │ ├── 🏷️ class TofJorgensenVonDreele
|
|
243
250
|
│ │ │ │ │ └── 🏷️ class TofDoubleJorgensenVonDreele
|
|
@@ -360,6 +367,14 @@
|
|
|
360
367
|
│ ├── 📄 __init__.py
|
|
361
368
|
│ └── 📄 ascii.py
|
|
362
369
|
├── 📁 project
|
|
370
|
+
│ ├── 📁 categories
|
|
371
|
+
│ │ ├── 📁 display
|
|
372
|
+
│ │ │ ├── 📄 __init__.py
|
|
373
|
+
│ │ │ ├── 📄 default.py
|
|
374
|
+
│ │ │ │ └── 🏷️ class Display
|
|
375
|
+
│ │ │ └── 📄 factory.py
|
|
376
|
+
│ │ │ └── 🏷️ class DisplayFactory
|
|
377
|
+
│ │ └── 📄 __init__.py
|
|
363
378
|
│ ├── 📄 __init__.py
|
|
364
379
|
│ ├── 📄 project.py
|
|
365
380
|
│ │ └── 🏷️ class Project
|
{easydiffraction-0.13.1 → easydiffraction-0.14.0}/docs/architecture/package-structure-short.md
RENAMED
|
@@ -19,11 +19,11 @@
|
|
|
19
19
|
│ │ │ ├── 📄 __init__.py
|
|
20
20
|
│ │ │ ├── 📄 default.py
|
|
21
21
|
│ │ │ └── 📄 factory.py
|
|
22
|
-
│ │ ├── 📁
|
|
22
|
+
│ │ ├── 📁 fit
|
|
23
23
|
│ │ │ ├── 📄 __init__.py
|
|
24
|
+
│ │ │ ├── 📄 default.py
|
|
24
25
|
│ │ │ ├── 📄 enums.py
|
|
25
|
-
│ │ │
|
|
26
|
-
│ │ │ └── 📄 fit_mode.py
|
|
26
|
+
│ │ │ └── 📄 factory.py
|
|
27
27
|
│ │ ├── 📁 joint_fit_experiments
|
|
28
28
|
│ │ │ ├── 📄 __init__.py
|
|
29
29
|
│ │ │ ├── 📄 default.py
|
|
@@ -78,6 +78,10 @@
|
|
|
78
78
|
│ │ │ │ ├── 📄 enums.py
|
|
79
79
|
│ │ │ │ ├── 📄 factory.py
|
|
80
80
|
│ │ │ │ └── 📄 line_segment.py
|
|
81
|
+
│ │ │ ├── 📁 calculation
|
|
82
|
+
│ │ │ │ ├── 📄 __init__.py
|
|
83
|
+
│ │ │ │ ├── 📄 default.py
|
|
84
|
+
│ │ │ │ └── 📄 factory.py
|
|
81
85
|
│ │ │ ├── 📁 data
|
|
82
86
|
│ │ │ │ ├── 📄 __init__.py
|
|
83
87
|
│ │ │ │ ├── 📄 bragg_pd.py
|
|
@@ -187,6 +191,12 @@
|
|
|
187
191
|
│ ├── 📄 __init__.py
|
|
188
192
|
│ └── 📄 ascii.py
|
|
189
193
|
├── 📁 project
|
|
194
|
+
│ ├── 📁 categories
|
|
195
|
+
│ │ ├── 📁 display
|
|
196
|
+
│ │ │ ├── 📄 __init__.py
|
|
197
|
+
│ │ │ ├── 📄 default.py
|
|
198
|
+
│ │ │ └── 📄 factory.py
|
|
199
|
+
│ │ └── 📄 __init__.py
|
|
190
200
|
│ ├── 📄 __init__.py
|
|
191
201
|
│ ├── 📄 project.py
|
|
192
202
|
│ └── 📄 project_info.py
|
|
@@ -178,7 +178,7 @@
|
|
|
178
178
|
"outputs": [],
|
|
179
179
|
"source": [
|
|
180
180
|
"# Show parameter correlations\n",
|
|
181
|
-
"project.plotter.plot_param_correlations()"
|
|
181
|
+
"project.display.plotter.plot_param_correlations()"
|
|
182
182
|
]
|
|
183
183
|
},
|
|
184
184
|
{
|
|
@@ -245,7 +245,7 @@
|
|
|
245
245
|
"outputs": [],
|
|
246
246
|
"source": [
|
|
247
247
|
"# Show parameter correlations\n",
|
|
248
|
-
"project.plotter.plot_param_correlations()"
|
|
248
|
+
"project.display.plotter.plot_param_correlations()"
|
|
249
249
|
]
|
|
250
250
|
},
|
|
251
251
|
{
|
|
@@ -267,7 +267,7 @@
|
|
|
267
267
|
"outputs": [],
|
|
268
268
|
"source": [
|
|
269
269
|
"# Plot measured vs. calculated diffraction patterns\n",
|
|
270
|
-
"project.plotter.plot_meas_vs_calc(expt_name='hrpt', show_residual=True)"
|
|
270
|
+
"project.display.plotter.plot_meas_vs_calc(expt_name='hrpt', show_residual=True)"
|
|
271
271
|
]
|
|
272
272
|
}
|
|
273
273
|
],
|
|
@@ -65,7 +65,7 @@ project.analysis.display.fit_results()
|
|
|
65
65
|
|
|
66
66
|
# %%
|
|
67
67
|
# Show parameter correlations
|
|
68
|
-
project.plotter.plot_param_correlations()
|
|
68
|
+
project.display.plotter.plot_param_correlations()
|
|
69
69
|
|
|
70
70
|
# %% [markdown]
|
|
71
71
|
# ## Step 5: Perform Analysis (with constraints)
|
|
@@ -99,7 +99,7 @@ project.analysis.display.fit_results()
|
|
|
99
99
|
|
|
100
100
|
# %%
|
|
101
101
|
# Show parameter correlations
|
|
102
|
-
project.plotter.plot_param_correlations()
|
|
102
|
+
project.display.plotter.plot_param_correlations()
|
|
103
103
|
|
|
104
104
|
# %%
|
|
105
105
|
# Show defined experiment names
|
|
@@ -107,4 +107,4 @@ project.experiments.show_names()
|
|
|
107
107
|
|
|
108
108
|
# %%
|
|
109
109
|
# Plot measured vs. calculated diffraction patterns
|
|
110
|
-
project.plotter.plot_meas_vs_calc(expt_name='hrpt', show_residual=True)
|
|
110
|
+
project.display.plotter.plot_meas_vs_calc(expt_name='hrpt', show_residual=True)
|
|
@@ -208,7 +208,7 @@
|
|
|
208
208
|
"source": [
|
|
209
209
|
"project.analysis.fit()\n",
|
|
210
210
|
"project.analysis.display.fit_results()\n",
|
|
211
|
-
"project.plotter.plot_param_correlations(threshold=0.75)"
|
|
211
|
+
"project.display.plotter.plot_param_correlations(threshold=0.75)"
|
|
212
212
|
]
|
|
213
213
|
},
|
|
214
214
|
{
|
|
@@ -226,7 +226,7 @@
|
|
|
226
226
|
"metadata": {},
|
|
227
227
|
"outputs": [],
|
|
228
228
|
"source": [
|
|
229
|
-
"project.plotter.plot_meas_vs_calc(expt_name='pdf', show_residual=True)"
|
|
229
|
+
"project.display.plotter.plot_meas_vs_calc(expt_name='pdf', show_residual=True)"
|
|
230
230
|
]
|
|
231
231
|
}
|
|
232
232
|
],
|
|
@@ -83,10 +83,10 @@ project.experiments['pdf'].peak.sharp_delta_2.free = True
|
|
|
83
83
|
# %%
|
|
84
84
|
project.analysis.fit()
|
|
85
85
|
project.analysis.display.fit_results()
|
|
86
|
-
project.plotter.plot_param_correlations(threshold=0.75)
|
|
86
|
+
project.display.plotter.plot_param_correlations(threshold=0.75)
|
|
87
87
|
|
|
88
88
|
# %% [markdown]
|
|
89
89
|
# ## Plot Measured vs Calculated
|
|
90
90
|
|
|
91
91
|
# %%
|
|
92
|
-
project.plotter.plot_meas_vs_calc(expt_name='pdf', show_residual=True)
|
|
92
|
+
project.display.plotter.plot_meas_vs_calc(expt_name='pdf', show_residual=True)
|