essdiffraction 26.4.1__tar.gz → 26.5.1__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.
- {essdiffraction-26.4.1 → essdiffraction-26.5.1}/LICENSE +1 -1
- {essdiffraction-26.4.1 → essdiffraction-26.5.1}/PKG-INFO +17 -1
- essdiffraction-26.5.1/docs/_static/essdiffraction-search-logo.png +0 -0
- essdiffraction-26.5.1/docs/_templates/layout.html +5 -0
- {essdiffraction-26.4.1 → essdiffraction-26.5.1}/docs/user-guide/beer/beer_modulation_mcstas.ipynb +2 -2
- {essdiffraction-26.4.1 → essdiffraction-26.5.1}/docs/user-guide/common/vanadium_processing.ipynb +2 -2
- {essdiffraction-26.4.1 → essdiffraction-26.5.1}/docs/user-guide/dream/dream-powder-reduction.ipynb +1 -1
- {essdiffraction-26.4.1 → essdiffraction-26.5.1}/docs/user-guide/dream/workflow-widget-dream.ipynb +1 -1
- {essdiffraction-26.4.1 → essdiffraction-26.5.1}/pyproject.toml +22 -46
- {essdiffraction-26.4.1 → essdiffraction-26.5.1}/src/ess/beer/clustering.py +1 -2
- {essdiffraction-26.4.1 → essdiffraction-26.5.1}/src/ess/beer/conversions.py +1 -2
- {essdiffraction-26.4.1 → essdiffraction-26.5.1}/src/ess/beer/io.py +55 -12
- {essdiffraction-26.4.1 → essdiffraction-26.5.1}/src/ess/beer/workflow.py +6 -5
- {essdiffraction-26.4.1 → essdiffraction-26.5.1}/src/ess/diffraction/__init__.py +0 -1
- {essdiffraction-26.4.1 → essdiffraction-26.5.1}/src/ess/dream/io/cif.py +1 -2
- {essdiffraction-26.4.1 → essdiffraction-26.5.1}/src/ess/dream/io/geant4.py +1 -2
- {essdiffraction-26.4.1 → essdiffraction-26.5.1}/src/ess/dream/parameters.py +1 -0
- {essdiffraction-26.4.1 → essdiffraction-26.5.1}/src/ess/dream/workflows.py +3 -2
- {essdiffraction-26.4.1 → essdiffraction-26.5.1}/src/ess/snspowder/powgen/workflow.py +2 -1
- {essdiffraction-26.4.1 → essdiffraction-26.5.1}/src/essdiffraction.egg-info/PKG-INFO +17 -1
- {essdiffraction-26.4.1 → essdiffraction-26.5.1}/src/essdiffraction.egg-info/SOURCES.txt +3 -41
- {essdiffraction-26.4.1 → essdiffraction-26.5.1}/src/essdiffraction.egg-info/requires.txt +17 -0
- {essdiffraction-26.4.1 → essdiffraction-26.5.1}/tests/beer/mcstas_reduction_test.py +35 -6
- essdiffraction-26.4.1/tests/diffraction/test_peaks.py → essdiffraction-26.5.1/tests/diffraction/peaks_test.py +0 -1
- {essdiffraction-26.4.1 → essdiffraction-26.5.1}/tests/dream/instrument_view_test.py +0 -1
- {essdiffraction-26.4.1 → essdiffraction-26.5.1}/tests/dream/io/cif_test.py +3 -4
- {essdiffraction-26.4.1 → essdiffraction-26.5.1}/tests/dream/io/geant4_test.py +0 -1
- {essdiffraction-26.4.1 → essdiffraction-26.5.1}/tests/powder/conversion_test.py +0 -1
- {essdiffraction-26.4.1 → essdiffraction-26.5.1}/tests/powder/correction_test.py +0 -1
- {essdiffraction-26.4.1 → essdiffraction-26.5.1}/tests/powder/filtering_test.py +0 -1
- {essdiffraction-26.4.1 → essdiffraction-26.5.1}/tests/powder/transform_test.py +1 -2
- {essdiffraction-26.4.1 → essdiffraction-26.5.1}/tests/snspowder/powgen/load_test.py +0 -1
- {essdiffraction-26.4.1 → essdiffraction-26.5.1}/tests/snspowder/powgen/powgen_reduction_test.py +6 -5
- essdiffraction-26.4.1/.github/ISSUE_TEMPLATE/high-level-requirement.yml +0 -97
- essdiffraction-26.4.1/.github/dependabot.yml +0 -13
- essdiffraction-26.4.1/.github/workflows/ci.yml +0 -58
- essdiffraction-26.4.1/.github/workflows/docs.yml +0 -79
- essdiffraction-26.4.1/.github/workflows/nightly_at_main.yml +0 -35
- essdiffraction-26.4.1/.github/workflows/nightly_at_main_lower_bound.yml +0 -37
- essdiffraction-26.4.1/.github/workflows/nightly_at_release.yml +0 -42
- essdiffraction-26.4.1/.github/workflows/python-version-ci +0 -1
- essdiffraction-26.4.1/.github/workflows/release.yml +0 -73
- essdiffraction-26.4.1/.github/workflows/test.yml +0 -90
- essdiffraction-26.4.1/.github/workflows/unpinned.yml +0 -41
- essdiffraction-26.4.1/.github/workflows/weekly_windows_macos.yml +0 -42
- essdiffraction-26.4.1/.gitignore +0 -48
- essdiffraction-26.4.1/.pre-commit-config.yaml +0 -55
- essdiffraction-26.4.1/.python-version +0 -1
- essdiffraction-26.4.1/CODE_OF_CONDUCT.md +0 -134
- essdiffraction-26.4.1/CONTRIBUTING.md +0 -20
- essdiffraction-26.4.1/MANIFEST.in +0 -1
- essdiffraction-26.4.1/requirements/base.in +0 -17
- essdiffraction-26.4.1/requirements/base.txt +0 -227
- essdiffraction-26.4.1/requirements/basetest.in +0 -13
- essdiffraction-26.4.1/requirements/basetest.txt +0 -87
- essdiffraction-26.4.1/requirements/ci.in +0 -4
- essdiffraction-26.4.1/requirements/ci.txt +0 -56
- essdiffraction-26.4.1/requirements/dev.in +0 -11
- essdiffraction-26.4.1/requirements/dev.txt +0 -123
- essdiffraction-26.4.1/requirements/docs.in +0 -18
- essdiffraction-26.4.1/requirements/docs.txt +0 -181
- essdiffraction-26.4.1/requirements/make_base.py +0 -78
- essdiffraction-26.4.1/requirements/mypy.in +0 -2
- essdiffraction-26.4.1/requirements/mypy.txt +0 -16
- essdiffraction-26.4.1/requirements/nightly.in +0 -23
- essdiffraction-26.4.1/requirements/nightly.txt +0 -245
- essdiffraction-26.4.1/requirements/static.in +0 -1
- essdiffraction-26.4.1/requirements/static.txt +0 -31
- essdiffraction-26.4.1/requirements/test.in +0 -4
- essdiffraction-26.4.1/requirements/test.txt +0 -9
- essdiffraction-26.4.1/requirements/wheels.in +0 -1
- essdiffraction-26.4.1/requirements/wheels.txt +0 -13
- essdiffraction-26.4.1/tox.ini +0 -76
- {essdiffraction-26.4.1 → essdiffraction-26.5.1}/.copier-answers.ess.yml +0 -0
- {essdiffraction-26.4.1 → essdiffraction-26.5.1}/.copier-answers.yml +0 -0
- {essdiffraction-26.4.1 → essdiffraction-26.5.1}/README.md +0 -0
- {essdiffraction-26.4.1 → essdiffraction-26.5.1}/docs/_static/anaconda-icon.js +0 -0
- {essdiffraction-26.4.1 → essdiffraction-26.5.1}/docs/_static/favicon.svg +0 -0
- {essdiffraction-26.4.1 → essdiffraction-26.5.1}/docs/_static/logo-dark.svg +0 -0
- {essdiffraction-26.4.1 → essdiffraction-26.5.1}/docs/_static/logo.svg +0 -0
- {essdiffraction-26.4.1 → essdiffraction-26.5.1}/docs/_static/thumbnails/beer_mcstas_dark.svg +0 -0
- {essdiffraction-26.4.1 → essdiffraction-26.5.1}/docs/_static/thumbnails/beer_mcstas_light.svg +0 -0
- {essdiffraction-26.4.1 → essdiffraction-26.5.1}/docs/_static/thumbnails/dream_advanced_powder_reduction_dark.svg +0 -0
- {essdiffraction-26.4.1 → essdiffraction-26.5.1}/docs/_static/thumbnails/dream_advanced_powder_reduction_light.svg +0 -0
- {essdiffraction-26.4.1 → essdiffraction-26.5.1}/docs/_static/thumbnails/dream_basic_powder_reduction_dark.svg +0 -0
- {essdiffraction-26.4.1 → essdiffraction-26.5.1}/docs/_static/thumbnails/dream_basic_powder_reduction_light.svg +0 -0
- {essdiffraction-26.4.1 → essdiffraction-26.5.1}/docs/_templates/class-template.rst +0 -0
- {essdiffraction-26.4.1 → essdiffraction-26.5.1}/docs/_templates/doc_version.html +0 -0
- {essdiffraction-26.4.1 → essdiffraction-26.5.1}/docs/_templates/module-template.rst +0 -0
- {essdiffraction-26.4.1 → essdiffraction-26.5.1}/docs/about/bibliography.rst +0 -0
- {essdiffraction-26.4.1 → essdiffraction-26.5.1}/docs/about/index.md +0 -0
- {essdiffraction-26.4.1 → essdiffraction-26.5.1}/docs/api-reference/index.md +0 -0
- {essdiffraction-26.4.1 → essdiffraction-26.5.1}/docs/bibliography.bib +0 -0
- {essdiffraction-26.4.1 → essdiffraction-26.5.1}/docs/conf.py +0 -0
- {essdiffraction-26.4.1 → essdiffraction-26.5.1}/docs/developer/coding-conventions.md +0 -0
- {essdiffraction-26.4.1 → essdiffraction-26.5.1}/docs/developer/dependency-management.md +0 -0
- {essdiffraction-26.4.1 → essdiffraction-26.5.1}/docs/developer/getting-started.md +0 -0
- {essdiffraction-26.4.1 → essdiffraction-26.5.1}/docs/developer/index.md +0 -0
- {essdiffraction-26.4.1 → essdiffraction-26.5.1}/docs/index.md +0 -0
- {essdiffraction-26.4.1 → essdiffraction-26.5.1}/docs/user-guide/beer/index.md +0 -0
- {essdiffraction-26.4.1 → essdiffraction-26.5.1}/docs/user-guide/common/index.md +0 -0
- {essdiffraction-26.4.1 → essdiffraction-26.5.1}/docs/user-guide/dream/dream-advanced-powder-reduction.ipynb +0 -0
- {essdiffraction-26.4.1 → essdiffraction-26.5.1}/docs/user-guide/dream/dream-detector-diagnostics.ipynb +0 -0
- {essdiffraction-26.4.1 → essdiffraction-26.5.1}/docs/user-guide/dream/dream-instrument-view.ipynb +0 -0
- {essdiffraction-26.4.1 → essdiffraction-26.5.1}/docs/user-guide/dream/dream-make-wavelength-lookup-table.ipynb +0 -0
- {essdiffraction-26.4.1 → essdiffraction-26.5.1}/docs/user-guide/dream/dream-visualize-absorption.ipynb +0 -0
- {essdiffraction-26.4.1 → essdiffraction-26.5.1}/docs/user-guide/dream/index.md +0 -0
- {essdiffraction-26.4.1 → essdiffraction-26.5.1}/docs/user-guide/index.md +0 -0
- {essdiffraction-26.4.1 → essdiffraction-26.5.1}/docs/user-guide/installation.md +0 -0
- {essdiffraction-26.4.1 → essdiffraction-26.5.1}/docs/user-guide/sns-instruments/POWGEN_data_reduction.ipynb +0 -0
- {essdiffraction-26.4.1 → essdiffraction-26.5.1}/docs/user-guide/sns-instruments/index.md +0 -0
- {essdiffraction-26.4.1 → essdiffraction-26.5.1}/resources/logo.svg +0 -0
- {essdiffraction-26.4.1 → essdiffraction-26.5.1}/setup.cfg +0 -0
- {essdiffraction-26.4.1 → essdiffraction-26.5.1}/src/ess/beer/__init__.py +0 -0
- {essdiffraction-26.4.1 → essdiffraction-26.5.1}/src/ess/beer/data.py +0 -0
- {essdiffraction-26.4.1 → essdiffraction-26.5.1}/src/ess/beer/peakfinding.py +0 -0
- {essdiffraction-26.4.1 → essdiffraction-26.5.1}/src/ess/beer/types.py +0 -0
- {essdiffraction-26.4.1 → essdiffraction-26.5.1}/src/ess/diffraction/peaks.py +0 -0
- {essdiffraction-26.4.1 → essdiffraction-26.5.1}/src/ess/diffraction/py.typed +0 -0
- {essdiffraction-26.4.1 → essdiffraction-26.5.1}/src/ess/dream/__init__.py +0 -0
- {essdiffraction-26.4.1 → essdiffraction-26.5.1}/src/ess/dream/beamline.py +0 -0
- {essdiffraction-26.4.1 → essdiffraction-26.5.1}/src/ess/dream/data.py +0 -0
- {essdiffraction-26.4.1 → essdiffraction-26.5.1}/src/ess/dream/diagnostics.py +0 -0
- {essdiffraction-26.4.1 → essdiffraction-26.5.1}/src/ess/dream/instrument_view.py +0 -0
- {essdiffraction-26.4.1 → essdiffraction-26.5.1}/src/ess/dream/io/__init__.py +0 -0
- {essdiffraction-26.4.1 → essdiffraction-26.5.1}/src/ess/dream/py.typed +0 -0
- {essdiffraction-26.4.1 → essdiffraction-26.5.1}/src/ess/powder/__init__.py +0 -0
- {essdiffraction-26.4.1 → essdiffraction-26.5.1}/src/ess/powder/_util.py +0 -0
- {essdiffraction-26.4.1 → essdiffraction-26.5.1}/src/ess/powder/calibration.py +0 -0
- {essdiffraction-26.4.1 → essdiffraction-26.5.1}/src/ess/powder/conversion.py +0 -0
- {essdiffraction-26.4.1 → essdiffraction-26.5.1}/src/ess/powder/correction.py +0 -0
- {essdiffraction-26.4.1 → essdiffraction-26.5.1}/src/ess/powder/filtering.py +0 -0
- {essdiffraction-26.4.1 → essdiffraction-26.5.1}/src/ess/powder/grouping.py +0 -0
- {essdiffraction-26.4.1 → essdiffraction-26.5.1}/src/ess/powder/logging.py +0 -0
- {essdiffraction-26.4.1 → essdiffraction-26.5.1}/src/ess/powder/masking.py +0 -0
- {essdiffraction-26.4.1 → essdiffraction-26.5.1}/src/ess/powder/py.typed +0 -0
- {essdiffraction-26.4.1 → essdiffraction-26.5.1}/src/ess/powder/smoothing.py +0 -0
- {essdiffraction-26.4.1 → essdiffraction-26.5.1}/src/ess/powder/transform.py +0 -0
- {essdiffraction-26.4.1 → essdiffraction-26.5.1}/src/ess/powder/types.py +0 -0
- {essdiffraction-26.4.1 → essdiffraction-26.5.1}/src/ess/powder/workflow.py +0 -0
- {essdiffraction-26.4.1 → essdiffraction-26.5.1}/src/ess/snspowder/powgen/__init__.py +0 -0
- {essdiffraction-26.4.1 → essdiffraction-26.5.1}/src/ess/snspowder/powgen/beamline.py +0 -0
- {essdiffraction-26.4.1 → essdiffraction-26.5.1}/src/ess/snspowder/powgen/calibration.py +0 -0
- {essdiffraction-26.4.1 → essdiffraction-26.5.1}/src/ess/snspowder/powgen/data.py +1 -1
- {essdiffraction-26.4.1 → essdiffraction-26.5.1}/src/ess/snspowder/powgen/instrument_view.py +0 -0
- {essdiffraction-26.4.1 → essdiffraction-26.5.1}/src/ess/snspowder/powgen/peaks.py +0 -0
- {essdiffraction-26.4.1 → essdiffraction-26.5.1}/src/essdiffraction.egg-info/dependency_links.txt +0 -0
- {essdiffraction-26.4.1 → essdiffraction-26.5.1}/src/essdiffraction.egg-info/top_level.txt +0 -0
- {essdiffraction-26.4.1 → essdiffraction-26.5.1}/tests/conftest.py +0 -0
- {essdiffraction-26.4.1 → essdiffraction-26.5.1}/tests/dream/diagnostics_test.py +0 -0
- {essdiffraction-26.4.1 → essdiffraction-26.5.1}/tests/dream/geant4_reduction_test.py +3 -3
- {essdiffraction-26.4.1 → essdiffraction-26.5.1}/tests/dream/workflows/dream_generic_workflow_test.py +2 -2
- {essdiffraction-26.4.1 → essdiffraction-26.5.1}/tests/package_test.py +0 -0
- {essdiffraction-26.4.1 → essdiffraction-26.5.1}/tools/docs/beer-thumbnails.ipynb +0 -0
- {essdiffraction-26.4.1 → essdiffraction-26.5.1}/tools/docs/dream-thumbnails.ipynb +0 -0
- {essdiffraction-26.4.1 → essdiffraction-26.5.1}/tools/preprocess_pg3_files.ipynb +0 -0
- {essdiffraction-26.4.1 → essdiffraction-26.5.1}/tools/shrink_nexus.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: essdiffraction
|
|
3
|
-
Version: 26.
|
|
3
|
+
Version: 26.5.1
|
|
4
4
|
Summary: Diffraction data reduction for the European Spallation Source
|
|
5
5
|
Author: Scipp contributors
|
|
6
6
|
License-Expression: BSD-3-Clause
|
|
@@ -38,6 +38,22 @@ Requires-Dist: pandas>=2.1.2; extra == "test"
|
|
|
38
38
|
Requires-Dist: pooch>=1.5; extra == "test"
|
|
39
39
|
Requires-Dist: pytest>=7.0; extra == "test"
|
|
40
40
|
Requires-Dist: ipywidgets>=8.1.7; extra == "test"
|
|
41
|
+
Provides-Extra: docs
|
|
42
|
+
Requires-Dist: autodoc-pydantic; extra == "docs"
|
|
43
|
+
Requires-Dist: ipykernel; extra == "docs"
|
|
44
|
+
Requires-Dist: ipympl; extra == "docs"
|
|
45
|
+
Requires-Dist: ipython!=8.7.0; extra == "docs"
|
|
46
|
+
Requires-Dist: myst-parser; extra == "docs"
|
|
47
|
+
Requires-Dist: nbsphinx; extra == "docs"
|
|
48
|
+
Requires-Dist: pandas; extra == "docs"
|
|
49
|
+
Requires-Dist: pooch; extra == "docs"
|
|
50
|
+
Requires-Dist: pydata-sphinx-theme>=0.14; extra == "docs"
|
|
51
|
+
Requires-Dist: sphinx; extra == "docs"
|
|
52
|
+
Requires-Dist: sphinx-autodoc-typehints; extra == "docs"
|
|
53
|
+
Requires-Dist: sphinx-copybutton; extra == "docs"
|
|
54
|
+
Requires-Dist: sphinx-design; extra == "docs"
|
|
55
|
+
Requires-Dist: sphinxcontrib-bibtex; extra == "docs"
|
|
56
|
+
Requires-Dist: pyarrow; extra == "docs"
|
|
41
57
|
Dynamic: license-file
|
|
42
58
|
|
|
43
59
|
[](CODE_OF_CONDUCT.md)
|
|
Binary file
|
{essdiffraction-26.4.1 → essdiffraction-26.5.1}/docs/user-guide/beer/beer_modulation_mcstas.ipynb
RENAMED
|
@@ -40,7 +40,7 @@
|
|
|
40
40
|
"source": [
|
|
41
41
|
"## Beam modulation mode\n",
|
|
42
42
|
"\n",
|
|
43
|
-
"In the \"modulation mode\" the BEER instrument maximizes signal intensity while retaining wavelength resolution by utilizing choppers to create multiple pulses, each with well
|
|
43
|
+
"In the \"modulation mode\" the BEER instrument maximizes signal intensity while retaining wavelength resolution by utilizing choppers to create multiple pulses, each with well-defined wavelength, that reach the sample simultaneously.\n",
|
|
44
44
|
"The pulses can be distinguished in the detector data under the assumption that the peaks in $d_{hkl}$ are sufficiently well separated from each other.\n",
|
|
45
45
|
"\n",
|
|
46
46
|
"\n",
|
|
@@ -83,7 +83,7 @@
|
|
|
83
83
|
"\n",
|
|
84
84
|
"### Difference between modulation modes\n",
|
|
85
85
|
"\n",
|
|
86
|
-
"There are different modulation modes depending on the desired trade
|
|
86
|
+
"There are different modulation modes depending on the desired trade-off between resolution and intensity.\n",
|
|
87
87
|
"Below is a table describing the available modes.\n",
|
|
88
88
|
"\n",
|
|
89
89
|
"<table style=\"border-collapse: collapse; border: 1px solid #aaa; font-family: Arial, sans-serif; font-size: 14px;\">\n",
|
{essdiffraction-26.4.1 → essdiffraction-26.5.1}/docs/user-guide/common/vanadium_processing.ipynb
RENAMED
|
@@ -8,7 +8,7 @@
|
|
|
8
8
|
"# Vanadium processing\n",
|
|
9
9
|
"\n",
|
|
10
10
|
"We normalize by vanadium measurements because vanadium scatters almost entirely incoherently.\n",
|
|
11
|
-
"But
|
|
11
|
+
"But vanadium does produce some coherent scattering peaks, and those need to be removed before normalization.\n",
|
|
12
12
|
"This notebook demonstrates how this can be done using ESSdiffraction and ScippNeutron.\n",
|
|
13
13
|
"It uses the same data as the [POWGEN_data_reduction](../sns-instruments/POWGEN_data_reduction.rst) workflow.\n",
|
|
14
14
|
"\n",
|
|
@@ -130,7 +130,7 @@
|
|
|
130
130
|
"Even though the peaks are small for vanadium, we need to remove them to extract pure incoherent scattering.\n",
|
|
131
131
|
"We can approximate the coherent scattering contribution by fitting functions to the peaks and subtracting those fitted functions.\n",
|
|
132
132
|
"[scippneutron.peaks](https://scipp.github.io/scippneutron/generated/modules/scippneutron.peaks.html) contains general functionality for fitting and removing peaks.\n",
|
|
133
|
-
"Here, we use it through [ess.snspowder.powgen.peaks](../../generated/modules/ess.snspowder.powgen.peaks.rst) which provides useful defaults for vanadium peaks at POWGEN.\n",
|
|
133
|
+
"Here, we use it through [ess.snspowder.powgen.peaks](../../generated/modules/ess.snspowder.powgen.peaks.rst), which provides useful defaults for vanadium peaks at POWGEN.\n",
|
|
134
134
|
"For example, it selects appropriate models for peaks (gaussian) and backgrounds (linear and quadratic).\n",
|
|
135
135
|
"\n",
|
|
136
136
|
"First, define estimates for the peaks based on the known crystal structure of vanadium:"
|
{essdiffraction-26.4.1 → essdiffraction-26.5.1}/docs/user-guide/dream/dream-powder-reduction.ipynb
RENAMED
|
@@ -207,7 +207,7 @@
|
|
|
207
207
|
"\n",
|
|
208
208
|
"---\n",
|
|
209
209
|
"\n",
|
|
210
|
-
"Next, consider reading [DREAM advanced powder data reduction](./dream-advanced-powder-reduction.rst) guide which demonstrates some
|
|
210
|
+
"Next, consider reading the [DREAM advanced powder data reduction](./dream-advanced-powder-reduction.rst) guide, which demonstrates some built-in options for customizing the workflow and how to compute alternative results."
|
|
211
211
|
]
|
|
212
212
|
}
|
|
213
213
|
],
|
{essdiffraction-26.4.1 → essdiffraction-26.5.1}/docs/user-guide/dream/workflow-widget-dream.ipynb
RENAMED
|
@@ -7,7 +7,7 @@
|
|
|
7
7
|
"source": [
|
|
8
8
|
"# Workflow widgets example\n",
|
|
9
9
|
"\n",
|
|
10
|
-
"This notebook illustrates how we can use ESSreduce
|
|
10
|
+
"This notebook illustrates how we can use ESSreduce's [workflow widgets](https://scipp.github.io/essreduce/user-guide/widget.html) to generate a graphical interface for running the [DREAM GEANT4 workflow](./dream-powder-reduction.rst).\n",
|
|
11
11
|
"\n",
|
|
12
12
|
"## Initializing the GUI\n",
|
|
13
13
|
"\n",
|
|
@@ -10,7 +10,6 @@ name = "essdiffraction"
|
|
|
10
10
|
description = "Diffraction data reduction for the European Spallation Source"
|
|
11
11
|
authors = [{ name = "Scipp contributors" }]
|
|
12
12
|
license = "BSD-3-Clause"
|
|
13
|
-
license-files = ["LICENSE"]
|
|
14
13
|
readme = "README.md"
|
|
15
14
|
classifiers = [
|
|
16
15
|
"Intended Audience :: Science/Research",
|
|
@@ -54,6 +53,25 @@ test = [
|
|
|
54
53
|
"pytest>=7.0",
|
|
55
54
|
"ipywidgets>=8.1.7",
|
|
56
55
|
]
|
|
56
|
+
docs = [
|
|
57
|
+
"autodoc-pydantic",
|
|
58
|
+
"ipykernel",
|
|
59
|
+
"ipympl",
|
|
60
|
+
# Breaks syntax highlighting in Jupyter code cells.
|
|
61
|
+
"ipython!=8.7.0",
|
|
62
|
+
"myst-parser",
|
|
63
|
+
"nbsphinx",
|
|
64
|
+
"pandas",
|
|
65
|
+
"pooch",
|
|
66
|
+
"pydata-sphinx-theme>=0.14",
|
|
67
|
+
"sphinx",
|
|
68
|
+
"sphinx-autodoc-typehints",
|
|
69
|
+
"sphinx-copybutton",
|
|
70
|
+
"sphinx-design",
|
|
71
|
+
"sphinxcontrib-bibtex",
|
|
72
|
+
# needed by pandas < 3.0
|
|
73
|
+
"pyarrow",
|
|
74
|
+
]
|
|
57
75
|
|
|
58
76
|
[project.urls]
|
|
59
77
|
"Bug Tracker" = "https://github.com/scipp/essdiffraction/issues"
|
|
@@ -61,6 +79,9 @@ test = [
|
|
|
61
79
|
"Source" = "https://github.com/scipp/essdiffraction"
|
|
62
80
|
|
|
63
81
|
[tool.setuptools_scm]
|
|
82
|
+
root = "../.."
|
|
83
|
+
tag_regex = "^essdiffraction/(?P<version>[vV]?\\d+(?:\\.\\d+)*(?:[._-]?\\w+)*)$"
|
|
84
|
+
git_describe_command = ["git", "describe", "--dirty", "--tags", "--long", "--match", "essdiffraction/*[0-9]*"]
|
|
64
85
|
|
|
65
86
|
[tool.pytest.ini_options]
|
|
66
87
|
minversion = "7.0"
|
|
@@ -79,43 +100,6 @@ filterwarnings = [
|
|
|
79
100
|
'ignore:\s*Pyarrow will become a required dependency of pandas:DeprecationWarning',
|
|
80
101
|
]
|
|
81
102
|
|
|
82
|
-
[tool.ruff]
|
|
83
|
-
line-length = 88
|
|
84
|
-
extend-include = ["*.ipynb"]
|
|
85
|
-
extend-exclude = [
|
|
86
|
-
".*", "__pycache__", "build", "dist", "install",
|
|
87
|
-
]
|
|
88
|
-
|
|
89
|
-
[tool.ruff.lint]
|
|
90
|
-
# See https://docs.astral.sh/ruff/rules/
|
|
91
|
-
select = ["B", "C4", "DTZ", "E", "F", "G", "I", "PERF", "PGH", "PT", "PYI", "RUF", "S", "T20", "UP", "W"]
|
|
92
|
-
ignore = [
|
|
93
|
-
# Conflict with ruff format, see
|
|
94
|
-
# https://docs.astral.sh/ruff/formatter/#conflicting-lint-rules
|
|
95
|
-
"COM812", "COM819", "D206", "D300", "E111", "E114", "E117", "ISC001", "ISC002", "Q000", "Q001", "Q002", "Q003", "W191",
|
|
96
|
-
]
|
|
97
|
-
fixable = ["B010", "I001", "PT001", "RUF022"]
|
|
98
|
-
isort.known-first-party = ["ess.diffraction", "ess.dream", "ess.powder"]
|
|
99
|
-
pydocstyle.convention = "numpy"
|
|
100
|
-
|
|
101
|
-
[tool.ruff.lint.per-file-ignores]
|
|
102
|
-
# those files have an increased risk of relying on import order
|
|
103
|
-
"tests/*" = [
|
|
104
|
-
"S101", # asserts are fine in tests
|
|
105
|
-
"B018", # 'useless expressions' are ok because some tests just check for exceptions
|
|
106
|
-
]
|
|
107
|
-
"*.ipynb" = [
|
|
108
|
-
"E501", # longer lines are sometimes more readable
|
|
109
|
-
"F403", # *-imports used with domain types
|
|
110
|
-
"F405", # linter may fail to find names because of *-imports
|
|
111
|
-
"I", # we don't collect imports at the top
|
|
112
|
-
"S101", # asserts are used for demonstration and are safe in notebooks
|
|
113
|
-
"T201", # printing is ok for demonstration purposes
|
|
114
|
-
]
|
|
115
|
-
|
|
116
|
-
[tool.ruff.format]
|
|
117
|
-
quote-style = "preserve"
|
|
118
|
-
|
|
119
103
|
[tool.mypy]
|
|
120
104
|
strict = true
|
|
121
105
|
ignore_missing_imports = true
|
|
@@ -125,11 +109,3 @@ enable_error_code = [
|
|
|
125
109
|
"truthy-bool",
|
|
126
110
|
]
|
|
127
111
|
warn_unreachable = true
|
|
128
|
-
|
|
129
|
-
[tool.codespell]
|
|
130
|
-
ignore-words-list = [
|
|
131
|
-
# Codespell wants "socioeconomic" which seems to be the standard spelling.
|
|
132
|
-
# But we use the word in our code of conduct which is the contributor covenant.
|
|
133
|
-
# Let's not modify it if we don't have to.
|
|
134
|
-
"socio-economic",
|
|
135
|
-
]
|
|
@@ -8,9 +8,10 @@ import h5py
|
|
|
8
8
|
import numpy as np
|
|
9
9
|
import scipp as sc
|
|
10
10
|
import scipp.constants
|
|
11
|
-
|
|
12
11
|
from ess.powder.types import CaveMonitor, RunType, WavelengthMonitor
|
|
13
12
|
|
|
13
|
+
from ess.reduce.nexus.types import DetectorBankSizes
|
|
14
|
+
|
|
14
15
|
from .types import (
|
|
15
16
|
DetectorBank,
|
|
16
17
|
Filename,
|
|
@@ -147,7 +148,38 @@ def _effective_chopper_position_from_mode(
|
|
|
147
148
|
raise ValueError(f'Unkonwn chopper mode {mode}.')
|
|
148
149
|
|
|
149
150
|
|
|
150
|
-
def _load_beer_mcstas(f, north_or_south=None, number=None):
|
|
151
|
+
def _load_beer_mcstas(f, *, north_or_south=None, number=None, detector_sizes):
|
|
152
|
+
# Allow the keys of detector_sizes to be both the
|
|
153
|
+
# NeXus detector name or DetectorBank enum.
|
|
154
|
+
# It makes the code a bit more complex here, but I think mixing them up
|
|
155
|
+
# is an easy mistake to make and it makes sense
|
|
156
|
+
# to handle that gracefully.
|
|
157
|
+
normalized_detector_sizes = {
|
|
158
|
+
(
|
|
159
|
+
'south'
|
|
160
|
+
if key in (DetectorBank.south, 'south_detector')
|
|
161
|
+
else 'north'
|
|
162
|
+
if key in (DetectorBank.north, 'north_detector')
|
|
163
|
+
else key
|
|
164
|
+
): value
|
|
165
|
+
for key, value in detector_sizes.items()
|
|
166
|
+
}
|
|
167
|
+
if north_or_south is not None:
|
|
168
|
+
# In newer files the bank is determined by a name (north or south).
|
|
169
|
+
sizes = normalized_detector_sizes[north_or_south]
|
|
170
|
+
else:
|
|
171
|
+
# In older files the detector bank is determined by an index.
|
|
172
|
+
if number == 1:
|
|
173
|
+
sizes = normalized_detector_sizes['south']
|
|
174
|
+
elif number == 2:
|
|
175
|
+
sizes = normalized_detector_sizes['north']
|
|
176
|
+
else:
|
|
177
|
+
raise ValueError(
|
|
178
|
+
'Could not determine detector sizes from provided '
|
|
179
|
+
f'`DetectorBankSizes`: {detector_sizes}. '
|
|
180
|
+
'Expected keys: "south_detector" and "north_detector".'
|
|
181
|
+
)
|
|
182
|
+
|
|
151
183
|
positions = {
|
|
152
184
|
name: f'/entry1/instrument/components/{key}/Position'
|
|
153
185
|
for key in f['/entry1/instrument/components']
|
|
@@ -255,8 +287,8 @@ def _load_beer_mcstas(f, north_or_south=None, number=None):
|
|
|
255
287
|
# Bin detector panel into rectangular "pixels"
|
|
256
288
|
# similar in size to the physical detector pixels.
|
|
257
289
|
da = da.bin(
|
|
258
|
-
y=sc.linspace('y', -0.5, 0.5,
|
|
259
|
-
x=sc.linspace('x', -0.5, 0.5,
|
|
290
|
+
y=sc.linspace('y', -0.5, 0.5, sizes['y'] + 1, unit='m'),
|
|
291
|
+
x=sc.linspace('x', -0.5, 0.5, sizes['x'] + 1, unit='m'),
|
|
260
292
|
)
|
|
261
293
|
|
|
262
294
|
# Compute the position of each pixel in the global coordinate system.
|
|
@@ -318,7 +350,9 @@ def _load_beer_mcstas(f, north_or_south=None, number=None):
|
|
|
318
350
|
return da
|
|
319
351
|
|
|
320
352
|
|
|
321
|
-
def load_beer_mcstas(
|
|
353
|
+
def load_beer_mcstas(
|
|
354
|
+
f: str | Path | h5py.File, bank: DetectorBank, detector_sizes: DetectorBankSizes
|
|
355
|
+
) -> sc.DataArray:
|
|
322
356
|
'''Load beer McStas data from a file to a data array.'''
|
|
323
357
|
if not isinstance(bank, DetectorBank):
|
|
324
358
|
raise ValueError(
|
|
@@ -327,20 +361,30 @@ def load_beer_mcstas(f: str | Path | h5py.File, bank: DetectorBank) -> sc.DataAr
|
|
|
327
361
|
|
|
328
362
|
if isinstance(f, str | Path):
|
|
329
363
|
with h5py.File(f) as ff:
|
|
330
|
-
return load_beer_mcstas(ff, bank=bank)
|
|
364
|
+
return load_beer_mcstas(ff, bank=bank, detector_sizes=detector_sizes)
|
|
331
365
|
|
|
332
366
|
if len(list(_find_all_h5(f['/entry1/data'], '.*bank', nxclass='NXdata'))) < 8:
|
|
333
367
|
# If we don't find ~13 detectors, then assume the detectors are 2D
|
|
334
368
|
if len(list(_find_all_h5(f['/entry1/data'], '.*south', nxclass='NXdata'))) > 0:
|
|
335
|
-
return _load_beer_mcstas(
|
|
369
|
+
return _load_beer_mcstas(
|
|
370
|
+
f, north_or_south=bank.name, detector_sizes=detector_sizes
|
|
371
|
+
)
|
|
336
372
|
|
|
337
373
|
return _load_beer_mcstas(
|
|
338
|
-
f,
|
|
374
|
+
f,
|
|
375
|
+
north_or_south=None,
|
|
376
|
+
number=1 if bank == DetectorBank.south else 2,
|
|
377
|
+
detector_sizes=detector_sizes,
|
|
339
378
|
)
|
|
340
379
|
|
|
341
380
|
return sc.concat(
|
|
342
381
|
[
|
|
343
|
-
_load_beer_mcstas(
|
|
382
|
+
_load_beer_mcstas(
|
|
383
|
+
f,
|
|
384
|
+
north_or_south=bank.name,
|
|
385
|
+
number=number,
|
|
386
|
+
detector_sizes=detector_sizes,
|
|
387
|
+
)
|
|
344
388
|
for number in range(1, 13)
|
|
345
389
|
],
|
|
346
390
|
dim='panel',
|
|
@@ -399,10 +443,9 @@ def load_beer_mcstas_monitor(f: str | Path | h5py.File):
|
|
|
399
443
|
|
|
400
444
|
|
|
401
445
|
def load_beer_mcstas_provider(
|
|
402
|
-
fname: Filename[RunType],
|
|
403
|
-
bank: DetectorBank,
|
|
446
|
+
fname: Filename[RunType], bank: DetectorBank, detector_bank_sizes: DetectorBankSizes
|
|
404
447
|
) -> RawDetector[RunType]:
|
|
405
|
-
return load_beer_mcstas(fname, bank)
|
|
448
|
+
return load_beer_mcstas(fname, bank, detector_bank_sizes)
|
|
406
449
|
|
|
407
450
|
|
|
408
451
|
def load_beer_mcstas_monitor_provider(
|
|
@@ -4,7 +4,6 @@ import itertools
|
|
|
4
4
|
|
|
5
5
|
import sciline as sl
|
|
6
6
|
import scipp as sc
|
|
7
|
-
|
|
8
7
|
from ess.powder import providers as powder_providers
|
|
9
8
|
from ess.powder.correction import RunNormalization, insert_run_normalization
|
|
10
9
|
from ess.powder.types import (
|
|
@@ -15,6 +14,7 @@ from ess.powder.types import (
|
|
|
15
14
|
SampleRun,
|
|
16
15
|
VanadiumRun,
|
|
17
16
|
)
|
|
17
|
+
|
|
18
18
|
from ess.reduce.nexus.types import DetectorBankSizes, NeXusName
|
|
19
19
|
from ess.reduce.unwrap import GenericUnwrapWorkflow
|
|
20
20
|
|
|
@@ -28,6 +28,10 @@ from .types import (
|
|
|
28
28
|
|
|
29
29
|
default_parameters = {
|
|
30
30
|
PulseLength: sc.scalar(0.003, unit='s'),
|
|
31
|
+
DetectorBankSizes: {
|
|
32
|
+
'south_detector': {'y': 200, 'x': 500},
|
|
33
|
+
'north_detector': {'y': 200, 'x': 500},
|
|
34
|
+
},
|
|
31
35
|
}
|
|
32
36
|
|
|
33
37
|
|
|
@@ -93,10 +97,6 @@ def BeerPowderWorkflow(
|
|
|
93
97
|
monitor_types=[BunkerMonitor, CaveMonitor],
|
|
94
98
|
**kwargs,
|
|
95
99
|
)
|
|
96
|
-
wf[DetectorBankSizes] = {
|
|
97
|
-
'south_detector': {'y': 200, 'x': 500},
|
|
98
|
-
'north_detector': {'y': 200, 'x': 500},
|
|
99
|
-
}
|
|
100
100
|
wf[NeXusName[CaveMonitor]] = "monitor_cave"
|
|
101
101
|
|
|
102
102
|
for provider in itertools.chain(powder_providers, convert_pulse_shaping):
|
|
@@ -109,6 +109,7 @@ def BeerPowderWorkflow(
|
|
|
109
109
|
|
|
110
110
|
|
|
111
111
|
def BeerPowderMcStasWorkflow(**kwargs) -> sl.Pipeline:
|
|
112
|
+
"""Create the BEER powder workflow with McStas loaders inserted."""
|
|
112
113
|
wf = BeerPowderWorkflow(**kwargs)
|
|
113
114
|
for provider in mcstas_providers:
|
|
114
115
|
wf.insert(provider)
|
|
@@ -4,8 +4,6 @@
|
|
|
4
4
|
"""CIF writer for DREAM."""
|
|
5
5
|
|
|
6
6
|
import scipp as sc
|
|
7
|
-
from scippneutron.io import cif
|
|
8
|
-
|
|
9
7
|
from ess.powder.calibration import OutputCalibrationData
|
|
10
8
|
from ess.powder.types import (
|
|
11
9
|
Beamline,
|
|
@@ -19,6 +17,7 @@ from ess.powder.types import (
|
|
|
19
17
|
SampleRun,
|
|
20
18
|
Source,
|
|
21
19
|
)
|
|
20
|
+
from scippneutron.io import cif
|
|
22
21
|
|
|
23
22
|
|
|
24
23
|
def prepare_reduced_tof_cif(
|
|
@@ -5,8 +5,6 @@ import numpy as np
|
|
|
5
5
|
import sciline
|
|
6
6
|
import scipp as sc
|
|
7
7
|
import scippnexus as snx
|
|
8
|
-
from scippneutron.metadata import ESS_SOURCE
|
|
9
|
-
|
|
10
8
|
from ess.powder.types import (
|
|
11
9
|
Beamline,
|
|
12
10
|
CalibrationData,
|
|
@@ -26,6 +24,7 @@ from ess.powder.types import (
|
|
|
26
24
|
RunType,
|
|
27
25
|
Source,
|
|
28
26
|
)
|
|
27
|
+
from scippneutron.metadata import ESS_SOURCE
|
|
29
28
|
|
|
30
29
|
MANTLE_DETECTOR_ID = sc.index(7)
|
|
31
30
|
HIGH_RES_DETECTOR_ID = sc.index(8)
|
|
@@ -6,8 +6,6 @@ import itertools
|
|
|
6
6
|
import sciline
|
|
7
7
|
import scipp as sc
|
|
8
8
|
import scippnexus as snx
|
|
9
|
-
from scippneutron.metadata import Software
|
|
10
|
-
|
|
11
9
|
from ess.powder import providers as powder_providers
|
|
12
10
|
from ess.powder import with_pixel_mask_filenames
|
|
13
11
|
from ess.powder.correction import RunNormalization, insert_run_normalization
|
|
@@ -30,6 +28,8 @@ from ess.powder.types import (
|
|
|
30
28
|
VanadiumRun,
|
|
31
29
|
WavelengthMask,
|
|
32
30
|
)
|
|
31
|
+
from scippneutron.metadata import Software
|
|
32
|
+
|
|
33
33
|
from ess.reduce.nexus.types import DetectorBankSizes, NeXusName
|
|
34
34
|
from ess.reduce.parameter import parameter_mappers
|
|
35
35
|
from ess.reduce.unwrap import GenericUnwrapWorkflow
|
|
@@ -144,6 +144,7 @@ parameter_mappers[PixelMaskFilename] = with_pixel_mask_filenames
|
|
|
144
144
|
|
|
145
145
|
|
|
146
146
|
def default_parameters() -> dict:
|
|
147
|
+
"""Return the default reduction parameters shared by DREAM powder workflows."""
|
|
147
148
|
return {
|
|
148
149
|
KeepEvents[SampleRun]: KeepEvents[SampleRun](True),
|
|
149
150
|
KeepEvents[VanadiumRun]: KeepEvents[VanadiumRun](True),
|
|
@@ -2,7 +2,6 @@
|
|
|
2
2
|
# Copyright (c) 2024 Scipp contributors (https://github.com/scipp)
|
|
3
3
|
|
|
4
4
|
import sciline
|
|
5
|
-
|
|
6
5
|
from ess.powder import providers as powder_providers
|
|
7
6
|
from ess.powder.types import (
|
|
8
7
|
EmptyCanRun,
|
|
@@ -11,12 +10,14 @@ from ess.powder.types import (
|
|
|
11
10
|
SampleRun,
|
|
12
11
|
VanadiumRun,
|
|
13
12
|
)
|
|
13
|
+
|
|
14
14
|
from ess.reduce.nexus.workflow import gravity_vector_neg_y
|
|
15
15
|
|
|
16
16
|
from . import beamline
|
|
17
17
|
|
|
18
18
|
|
|
19
19
|
def default_parameters() -> dict:
|
|
20
|
+
"""Return the default parameters for the POWGEN workflow."""
|
|
20
21
|
return {
|
|
21
22
|
KeepEvents[SampleRun]: KeepEvents[SampleRun](True),
|
|
22
23
|
KeepEvents[VanadiumRun]: KeepEvents[VanadiumRun](False),
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: essdiffraction
|
|
3
|
-
Version: 26.
|
|
3
|
+
Version: 26.5.1
|
|
4
4
|
Summary: Diffraction data reduction for the European Spallation Source
|
|
5
5
|
Author: Scipp contributors
|
|
6
6
|
License-Expression: BSD-3-Clause
|
|
@@ -38,6 +38,22 @@ Requires-Dist: pandas>=2.1.2; extra == "test"
|
|
|
38
38
|
Requires-Dist: pooch>=1.5; extra == "test"
|
|
39
39
|
Requires-Dist: pytest>=7.0; extra == "test"
|
|
40
40
|
Requires-Dist: ipywidgets>=8.1.7; extra == "test"
|
|
41
|
+
Provides-Extra: docs
|
|
42
|
+
Requires-Dist: autodoc-pydantic; extra == "docs"
|
|
43
|
+
Requires-Dist: ipykernel; extra == "docs"
|
|
44
|
+
Requires-Dist: ipympl; extra == "docs"
|
|
45
|
+
Requires-Dist: ipython!=8.7.0; extra == "docs"
|
|
46
|
+
Requires-Dist: myst-parser; extra == "docs"
|
|
47
|
+
Requires-Dist: nbsphinx; extra == "docs"
|
|
48
|
+
Requires-Dist: pandas; extra == "docs"
|
|
49
|
+
Requires-Dist: pooch; extra == "docs"
|
|
50
|
+
Requires-Dist: pydata-sphinx-theme>=0.14; extra == "docs"
|
|
51
|
+
Requires-Dist: sphinx; extra == "docs"
|
|
52
|
+
Requires-Dist: sphinx-autodoc-typehints; extra == "docs"
|
|
53
|
+
Requires-Dist: sphinx-copybutton; extra == "docs"
|
|
54
|
+
Requires-Dist: sphinx-design; extra == "docs"
|
|
55
|
+
Requires-Dist: sphinxcontrib-bibtex; extra == "docs"
|
|
56
|
+
Requires-Dist: pyarrow; extra == "docs"
|
|
41
57
|
Dynamic: license-file
|
|
42
58
|
|
|
43
59
|
[](CODE_OF_CONDUCT.md)
|
|
@@ -1,31 +1,13 @@
|
|
|
1
1
|
.copier-answers.ess.yml
|
|
2
2
|
.copier-answers.yml
|
|
3
|
-
.gitignore
|
|
4
|
-
.pre-commit-config.yaml
|
|
5
|
-
.python-version
|
|
6
|
-
CODE_OF_CONDUCT.md
|
|
7
|
-
CONTRIBUTING.md
|
|
8
3
|
LICENSE
|
|
9
|
-
MANIFEST.in
|
|
10
4
|
README.md
|
|
11
5
|
pyproject.toml
|
|
12
|
-
tox.ini
|
|
13
|
-
.github/dependabot.yml
|
|
14
|
-
.github/ISSUE_TEMPLATE/high-level-requirement.yml
|
|
15
|
-
.github/workflows/ci.yml
|
|
16
|
-
.github/workflows/docs.yml
|
|
17
|
-
.github/workflows/nightly_at_main.yml
|
|
18
|
-
.github/workflows/nightly_at_main_lower_bound.yml
|
|
19
|
-
.github/workflows/nightly_at_release.yml
|
|
20
|
-
.github/workflows/python-version-ci
|
|
21
|
-
.github/workflows/release.yml
|
|
22
|
-
.github/workflows/test.yml
|
|
23
|
-
.github/workflows/unpinned.yml
|
|
24
|
-
.github/workflows/weekly_windows_macos.yml
|
|
25
6
|
docs/bibliography.bib
|
|
26
7
|
docs/conf.py
|
|
27
8
|
docs/index.md
|
|
28
9
|
docs/_static/anaconda-icon.js
|
|
10
|
+
docs/_static/essdiffraction-search-logo.png
|
|
29
11
|
docs/_static/favicon.svg
|
|
30
12
|
docs/_static/logo-dark.svg
|
|
31
13
|
docs/_static/logo.svg
|
|
@@ -37,6 +19,7 @@ docs/_static/thumbnails/dream_basic_powder_reduction_dark.svg
|
|
|
37
19
|
docs/_static/thumbnails/dream_basic_powder_reduction_light.svg
|
|
38
20
|
docs/_templates/class-template.rst
|
|
39
21
|
docs/_templates/doc_version.html
|
|
22
|
+
docs/_templates/layout.html
|
|
40
23
|
docs/_templates/module-template.rst
|
|
41
24
|
docs/about/bibliography.rst
|
|
42
25
|
docs/about/index.md
|
|
@@ -61,27 +44,6 @@ docs/user-guide/dream/index.md
|
|
|
61
44
|
docs/user-guide/dream/workflow-widget-dream.ipynb
|
|
62
45
|
docs/user-guide/sns-instruments/POWGEN_data_reduction.ipynb
|
|
63
46
|
docs/user-guide/sns-instruments/index.md
|
|
64
|
-
requirements/base.in
|
|
65
|
-
requirements/base.txt
|
|
66
|
-
requirements/basetest.in
|
|
67
|
-
requirements/basetest.txt
|
|
68
|
-
requirements/ci.in
|
|
69
|
-
requirements/ci.txt
|
|
70
|
-
requirements/dev.in
|
|
71
|
-
requirements/dev.txt
|
|
72
|
-
requirements/docs.in
|
|
73
|
-
requirements/docs.txt
|
|
74
|
-
requirements/make_base.py
|
|
75
|
-
requirements/mypy.in
|
|
76
|
-
requirements/mypy.txt
|
|
77
|
-
requirements/nightly.in
|
|
78
|
-
requirements/nightly.txt
|
|
79
|
-
requirements/static.in
|
|
80
|
-
requirements/static.txt
|
|
81
|
-
requirements/test.in
|
|
82
|
-
requirements/test.txt
|
|
83
|
-
requirements/wheels.in
|
|
84
|
-
requirements/wheels.txt
|
|
85
47
|
resources/logo.svg
|
|
86
48
|
src/ess/beer/__init__.py
|
|
87
49
|
src/ess/beer/clustering.py
|
|
@@ -134,7 +96,7 @@ src/essdiffraction.egg-info/top_level.txt
|
|
|
134
96
|
tests/conftest.py
|
|
135
97
|
tests/package_test.py
|
|
136
98
|
tests/beer/mcstas_reduction_test.py
|
|
137
|
-
tests/diffraction/
|
|
99
|
+
tests/diffraction/peaks_test.py
|
|
138
100
|
tests/dream/diagnostics_test.py
|
|
139
101
|
tests/dream/geant4_reduction_test.py
|
|
140
102
|
tests/dream/instrument_view_test.py
|
|
@@ -12,6 +12,23 @@ tof>=25.12.0
|
|
|
12
12
|
ncrystal[cif]>=4.1.0
|
|
13
13
|
spglib!=2.7
|
|
14
14
|
|
|
15
|
+
[docs]
|
|
16
|
+
autodoc-pydantic
|
|
17
|
+
ipykernel
|
|
18
|
+
ipympl
|
|
19
|
+
ipython!=8.7.0
|
|
20
|
+
myst-parser
|
|
21
|
+
nbsphinx
|
|
22
|
+
pandas
|
|
23
|
+
pooch
|
|
24
|
+
pydata-sphinx-theme>=0.14
|
|
25
|
+
sphinx
|
|
26
|
+
sphinx-autodoc-typehints
|
|
27
|
+
sphinx-copybutton
|
|
28
|
+
sphinx-design
|
|
29
|
+
sphinxcontrib-bibtex
|
|
30
|
+
pyarrow
|
|
31
|
+
|
|
15
32
|
[test]
|
|
16
33
|
pandas>=2.1.2
|
|
17
34
|
pooch>=1.5
|