essdiffraction 25.6.0__tar.gz → 25.8.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.
Files changed (141) hide show
  1. {essdiffraction-25.6.0 → essdiffraction-25.8.0}/.copier-answers.yml +1 -1
  2. essdiffraction-25.8.0/.github/workflows/python-version-ci +1 -0
  3. essdiffraction-25.8.0/.python-version +1 -0
  4. {essdiffraction-25.6.0/src/essdiffraction.egg-info → essdiffraction-25.8.0}/PKG-INFO +3 -4
  5. {essdiffraction-25.6.0 → essdiffraction-25.8.0}/docs/api-reference/index.md +42 -1
  6. {essdiffraction-25.6.0 → essdiffraction-25.8.0}/docs/conf.py +10 -1
  7. {essdiffraction-25.6.0 → essdiffraction-25.8.0}/docs/developer/getting-started.md +1 -1
  8. {essdiffraction-25.6.0 → essdiffraction-25.8.0}/docs/user-guide/dream/dream-advanced-powder-reduction.ipynb +1 -1
  9. {essdiffraction-25.6.0 → essdiffraction-25.8.0}/docs/user-guide/dream/dream-instrument-view.ipynb +4 -40
  10. {essdiffraction-25.6.0/tools → essdiffraction-25.8.0/docs/user-guide/dream}/dream-make-tof-lookup-table.ipynb +10 -10
  11. {essdiffraction-25.6.0 → essdiffraction-25.8.0}/docs/user-guide/dream/index.md +1 -0
  12. {essdiffraction-25.6.0 → essdiffraction-25.8.0}/pyproject.toml +2 -3
  13. {essdiffraction-25.6.0 → essdiffraction-25.8.0}/requirements/base.in +1 -1
  14. {essdiffraction-25.6.0 → essdiffraction-25.8.0}/requirements/base.txt +29 -29
  15. {essdiffraction-25.6.0 → essdiffraction-25.8.0}/requirements/basetest.txt +10 -14
  16. {essdiffraction-25.6.0 → essdiffraction-25.8.0}/requirements/ci.txt +10 -16
  17. {essdiffraction-25.6.0 → essdiffraction-25.8.0}/requirements/dev.txt +18 -14
  18. {essdiffraction-25.6.0 → essdiffraction-25.8.0}/requirements/docs.in +1 -0
  19. {essdiffraction-25.6.0 → essdiffraction-25.8.0}/requirements/docs.txt +23 -18
  20. {essdiffraction-25.6.0 → essdiffraction-25.8.0}/requirements/mypy.txt +3 -3
  21. {essdiffraction-25.6.0 → essdiffraction-25.8.0}/requirements/nightly.txt +31 -35
  22. {essdiffraction-25.6.0 → essdiffraction-25.8.0}/requirements/static.txt +4 -4
  23. {essdiffraction-25.6.0 → essdiffraction-25.8.0}/requirements/test.txt +2 -2
  24. {essdiffraction-25.6.0 → essdiffraction-25.8.0}/requirements/wheels.txt +3 -5
  25. {essdiffraction-25.6.0 → essdiffraction-25.8.0}/src/ess/dream/__init__.py +14 -4
  26. {essdiffraction-25.6.0 → essdiffraction-25.8.0}/src/ess/dream/data.py +34 -34
  27. {essdiffraction-25.6.0 → essdiffraction-25.8.0}/src/ess/dream/instrument_view.py +1 -1
  28. {essdiffraction-25.6.0 → essdiffraction-25.8.0}/src/ess/dream/io/__init__.py +1 -2
  29. {essdiffraction-25.6.0 → essdiffraction-25.8.0}/src/ess/dream/io/geant4.py +13 -23
  30. essdiffraction-25.6.0/src/ess/dream/workflow.py → essdiffraction-25.8.0/src/ess/dream/workflows.py +106 -50
  31. {essdiffraction-25.6.0 → essdiffraction-25.8.0}/src/ess/powder/__init__.py +1 -0
  32. {essdiffraction-25.6.0 → essdiffraction-25.8.0}/src/ess/powder/masking.py +7 -2
  33. {essdiffraction-25.6.0 → essdiffraction-25.8.0}/src/ess/powder/types.py +0 -7
  34. {essdiffraction-25.6.0 → essdiffraction-25.8.0}/src/ess/snspowder/powgen/data.py +48 -48
  35. {essdiffraction-25.6.0 → essdiffraction-25.8.0/src/essdiffraction.egg-info}/PKG-INFO +3 -4
  36. {essdiffraction-25.6.0 → essdiffraction-25.8.0}/src/essdiffraction.egg-info/SOURCES.txt +3 -4
  37. {essdiffraction-25.6.0 → essdiffraction-25.8.0}/src/essdiffraction.egg-info/requires.txt +1 -1
  38. {essdiffraction-25.6.0 → essdiffraction-25.8.0}/tests/dream/geant4_reduction_test.py +21 -22
  39. {essdiffraction-25.6.0 → essdiffraction-25.8.0}/tests/dream/io/geant4_test.py +6 -13
  40. essdiffraction-25.6.0/tests/dream/io/nexus_test.py → essdiffraction-25.8.0/tests/dream/workflows/dream_generic_workflow_test.py +12 -12
  41. {essdiffraction-25.6.0 → essdiffraction-25.8.0}/tox.ini +1 -1
  42. essdiffraction-25.6.0/.github/workflows/python-version-ci +0 -1
  43. essdiffraction-25.6.0/.python-version +0 -1
  44. essdiffraction-25.6.0/src/ess/dream/io/nexus.py +0 -66
  45. {essdiffraction-25.6.0 → essdiffraction-25.8.0}/.copier-answers.ess.yml +0 -0
  46. {essdiffraction-25.6.0 → essdiffraction-25.8.0}/.github/ISSUE_TEMPLATE/high-level-requirement.yml +0 -0
  47. {essdiffraction-25.6.0 → essdiffraction-25.8.0}/.github/dependabot.yml +0 -0
  48. {essdiffraction-25.6.0 → essdiffraction-25.8.0}/.github/workflows/ci.yml +0 -0
  49. {essdiffraction-25.6.0 → essdiffraction-25.8.0}/.github/workflows/docs.yml +0 -0
  50. {essdiffraction-25.6.0 → essdiffraction-25.8.0}/.github/workflows/nightly_at_main.yml +0 -0
  51. {essdiffraction-25.6.0 → essdiffraction-25.8.0}/.github/workflows/nightly_at_release.yml +0 -0
  52. {essdiffraction-25.6.0 → essdiffraction-25.8.0}/.github/workflows/release.yml +0 -0
  53. {essdiffraction-25.6.0 → essdiffraction-25.8.0}/.github/workflows/test.yml +0 -0
  54. {essdiffraction-25.6.0 → essdiffraction-25.8.0}/.github/workflows/unpinned.yml +0 -0
  55. {essdiffraction-25.6.0 → essdiffraction-25.8.0}/.github/workflows/weekly_windows_macos.yml +0 -0
  56. {essdiffraction-25.6.0 → essdiffraction-25.8.0}/.gitignore +0 -0
  57. {essdiffraction-25.6.0 → essdiffraction-25.8.0}/.pre-commit-config.yaml +0 -0
  58. {essdiffraction-25.6.0 → essdiffraction-25.8.0}/CODE_OF_CONDUCT.md +0 -0
  59. {essdiffraction-25.6.0 → essdiffraction-25.8.0}/CONTRIBUTING.md +0 -0
  60. {essdiffraction-25.6.0 → essdiffraction-25.8.0}/LICENSE +0 -0
  61. {essdiffraction-25.6.0 → essdiffraction-25.8.0}/MANIFEST.in +0 -0
  62. {essdiffraction-25.6.0 → essdiffraction-25.8.0}/README.md +0 -0
  63. {essdiffraction-25.6.0 → essdiffraction-25.8.0}/conda/meta.yaml +0 -0
  64. {essdiffraction-25.6.0 → essdiffraction-25.8.0}/docs/_static/anaconda-icon.js +0 -0
  65. {essdiffraction-25.6.0 → essdiffraction-25.8.0}/docs/_static/favicon.svg +0 -0
  66. {essdiffraction-25.6.0 → essdiffraction-25.8.0}/docs/_static/logo-dark.svg +0 -0
  67. {essdiffraction-25.6.0 → essdiffraction-25.8.0}/docs/_static/logo.svg +0 -0
  68. {essdiffraction-25.6.0 → essdiffraction-25.8.0}/docs/_static/thumbnails/dream_advanced_powder_reduction_dark.svg +0 -0
  69. {essdiffraction-25.6.0 → essdiffraction-25.8.0}/docs/_static/thumbnails/dream_advanced_powder_reduction_light.svg +0 -0
  70. {essdiffraction-25.6.0 → essdiffraction-25.8.0}/docs/_static/thumbnails/dream_basic_powder_reduction_dark.svg +0 -0
  71. {essdiffraction-25.6.0 → essdiffraction-25.8.0}/docs/_static/thumbnails/dream_basic_powder_reduction_light.svg +0 -0
  72. {essdiffraction-25.6.0 → essdiffraction-25.8.0}/docs/_templates/class-template.rst +0 -0
  73. {essdiffraction-25.6.0 → essdiffraction-25.8.0}/docs/_templates/doc_version.html +0 -0
  74. {essdiffraction-25.6.0 → essdiffraction-25.8.0}/docs/_templates/module-template.rst +0 -0
  75. {essdiffraction-25.6.0 → essdiffraction-25.8.0}/docs/about/bibliography.rst +0 -0
  76. {essdiffraction-25.6.0 → essdiffraction-25.8.0}/docs/about/index.md +0 -0
  77. {essdiffraction-25.6.0 → essdiffraction-25.8.0}/docs/bibliography.bib +0 -0
  78. {essdiffraction-25.6.0 → essdiffraction-25.8.0}/docs/developer/coding-conventions.md +0 -0
  79. {essdiffraction-25.6.0 → essdiffraction-25.8.0}/docs/developer/dependency-management.md +0 -0
  80. {essdiffraction-25.6.0 → essdiffraction-25.8.0}/docs/developer/index.md +0 -0
  81. {essdiffraction-25.6.0 → essdiffraction-25.8.0}/docs/index.md +0 -0
  82. {essdiffraction-25.6.0 → essdiffraction-25.8.0}/docs/user-guide/common/index.md +0 -0
  83. {essdiffraction-25.6.0 → essdiffraction-25.8.0}/docs/user-guide/common/vanadium_processing.ipynb +0 -0
  84. {essdiffraction-25.6.0 → essdiffraction-25.8.0}/docs/user-guide/dream/dream-detector-diagnostics.ipynb +0 -0
  85. {essdiffraction-25.6.0 → essdiffraction-25.8.0}/docs/user-guide/dream/dream-powder-reduction.ipynb +0 -0
  86. {essdiffraction-25.6.0 → essdiffraction-25.8.0}/docs/user-guide/dream/dream-visualize-absorption.ipynb +0 -0
  87. {essdiffraction-25.6.0 → essdiffraction-25.8.0}/docs/user-guide/dream/workflow-widget-dream.ipynb +0 -0
  88. {essdiffraction-25.6.0 → essdiffraction-25.8.0}/docs/user-guide/index.md +0 -0
  89. {essdiffraction-25.6.0 → essdiffraction-25.8.0}/docs/user-guide/installation.md +0 -0
  90. {essdiffraction-25.6.0 → essdiffraction-25.8.0}/docs/user-guide/sns-instruments/POWGEN_data_reduction.ipynb +0 -0
  91. {essdiffraction-25.6.0 → essdiffraction-25.8.0}/docs/user-guide/sns-instruments/index.md +0 -0
  92. {essdiffraction-25.6.0 → essdiffraction-25.8.0}/requirements/basetest.in +0 -0
  93. {essdiffraction-25.6.0 → essdiffraction-25.8.0}/requirements/ci.in +0 -0
  94. {essdiffraction-25.6.0 → essdiffraction-25.8.0}/requirements/dev.in +0 -0
  95. {essdiffraction-25.6.0 → essdiffraction-25.8.0}/requirements/make_base.py +0 -0
  96. {essdiffraction-25.6.0 → essdiffraction-25.8.0}/requirements/mypy.in +0 -0
  97. {essdiffraction-25.6.0 → essdiffraction-25.8.0}/requirements/nightly.in +0 -0
  98. {essdiffraction-25.6.0 → essdiffraction-25.8.0}/requirements/static.in +0 -0
  99. {essdiffraction-25.6.0 → essdiffraction-25.8.0}/requirements/test.in +0 -0
  100. {essdiffraction-25.6.0 → essdiffraction-25.8.0}/requirements/wheels.in +0 -0
  101. {essdiffraction-25.6.0 → essdiffraction-25.8.0}/resources/logo.svg +0 -0
  102. {essdiffraction-25.6.0 → essdiffraction-25.8.0}/setup.cfg +0 -0
  103. {essdiffraction-25.6.0 → essdiffraction-25.8.0}/src/ess/diffraction/__init__.py +0 -0
  104. {essdiffraction-25.6.0 → essdiffraction-25.8.0}/src/ess/diffraction/py.typed +0 -0
  105. {essdiffraction-25.6.0 → essdiffraction-25.8.0}/src/ess/dream/beamline.py +0 -0
  106. {essdiffraction-25.6.0 → essdiffraction-25.8.0}/src/ess/dream/diagnostics.py +0 -0
  107. {essdiffraction-25.6.0 → essdiffraction-25.8.0}/src/ess/dream/io/cif.py +0 -0
  108. {essdiffraction-25.6.0 → essdiffraction-25.8.0}/src/ess/dream/parameters.py +0 -0
  109. {essdiffraction-25.6.0 → essdiffraction-25.8.0}/src/ess/dream/py.typed +0 -0
  110. {essdiffraction-25.6.0 → essdiffraction-25.8.0}/src/ess/powder/_util.py +0 -0
  111. {essdiffraction-25.6.0 → essdiffraction-25.8.0}/src/ess/powder/calibration.py +0 -0
  112. {essdiffraction-25.6.0 → essdiffraction-25.8.0}/src/ess/powder/conversion.py +0 -0
  113. {essdiffraction-25.6.0 → essdiffraction-25.8.0}/src/ess/powder/correction.py +0 -0
  114. {essdiffraction-25.6.0 → essdiffraction-25.8.0}/src/ess/powder/filtering.py +0 -0
  115. {essdiffraction-25.6.0 → essdiffraction-25.8.0}/src/ess/powder/grouping.py +0 -0
  116. {essdiffraction-25.6.0 → essdiffraction-25.8.0}/src/ess/powder/logging.py +0 -0
  117. {essdiffraction-25.6.0 → essdiffraction-25.8.0}/src/ess/powder/py.typed +0 -0
  118. {essdiffraction-25.6.0 → essdiffraction-25.8.0}/src/ess/powder/smoothing.py +0 -0
  119. {essdiffraction-25.6.0 → essdiffraction-25.8.0}/src/ess/powder/transform.py +0 -0
  120. {essdiffraction-25.6.0 → essdiffraction-25.8.0}/src/ess/snspowder/powgen/__init__.py +0 -0
  121. {essdiffraction-25.6.0 → essdiffraction-25.8.0}/src/ess/snspowder/powgen/beamline.py +0 -0
  122. {essdiffraction-25.6.0 → essdiffraction-25.8.0}/src/ess/snspowder/powgen/calibration.py +0 -0
  123. {essdiffraction-25.6.0 → essdiffraction-25.8.0}/src/ess/snspowder/powgen/instrument_view.py +0 -0
  124. {essdiffraction-25.6.0 → essdiffraction-25.8.0}/src/ess/snspowder/powgen/peaks.py +0 -0
  125. {essdiffraction-25.6.0 → essdiffraction-25.8.0}/src/ess/snspowder/powgen/workflow.py +0 -0
  126. {essdiffraction-25.6.0 → essdiffraction-25.8.0}/src/essdiffraction.egg-info/dependency_links.txt +0 -0
  127. {essdiffraction-25.6.0 → essdiffraction-25.8.0}/src/essdiffraction.egg-info/top_level.txt +0 -0
  128. {essdiffraction-25.6.0 → essdiffraction-25.8.0}/tests/conftest.py +0 -0
  129. {essdiffraction-25.6.0 → essdiffraction-25.8.0}/tests/dream/diagnostics_test.py +0 -0
  130. {essdiffraction-25.6.0 → essdiffraction-25.8.0}/tests/dream/instrument_view_test.py +0 -0
  131. {essdiffraction-25.6.0 → essdiffraction-25.8.0}/tests/dream/io/cif_test.py +0 -0
  132. {essdiffraction-25.6.0 → essdiffraction-25.8.0}/tests/package_test.py +0 -0
  133. {essdiffraction-25.6.0 → essdiffraction-25.8.0}/tests/powder/conversion_test.py +0 -0
  134. {essdiffraction-25.6.0 → essdiffraction-25.8.0}/tests/powder/correction_test.py +0 -0
  135. {essdiffraction-25.6.0 → essdiffraction-25.8.0}/tests/powder/filtering_test.py +0 -0
  136. {essdiffraction-25.6.0 → essdiffraction-25.8.0}/tests/powder/transform_test.py +0 -0
  137. {essdiffraction-25.6.0 → essdiffraction-25.8.0}/tests/snspowder/powgen/load_test.py +0 -0
  138. {essdiffraction-25.6.0 → essdiffraction-25.8.0}/tests/snspowder/powgen/powgen_reduction_test.py +0 -0
  139. {essdiffraction-25.6.0 → essdiffraction-25.8.0}/tools/docs/dream-thumbnails.ipynb +0 -0
  140. {essdiffraction-25.6.0 → essdiffraction-25.8.0}/tools/preprocess_pg3_files.ipynb +0 -0
  141. {essdiffraction-25.6.0 → essdiffraction-25.8.0}/tools/shrink_nexus.py +0 -0
@@ -3,7 +3,7 @@ _commit: 3f79959
3
3
  _src_path: gh:scipp/copier_template
4
4
  description: Diffraction data reduction for the European Spallation Source
5
5
  max_python: '3.13'
6
- min_python: '3.10'
6
+ min_python: '3.11'
7
7
  namespace_package: ess
8
8
  nightly_deps: scipp,scippnexus,sciline,plopp,scippneutron,essreduce,tof
9
9
  orgname: scipp
@@ -0,0 +1 @@
1
+ 3.11
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: essdiffraction
3
- Version: 25.6.0
3
+ Version: 25.8.0
4
4
  Summary: Diffraction data reduction for the European Spallation Source
5
5
  Author: Scipp contributors
6
6
  License-Expression: BSD-3-Clause
@@ -12,17 +12,16 @@ Classifier: Natural Language :: English
12
12
  Classifier: Operating System :: OS Independent
13
13
  Classifier: Programming Language :: Python :: 3
14
14
  Classifier: Programming Language :: Python :: 3 :: Only
15
- Classifier: Programming Language :: Python :: 3.10
16
15
  Classifier: Programming Language :: Python :: 3.11
17
16
  Classifier: Programming Language :: Python :: 3.12
18
17
  Classifier: Programming Language :: Python :: 3.13
19
18
  Classifier: Topic :: Scientific/Engineering
20
19
  Classifier: Typing :: Typed
21
- Requires-Python: >=3.10
20
+ Requires-Python: >=3.11
22
21
  Description-Content-Type: text/markdown
23
22
  License-File: LICENSE
24
23
  Requires-Dist: dask
25
- Requires-Dist: essreduce>=25.05.3
24
+ Requires-Dist: essreduce>=25.07.0
26
25
  Requires-Dist: graphviz
27
26
  Requires-Dist: numpy
28
27
  Requires-Dist: plopp>=25.03.0
@@ -10,6 +10,15 @@
10
10
  :toctree: ../generated/attributes
11
11
 
12
12
  providers
13
+
14
+ .. autosummary::
15
+ :toctree: ../generated/classes
16
+
17
+ RunNormalization
18
+
19
+ .. autosummary::
20
+ :toctree: ../generated/functions
21
+
13
22
  with_pixel_mask_filenames
14
23
  ```
15
24
 
@@ -21,10 +30,13 @@
21
30
  :template: module-template.rst
22
31
  :recursive:
23
32
 
33
+ calibration
24
34
  conversion
25
35
  correction
26
36
  filtering
27
37
  grouping
38
+ logging
39
+ masking
28
40
  smoothing
29
41
  transform
30
42
  types
@@ -32,6 +44,23 @@
32
44
 
33
45
  ## ESSdream
34
46
 
47
+ ### Workflows
48
+
49
+
50
+ ```{eval-rst}
51
+ .. currentmodule:: ess.dream
52
+
53
+ .. autosummary::
54
+ :toctree: ../generated/functions
55
+
56
+ DreamGeant4MonitorHistogramWorkflow
57
+ DreamGeant4MonitorIntegratedWorkflow
58
+ DreamGeant4ProtonChargeWorkflow
59
+ DreamGeant4Workflow
60
+ DreamPowderWorkflow
61
+ DreamWorkflow
62
+ ```
63
+
35
64
  ### Top-level functions
36
65
 
37
66
  ```{eval-rst}
@@ -41,7 +70,18 @@
41
70
  :toctree: ../generated/functions
42
71
 
43
72
  instrument_view
44
- DreamGeant4Workflow
73
+ load_geant4_csv
74
+ ```
75
+
76
+ ### Top-level classes
77
+
78
+ ```{eval-rst}
79
+ .. currentmodule:: ess.dream
80
+
81
+ .. autosummary::
82
+ :toctree: ../generated/classes
83
+
84
+ InstrumentConfiguration
45
85
  ```
46
86
 
47
87
  ### Submodules
@@ -52,6 +92,7 @@
52
92
  :template: module-template.rst
53
93
  :recursive:
54
94
 
95
+ beamline
55
96
  data
56
97
  diagnostics
57
98
  io
@@ -32,6 +32,7 @@ extensions = [
32
32
  "sphinx_autodoc_typehints",
33
33
  "sphinx_copybutton",
34
34
  "sphinx_design",
35
+ "sphinxcontrib.autodoc_pydantic",
35
36
  "sphinxcontrib.bibtex",
36
37
  "nbsphinx",
37
38
  "myst_parser",
@@ -69,9 +70,17 @@ autodoc_type_aliases = {
69
70
  }
70
71
 
71
72
  intersphinx_mapping = {
72
- "python": ("https://docs.python.org/3", None),
73
73
  "numpy": ("https://numpy.org/doc/stable/", None),
74
+ "pydantic": ("https://docs.pydantic.dev/latest", None),
75
+ "python": ("https://docs.python.org/3", None),
76
+ # Scipp:
77
+ "essreduce": ("https://scipp.github.io/essreduce", None),
78
+ "plopp": ("https://scipp.github.io/plopp", None),
79
+ "sciline": ("https://scipp.github.io/sciline", None),
74
80
  "scipp": ("https://scipp.github.io/", None),
81
+ "scippneutron": ("https://scipp.github.io/scippneutron", None),
82
+ "scippnexus": ("https://scipp.github.io/scippnexus", None),
83
+ "tof": ("https://scipp.github.io/tof", None),
75
84
  }
76
85
 
77
86
  # autodocs includes everything, even irrelevant API internals. autosummary
@@ -40,7 +40,7 @@ Alternatively, if you want a different workflow, take a look at ``tox.ini`` or `
40
40
  Run the tests using
41
41
 
42
42
  ```sh
43
- tox -e py310
43
+ tox -e py311
44
44
  ```
45
45
 
46
46
  (or just `tox` if you want to run all environments).
@@ -42,7 +42,7 @@
42
42
  "The basic notebook sums over all detector voxels and produces a 1D curve.\n",
43
43
  "Here, we instead bin by scattering angle $2\\theta$.\n",
44
44
  "\n",
45
- "First, define the same workflow as in the [basic example](./dream-powder-reduction.rst#create_and_configure_the_workfow):"
45
+ "First, define the same workflow as in the [basic example](./dream-powder-reduction.rst):"
46
46
  ]
47
47
  },
48
48
  {
@@ -140,27 +140,9 @@
140
140
  "full_view"
141
141
  ]
142
142
  },
143
- {
144
- "cell_type": "code",
145
- "execution_count": null,
146
- "id": "9",
147
- "metadata": {
148
- "editable": true,
149
- "nbsphinx": "hidden",
150
- "slideshow": {
151
- "slide_type": ""
152
- },
153
- "tags": []
154
- },
155
- "outputs": [],
156
- "source": [
157
- "full_view[2].controls[\"tof\"][\"slider\"].value = 35\n",
158
- "full_view[1].toolbar.tools[\"autoscale\"].click()"
159
- ]
160
- },
161
143
  {
162
144
  "cell_type": "markdown",
163
- "id": "10",
145
+ "id": "9",
164
146
  "metadata": {
165
147
  "editable": true,
166
148
  "slideshow": {
@@ -179,7 +161,7 @@
179
161
  {
180
162
  "cell_type": "code",
181
163
  "execution_count": null,
182
- "id": "11",
164
+ "id": "10",
183
165
  "metadata": {
184
166
  "editable": true,
185
167
  "slideshow": {
@@ -193,27 +175,9 @@
193
175
  "mantle_view"
194
176
  ]
195
177
  },
196
- {
197
- "cell_type": "code",
198
- "execution_count": null,
199
- "id": "12",
200
- "metadata": {
201
- "editable": true,
202
- "nbsphinx": "hidden",
203
- "slideshow": {
204
- "slide_type": ""
205
- },
206
- "tags": []
207
- },
208
- "outputs": [],
209
- "source": [
210
- "mantle_view[1].controls[\"tof\"][\"slider\"].value = 43\n",
211
- "mantle_view[0].toolbar.tools[\"autoscale\"].click()"
212
- ]
213
- },
214
178
  {
215
179
  "cell_type": "markdown",
216
- "id": "13",
180
+ "id": "11",
217
181
  "metadata": {},
218
182
  "source": [
219
183
  "The instrument view is designed to be flexible in terms of what it accepts as input.\n",
@@ -225,7 +189,7 @@
225
189
  {
226
190
  "cell_type": "code",
227
191
  "execution_count": null,
228
- "id": "14",
192
+ "id": "12",
229
193
  "metadata": {},
230
194
  "outputs": [],
231
195
  "source": [
@@ -5,7 +5,9 @@
5
5
  "id": "0",
6
6
  "metadata": {},
7
7
  "source": [
8
- "# Create a time-of-flight lookup table for DREAM"
8
+ "# Create a time-of-flight lookup table for DREAM\n",
9
+ "\n",
10
+ "This notebook shows how to create a time-of-flight lookup table for the DREAM instrument."
9
11
  ]
10
12
  },
11
13
  {
@@ -16,7 +18,6 @@
16
18
  "outputs": [],
17
19
  "source": [
18
20
  "import scipp as sc\n",
19
- "import sciline as sl\n",
20
21
  "from ess.reduce import time_of_flight\n",
21
22
  "from ess.dream.beamline import InstrumentConfiguration, choppers"
22
23
  ]
@@ -26,7 +27,9 @@
26
27
  "id": "2",
27
28
  "metadata": {},
28
29
  "source": [
29
- "## Select the choppers"
30
+ "## Select the choppers\n",
31
+ "\n",
32
+ "We select the choppers for the 'high-flux' configuration."
30
33
  ]
31
34
  },
32
35
  {
@@ -54,15 +57,12 @@
54
57
  "metadata": {},
55
58
  "outputs": [],
56
59
  "source": [
57
- "wf = sl.Pipeline(\n",
58
- " time_of_flight.providers(), params=time_of_flight.default_parameters()\n",
59
- ")\n",
60
+ "wf = time_of_flight.TofLookupTableWorkflow()\n",
60
61
  "\n",
61
62
  "wf[time_of_flight.LtotalRange] = sc.scalar(60.0, unit=\"m\"), sc.scalar(80.0, unit=\"m\")\n",
62
- "wf[time_of_flight.SimulationResults] = time_of_flight.simulate_beamline(\n",
63
- " choppers=disk_choppers, neutrons=5_000_000, source_position=sc.vector([0, 0, 0], unit='m'),\n",
64
- ")\n",
65
- "\n",
63
+ "wf[time_of_flight.NumberOfSimulatedNeutrons] = 200_000 # Increase this number for more reliable results\n",
64
+ "wf[time_of_flight.SourcePosition] = sc.vector([0, 0, 0], unit='m')\n",
65
+ "wf[time_of_flight.DiskChoppers] = disk_choppers\n",
66
66
  "wf[time_of_flight.DistanceResolution] = sc.scalar(0.1, unit=\"m\")\n",
67
67
  "wf[time_of_flight.TimeResolution] = sc.scalar(250.0, unit='us')\n",
68
68
  "wf[time_of_flight.LookupTableRelativeErrorThreshold] = 0.02\n",
@@ -54,4 +54,5 @@ dream-instrument-view
54
54
  workflow-widget-dream
55
55
  dream-detector-diagnostics
56
56
  dream-visualize-absorption
57
+ dream-make-tof-lookup-table
57
58
  ```
@@ -18,21 +18,20 @@ classifiers = [
18
18
  "Operating System :: OS Independent",
19
19
  "Programming Language :: Python :: 3",
20
20
  "Programming Language :: Python :: 3 :: Only",
21
- "Programming Language :: Python :: 3.10",
22
21
  "Programming Language :: Python :: 3.11",
23
22
  "Programming Language :: Python :: 3.12",
24
23
  "Programming Language :: Python :: 3.13",
25
24
  "Topic :: Scientific/Engineering",
26
25
  "Typing :: Typed",
27
26
  ]
28
- requires-python = ">=3.10"
27
+ requires-python = ">=3.11"
29
28
 
30
29
  # IMPORTANT:
31
30
  # Run 'tox -e deps' after making changes here. This will update requirement files.
32
31
  # Make sure to list one dependency per line.
33
32
  dependencies = [
34
33
  "dask",
35
- "essreduce>=25.05.3",
34
+ "essreduce>=25.07.0",
36
35
  "graphviz",
37
36
  "numpy",
38
37
  "plopp>=25.03.0",
@@ -3,7 +3,7 @@
3
3
  # --- END OF CUSTOM SECTION ---
4
4
  # The following was generated by 'tox -e deps', DO NOT EDIT MANUALLY!
5
5
  dask
6
- essreduce>=25.05.3
6
+ essreduce>=25.07.0
7
7
  graphviz
8
8
  numpy
9
9
  plopp>=25.03.0
@@ -1,9 +1,9 @@
1
- # SHA1:81114073dd5e4b765405b54b3976f92d6a96439b
1
+ # SHA1:8f044677d4db96fd48743befd036bb0b7410e72f
2
2
  #
3
- # This file is autogenerated by pip-compile-multi
3
+ # This file was generated by pip-compile-multi.
4
4
  # To update, run:
5
5
  #
6
- # pip-compile-multi
6
+ # requirements upgrade
7
7
  #
8
8
  annotated-types==0.7.0
9
9
  # via pydantic
@@ -13,15 +13,15 @@ click==8.2.1
13
13
  # via dask
14
14
  cloudpickle==3.1.1
15
15
  # via dask
16
- comm==0.2.2
16
+ comm==0.2.3
17
17
  # via ipywidgets
18
- contourpy==1.3.2
18
+ contourpy==1.3.3
19
19
  # via matplotlib
20
20
  cyclebane==24.10.0
21
21
  # via sciline
22
22
  cycler==0.12.1
23
23
  # via matplotlib
24
- dask==2025.5.1
24
+ dask==2025.7.0
25
25
  # via -r base.in
26
26
  decorator==5.2.1
27
27
  # via ipython
@@ -29,19 +29,17 @@ dnspython==2.7.0
29
29
  # via email-validator
30
30
  email-validator==2.2.0
31
31
  # via scippneutron
32
- essreduce==25.5.3
32
+ essreduce==25.7.1
33
33
  # via -r base.in
34
- exceptiongroup==1.3.0
35
- # via ipython
36
34
  executing==2.2.0
37
35
  # via stack-data
38
- fonttools==4.58.1
36
+ fonttools==4.59.0
39
37
  # via matplotlib
40
- fsspec==2025.5.1
38
+ fsspec==2025.7.0
41
39
  # via dask
42
- graphviz==0.20.3
40
+ graphviz==0.21
43
41
  # via -r base.in
44
- h5py==3.13.0
42
+ h5py==3.14.0
45
43
  # via
46
44
  # scippneutron
47
45
  # scippnexus
@@ -51,8 +49,10 @@ importlib-metadata==8.7.0
51
49
  # via dask
52
50
  ipydatawidgets==4.3.5
53
51
  # via pythreejs
54
- ipython==8.37.0
52
+ ipython==9.4.0
55
53
  # via ipywidgets
54
+ ipython-pygments-lexers==1.1.1
55
+ # via ipython
56
56
  ipywidgets==8.1.7
57
57
  # via
58
58
  # ipydatawidgets
@@ -70,7 +70,7 @@ lazy-loader==0.4
70
70
  # tof
71
71
  locket==1.0.0
72
72
  # via partd
73
- matplotlib==3.10.3
73
+ matplotlib==3.10.5
74
74
  # via
75
75
  # mpltoolbox
76
76
  # plopp
@@ -78,9 +78,9 @@ matplotlib-inline==0.1.7
78
78
  # via ipython
79
79
  mpltoolbox==25.5.0
80
80
  # via scippneutron
81
- networkx==3.4.2
81
+ networkx==3.5
82
82
  # via cyclebane
83
- numpy==2.2.6
83
+ numpy==2.3.2
84
84
  # via
85
85
  # -r base.in
86
86
  # contourpy
@@ -102,9 +102,9 @@ partd==1.4.2
102
102
  # via dask
103
103
  pexpect==4.9.0
104
104
  # via ipython
105
- pillow==11.2.1
105
+ pillow==11.3.0
106
106
  # via matplotlib
107
- plopp==25.5.0
107
+ plopp==25.7.1
108
108
  # via
109
109
  # -r base.in
110
110
  # scippneutron
@@ -115,12 +115,14 @@ ptyprocess==0.7.0
115
115
  # via pexpect
116
116
  pure-eval==0.2.3
117
117
  # via stack-data
118
- pydantic==2.11.5
118
+ pydantic==2.11.7
119
119
  # via scippneutron
120
120
  pydantic-core==2.33.2
121
121
  # via pydantic
122
- pygments==2.19.1
123
- # via ipython
122
+ pygments==2.19.2
123
+ # via
124
+ # ipython
125
+ # ipython-pygments-lexers
124
126
  pyparsing==3.2.3
125
127
  # via matplotlib
126
128
  python-dateutil==2.9.0.post0
@@ -143,16 +145,16 @@ scipp==25.5.1
143
145
  # scippneutron
144
146
  # scippnexus
145
147
  # tof
146
- scippneutron==25.5.0
148
+ scippneutron==25.7.0
147
149
  # via
148
150
  # -r base.in
149
151
  # essreduce
150
- scippnexus==25.4.0
152
+ scippnexus==25.6.0
151
153
  # via
152
154
  # -r base.in
153
155
  # essreduce
154
156
  # scippneutron
155
- scipy==1.15.3
157
+ scipy==1.16.1
156
158
  # via
157
159
  # scippneutron
158
160
  # scippnexus
@@ -169,7 +171,6 @@ toolz==1.0.0
169
171
  # partd
170
172
  traitlets==5.14.3
171
173
  # via
172
- # comm
173
174
  # ipython
174
175
  # ipywidgets
175
176
  # matplotlib-inline
@@ -177,9 +178,8 @@ traitlets==5.14.3
177
178
  # traittypes
178
179
  traittypes==0.2.1
179
180
  # via ipydatawidgets
180
- typing-extensions==4.13.2
181
+ typing-extensions==4.14.1
181
182
  # via
182
- # exceptiongroup
183
183
  # ipython
184
184
  # pydantic
185
185
  # pydantic-core
@@ -191,5 +191,5 @@ wcwidth==0.2.13
191
191
  # via prompt-toolkit
192
192
  widgetsnbextension==4.0.14
193
193
  # via ipywidgets
194
- zipp==3.22.0
194
+ zipp==3.23.0
195
195
  # via importlib-metadata
@@ -1,27 +1,25 @@
1
1
  # SHA1:c4f3e9aaa3abd10fcdf497bea14415857f62cc89
2
2
  #
3
- # This file is autogenerated by pip-compile-multi
3
+ # This file was generated by pip-compile-multi.
4
4
  # To update, run:
5
5
  #
6
- # pip-compile-multi
6
+ # requirements upgrade
7
7
  #
8
- certifi==2025.4.26
8
+ certifi==2025.8.3
9
9
  # via requests
10
10
  charset-normalizer==3.4.2
11
11
  # via requests
12
- exceptiongroup==1.3.0
13
- # via pytest
14
12
  idna==3.10
15
13
  # via requests
16
14
  iniconfig==2.1.0
17
15
  # via pytest
18
- numpy==2.2.6
16
+ numpy==2.3.2
19
17
  # via pandas
20
18
  packaging==25.0
21
19
  # via
22
20
  # pooch
23
21
  # pytest
24
- pandas==2.2.3
22
+ pandas==2.3.1
25
23
  # via -r basetest.in
26
24
  platformdirs==4.3.8
27
25
  # via pooch
@@ -29,21 +27,19 @@ pluggy==1.6.0
29
27
  # via pytest
30
28
  pooch==1.8.2
31
29
  # via -r basetest.in
32
- pytest==8.3.5
30
+ pygments==2.19.2
31
+ # via pytest
32
+ pytest==8.4.1
33
33
  # via -r basetest.in
34
34
  python-dateutil==2.9.0.post0
35
35
  # via pandas
36
36
  pytz==2025.2
37
37
  # via pandas
38
- requests==2.32.3
38
+ requests==2.32.4
39
39
  # via pooch
40
40
  six==1.17.0
41
41
  # via python-dateutil
42
- tomli==2.2.1
43
- # via pytest
44
- typing-extensions==4.13.2
45
- # via exceptiongroup
46
42
  tzdata==2025.2
47
43
  # via pandas
48
- urllib3==2.4.0
44
+ urllib3==2.5.0
49
45
  # via requests
@@ -1,13 +1,13 @@
1
1
  # SHA1:6344d52635ea11dca331a3bc6eb1833c4c64d585
2
2
  #
3
- # This file is autogenerated by pip-compile-multi
3
+ # This file was generated by pip-compile-multi.
4
4
  # To update, run:
5
5
  #
6
- # pip-compile-multi
6
+ # requirements upgrade
7
7
  #
8
- cachetools==6.0.0
8
+ cachetools==6.1.0
9
9
  # via tox
10
- certifi==2025.4.26
10
+ certifi==2025.8.3
11
11
  # via requests
12
12
  chardet==5.2.0
13
13
  # via tox
@@ -15,7 +15,7 @@ charset-normalizer==3.4.2
15
15
  # via requests
16
16
  colorama==0.4.6
17
17
  # via tox
18
- distlib==0.3.9
18
+ distlib==0.4.0
19
19
  # via virtualenv
20
20
  filelock==3.18.0
21
21
  # via
@@ -23,7 +23,7 @@ filelock==3.18.0
23
23
  # virtualenv
24
24
  gitdb==4.0.12
25
25
  # via gitpython
26
- gitpython==3.1.44
26
+ gitpython==3.1.45
27
27
  # via -r ci.in
28
28
  idna==3.10
29
29
  # via requests
@@ -40,19 +40,13 @@ pluggy==1.6.0
40
40
  # via tox
41
41
  pyproject-api==1.9.1
42
42
  # via tox
43
- requests==2.32.3
43
+ requests==2.32.4
44
44
  # via -r ci.in
45
45
  smmap==5.0.2
46
46
  # via gitdb
47
- tomli==2.2.1
48
- # via
49
- # pyproject-api
50
- # tox
51
- tox==4.26.0
47
+ tox==4.28.4
52
48
  # via -r ci.in
53
- typing-extensions==4.13.2
54
- # via tox
55
- urllib3==2.4.0
49
+ urllib3==2.5.0
56
50
  # via requests
57
- virtualenv==20.31.2
51
+ virtualenv==20.33.1
58
52
  # via tox