essreduce 25.5.1__tar.gz → 25.5.3__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.
- {essreduce-25.5.1/src/essreduce.egg-info → essreduce-25.5.3}/PKG-INFO +2 -2
- {essreduce-25.5.1 → essreduce-25.5.3}/docs/user-guide/tof/dream.ipynb +3 -1
- {essreduce-25.5.1 → essreduce-25.5.3}/docs/user-guide/tof/frame-unwrapping.ipynb +6 -2
- {essreduce-25.5.1 → essreduce-25.5.3}/docs/user-guide/tof/wfm.ipynb +3 -1
- {essreduce-25.5.1 → essreduce-25.5.3}/pyproject.toml +1 -1
- {essreduce-25.5.1 → essreduce-25.5.3}/requirements/base.in +1 -1
- {essreduce-25.5.1 → essreduce-25.5.3}/requirements/base.txt +7 -7
- {essreduce-25.5.1 → essreduce-25.5.3}/requirements/basetest.txt +12 -10
- {essreduce-25.5.1 → essreduce-25.5.3}/requirements/ci.txt +5 -5
- {essreduce-25.5.1 → essreduce-25.5.3}/requirements/dev.txt +6 -6
- {essreduce-25.5.1 → essreduce-25.5.3}/requirements/docs.in +1 -0
- {essreduce-25.5.1 → essreduce-25.5.3}/requirements/docs.txt +12 -10
- {essreduce-25.5.1 → essreduce-25.5.3}/requirements/nightly.txt +10 -9
- {essreduce-25.5.1 → essreduce-25.5.3}/requirements/static.txt +2 -2
- {essreduce-25.5.1 → essreduce-25.5.3}/src/ess/reduce/data.py +17 -0
- {essreduce-25.5.1 → essreduce-25.5.3}/src/ess/reduce/nexus/types.py +31 -66
- {essreduce-25.5.1 → essreduce-25.5.3}/src/ess/reduce/nexus/workflow.py +83 -30
- {essreduce-25.5.1 → essreduce-25.5.3}/src/ess/reduce/streaming.py +24 -0
- {essreduce-25.5.1 → essreduce-25.5.3}/src/ess/reduce/time_of_flight/__init__.py +3 -14
- {essreduce-25.5.1 → essreduce-25.5.3}/src/ess/reduce/time_of_flight/eto_to_tof.py +3 -60
- essreduce-25.5.3/src/ess/reduce/time_of_flight/resample.py +97 -0
- {essreduce-25.5.1 → essreduce-25.5.3}/src/ess/reduce/time_of_flight/simulation.py +2 -2
- {essreduce-25.5.1 → essreduce-25.5.3}/src/ess/reduce/time_of_flight/types.py +0 -40
- {essreduce-25.5.1 → essreduce-25.5.3}/src/ess/reduce/time_of_flight/workflow.py +8 -12
- {essreduce-25.5.1 → essreduce-25.5.3/src/essreduce.egg-info}/PKG-INFO +2 -2
- {essreduce-25.5.1 → essreduce-25.5.3}/src/essreduce.egg-info/SOURCES.txt +5 -4
- {essreduce-25.5.1 → essreduce-25.5.3}/src/essreduce.egg-info/requires.txt +1 -1
- essreduce-25.5.3/tests/accumulators_test.py +281 -0
- {essreduce-25.5.1 → essreduce-25.5.3}/tests/nexus/nexus_loader_test.py +2 -2
- {essreduce-25.5.1 → essreduce-25.5.3}/tests/nexus/workflow_test.py +124 -59
- {essreduce-25.5.1 → essreduce-25.5.3}/tests/streaming_test.py +0 -176
- essreduce-25.5.3/tests/time_of_flight/resample_tests.py +477 -0
- {essreduce-25.5.1 → essreduce-25.5.3}/tests/time_of_flight/unwrap_test.py +11 -9
- {essreduce-25.5.1 → essreduce-25.5.3}/tests/time_of_flight/wfm_test.py +10 -4
- {essreduce-25.5.1 → essreduce-25.5.3}/tests/time_of_flight/workflow_test.py +29 -9
- essreduce-25.5.3/tools/shrink_nexus.py +83 -0
- essreduce-25.5.1/src/ess/reduce/time_of_flight/to_events.py +0 -111
- essreduce-25.5.1/src/ess/reduce/utils.py +0 -36
- essreduce-25.5.1/tests/time_of_flight/to_events_test.py +0 -166
- {essreduce-25.5.1 → essreduce-25.5.3}/.copier-answers.ess.yml +0 -0
- {essreduce-25.5.1 → essreduce-25.5.3}/.copier-answers.yml +0 -0
- {essreduce-25.5.1 → essreduce-25.5.3}/.github/ISSUE_TEMPLATE/blank.md +0 -0
- {essreduce-25.5.1 → essreduce-25.5.3}/.github/ISSUE_TEMPLATE/high-level-requirement.yml +0 -0
- {essreduce-25.5.1 → essreduce-25.5.3}/.github/dependabot.yml +0 -0
- {essreduce-25.5.1 → essreduce-25.5.3}/.github/workflows/ci.yml +0 -0
- {essreduce-25.5.1 → essreduce-25.5.3}/.github/workflows/docs.yml +0 -0
- {essreduce-25.5.1 → essreduce-25.5.3}/.github/workflows/nightly_at_main.yml +0 -0
- {essreduce-25.5.1 → essreduce-25.5.3}/.github/workflows/nightly_at_release.yml +0 -0
- {essreduce-25.5.1 → essreduce-25.5.3}/.github/workflows/python-version-ci +0 -0
- {essreduce-25.5.1 → essreduce-25.5.3}/.github/workflows/release.yml +0 -0
- {essreduce-25.5.1 → essreduce-25.5.3}/.github/workflows/test.yml +0 -0
- {essreduce-25.5.1 → essreduce-25.5.3}/.github/workflows/unpinned.yml +0 -0
- {essreduce-25.5.1 → essreduce-25.5.3}/.github/workflows/weekly_windows_macos.yml +0 -0
- {essreduce-25.5.1 → essreduce-25.5.3}/.gitignore +0 -0
- {essreduce-25.5.1 → essreduce-25.5.3}/.pre-commit-config.yaml +0 -0
- {essreduce-25.5.1 → essreduce-25.5.3}/.python-version +0 -0
- {essreduce-25.5.1 → essreduce-25.5.3}/CODE_OF_CONDUCT.md +0 -0
- {essreduce-25.5.1 → essreduce-25.5.3}/CONTRIBUTING.md +0 -0
- {essreduce-25.5.1 → essreduce-25.5.3}/LICENSE +0 -0
- {essreduce-25.5.1 → essreduce-25.5.3}/MANIFEST.in +0 -0
- {essreduce-25.5.1 → essreduce-25.5.3}/README.md +0 -0
- {essreduce-25.5.1 → essreduce-25.5.3}/conda/meta.yaml +0 -0
- {essreduce-25.5.1 → essreduce-25.5.3}/docs/_static/anaconda-icon.js +0 -0
- {essreduce-25.5.1 → essreduce-25.5.3}/docs/_static/favicon.svg +0 -0
- {essreduce-25.5.1 → essreduce-25.5.3}/docs/_static/logo-dark.svg +0 -0
- {essreduce-25.5.1 → essreduce-25.5.3}/docs/_static/logo.svg +0 -0
- {essreduce-25.5.1 → essreduce-25.5.3}/docs/_templates/class-template.rst +0 -0
- {essreduce-25.5.1 → essreduce-25.5.3}/docs/_templates/doc_version.html +0 -0
- {essreduce-25.5.1 → essreduce-25.5.3}/docs/_templates/module-template.rst +0 -0
- {essreduce-25.5.1 → essreduce-25.5.3}/docs/about/index.md +0 -0
- {essreduce-25.5.1 → essreduce-25.5.3}/docs/api-reference/index.md +0 -0
- {essreduce-25.5.1 → essreduce-25.5.3}/docs/conf.py +0 -0
- {essreduce-25.5.1 → essreduce-25.5.3}/docs/developer/coding-conventions.md +0 -0
- {essreduce-25.5.1 → essreduce-25.5.3}/docs/developer/dependency-management.md +0 -0
- {essreduce-25.5.1 → essreduce-25.5.3}/docs/developer/getting-started.md +0 -0
- {essreduce-25.5.1 → essreduce-25.5.3}/docs/developer/gui.ipynb +0 -0
- {essreduce-25.5.1 → essreduce-25.5.3}/docs/developer/index.md +0 -0
- {essreduce-25.5.1 → essreduce-25.5.3}/docs/index.md +0 -0
- {essreduce-25.5.1 → essreduce-25.5.3}/docs/user-guide/index.md +0 -0
- {essreduce-25.5.1 → essreduce-25.5.3}/docs/user-guide/installation.md +0 -0
- {essreduce-25.5.1 → essreduce-25.5.3}/docs/user-guide/reduction-workflow-guidelines.md +0 -0
- {essreduce-25.5.1 → essreduce-25.5.3}/docs/user-guide/tof/index.md +0 -0
- {essreduce-25.5.1 → essreduce-25.5.3}/docs/user-guide/widget.md +0 -0
- {essreduce-25.5.1 → essreduce-25.5.3}/requirements/basetest.in +0 -0
- {essreduce-25.5.1 → essreduce-25.5.3}/requirements/ci.in +0 -0
- {essreduce-25.5.1 → essreduce-25.5.3}/requirements/dev.in +0 -0
- {essreduce-25.5.1 → essreduce-25.5.3}/requirements/make_base.py +0 -0
- {essreduce-25.5.1 → essreduce-25.5.3}/requirements/mypy.in +0 -0
- {essreduce-25.5.1 → essreduce-25.5.3}/requirements/mypy.txt +0 -0
- {essreduce-25.5.1 → essreduce-25.5.3}/requirements/nightly.in +0 -0
- {essreduce-25.5.1 → essreduce-25.5.3}/requirements/static.in +0 -0
- {essreduce-25.5.1 → essreduce-25.5.3}/requirements/test.in +0 -0
- {essreduce-25.5.1 → essreduce-25.5.3}/requirements/test.txt +0 -0
- {essreduce-25.5.1 → essreduce-25.5.3}/requirements/wheels.in +0 -0
- {essreduce-25.5.1 → essreduce-25.5.3}/requirements/wheels.txt +0 -0
- {essreduce-25.5.1 → essreduce-25.5.3}/resources/logo.svg +0 -0
- {essreduce-25.5.1 → essreduce-25.5.3}/setup.cfg +0 -0
- {essreduce-25.5.1 → essreduce-25.5.3}/src/ess/reduce/__init__.py +0 -0
- {essreduce-25.5.1 → essreduce-25.5.3}/src/ess/reduce/live/__init__.py +0 -0
- {essreduce-25.5.1 → essreduce-25.5.3}/src/ess/reduce/live/raw.py +0 -0
- {essreduce-25.5.1 → essreduce-25.5.3}/src/ess/reduce/live/roi.py +0 -0
- {essreduce-25.5.1 → essreduce-25.5.3}/src/ess/reduce/live/workflow.py +0 -0
- {essreduce-25.5.1 → essreduce-25.5.3}/src/ess/reduce/logging.py +0 -0
- {essreduce-25.5.1 → essreduce-25.5.3}/src/ess/reduce/nexus/__init__.py +0 -0
- {essreduce-25.5.1 → essreduce-25.5.3}/src/ess/reduce/nexus/_nexus_loader.py +0 -0
- {essreduce-25.5.1 → essreduce-25.5.3}/src/ess/reduce/nexus/json_generator.py +0 -0
- {essreduce-25.5.1 → essreduce-25.5.3}/src/ess/reduce/nexus/json_nexus.py +0 -0
- {essreduce-25.5.1 → essreduce-25.5.3}/src/ess/reduce/parameter.py +0 -0
- {essreduce-25.5.1 → essreduce-25.5.3}/src/ess/reduce/py.typed +0 -0
- {essreduce-25.5.1 → essreduce-25.5.3}/src/ess/reduce/scripts/grow_nexus.py +0 -0
- {essreduce-25.5.1 → essreduce-25.5.3}/src/ess/reduce/time_of_flight/fakes.py +0 -0
- {essreduce-25.5.1 → essreduce-25.5.3}/src/ess/reduce/time_of_flight/interpolator_numba.py +0 -0
- {essreduce-25.5.1 → essreduce-25.5.3}/src/ess/reduce/time_of_flight/interpolator_scipy.py +0 -0
- {essreduce-25.5.1 → essreduce-25.5.3}/src/ess/reduce/ui.py +0 -0
- {essreduce-25.5.1 → essreduce-25.5.3}/src/ess/reduce/uncertainty.py +0 -0
- {essreduce-25.5.1 → essreduce-25.5.3}/src/ess/reduce/widgets/__init__.py +0 -0
- {essreduce-25.5.1 → essreduce-25.5.3}/src/ess/reduce/widgets/_base.py +0 -0
- {essreduce-25.5.1 → essreduce-25.5.3}/src/ess/reduce/widgets/_binedges_widget.py +0 -0
- {essreduce-25.5.1 → essreduce-25.5.3}/src/ess/reduce/widgets/_bounds_widget.py +0 -0
- {essreduce-25.5.1 → essreduce-25.5.3}/src/ess/reduce/widgets/_config.py +0 -0
- {essreduce-25.5.1 → essreduce-25.5.3}/src/ess/reduce/widgets/_filename_widget.py +0 -0
- {essreduce-25.5.1 → essreduce-25.5.3}/src/ess/reduce/widgets/_linspace_widget.py +0 -0
- {essreduce-25.5.1 → essreduce-25.5.3}/src/ess/reduce/widgets/_optional_widget.py +0 -0
- {essreduce-25.5.1 → essreduce-25.5.3}/src/ess/reduce/widgets/_spinner.py +0 -0
- {essreduce-25.5.1 → essreduce-25.5.3}/src/ess/reduce/widgets/_string_widget.py +0 -0
- {essreduce-25.5.1 → essreduce-25.5.3}/src/ess/reduce/widgets/_switchable_widget.py +0 -0
- {essreduce-25.5.1 → essreduce-25.5.3}/src/ess/reduce/widgets/_vector_widget.py +0 -0
- {essreduce-25.5.1 → essreduce-25.5.3}/src/ess/reduce/workflow.py +0 -0
- {essreduce-25.5.1 → essreduce-25.5.3}/src/essreduce.egg-info/dependency_links.txt +0 -0
- {essreduce-25.5.1 → essreduce-25.5.3}/src/essreduce.egg-info/entry_points.txt +0 -0
- {essreduce-25.5.1 → essreduce-25.5.3}/src/essreduce.egg-info/top_level.txt +0 -0
- {essreduce-25.5.1 → essreduce-25.5.3}/tests/live/raw_test.py +0 -0
- {essreduce-25.5.1 → essreduce-25.5.3}/tests/live/roi_test.py +0 -0
- {essreduce-25.5.1 → essreduce-25.5.3}/tests/nexus/json_generator_test.py +0 -0
- {essreduce-25.5.1 → essreduce-25.5.3}/tests/nexus/json_nexus_examples/array_dataset.json +0 -0
- {essreduce-25.5.1 → essreduce-25.5.3}/tests/nexus/json_nexus_examples/dataset.json +0 -0
- {essreduce-25.5.1 → essreduce-25.5.3}/tests/nexus/json_nexus_examples/detector.json +0 -0
- {essreduce-25.5.1 → essreduce-25.5.3}/tests/nexus/json_nexus_examples/entry.json +0 -0
- {essreduce-25.5.1 → essreduce-25.5.3}/tests/nexus/json_nexus_examples/event_data.json +0 -0
- {essreduce-25.5.1 → essreduce-25.5.3}/tests/nexus/json_nexus_examples/instrument.json +0 -0
- {essreduce-25.5.1 → essreduce-25.5.3}/tests/nexus/json_nexus_examples/log.json +0 -0
- {essreduce-25.5.1 → essreduce-25.5.3}/tests/nexus/json_nexus_test.py +0 -0
- {essreduce-25.5.1 → essreduce-25.5.3}/tests/package_test.py +0 -0
- {essreduce-25.5.1 → essreduce-25.5.3}/tests/scripts/test_grow_nexus.py +0 -0
- {essreduce-25.5.1 → essreduce-25.5.3}/tests/time_of_flight/interpolator_test.py +0 -0
- {essreduce-25.5.1 → essreduce-25.5.3}/tests/uncertainty_test.py +0 -0
- {essreduce-25.5.1 → essreduce-25.5.3}/tests/widget_test.py +0 -0
- {essreduce-25.5.1 → essreduce-25.5.3}/tox.ini +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: essreduce
|
|
3
|
-
Version: 25.5.
|
|
3
|
+
Version: 25.5.3
|
|
4
4
|
Summary: Common data reduction tools for the ESS facility
|
|
5
5
|
Author: Scipp contributors
|
|
6
6
|
License: BSD 3-Clause License
|
|
@@ -51,7 +51,7 @@ Classifier: Typing :: Typed
|
|
|
51
51
|
Requires-Python: >=3.10
|
|
52
52
|
Description-Content-Type: text/markdown
|
|
53
53
|
License-File: LICENSE
|
|
54
|
-
Requires-Dist: sciline>=25.
|
|
54
|
+
Requires-Dist: sciline>=25.05.1
|
|
55
55
|
Requires-Dist: scipp>=25.01.0
|
|
56
56
|
Requires-Dist: scippneutron>=25.02.0
|
|
57
57
|
Requires-Dist: scippnexus>=24.11.0
|
|
@@ -306,7 +306,9 @@
|
|
|
306
306
|
"outputs": [],
|
|
307
307
|
"source": [
|
|
308
308
|
"wf = time_of_flight.GenericTofWorkflow(\n",
|
|
309
|
-
" tof_lut_provider=time_of_flight.TofLutProvider.TOF
|
|
309
|
+
" tof_lut_provider=time_of_flight.TofLutProvider.TOF,\n",
|
|
310
|
+
" run_types=[SampleRun],\n",
|
|
311
|
+
" monitor_types=[],\n",
|
|
310
312
|
")\n",
|
|
311
313
|
"wf[DetectorData[SampleRun]] = raw_data\n",
|
|
312
314
|
"wf[time_of_flight.DetectorLtotal[SampleRun]] = Ltotal\n",
|
|
@@ -160,7 +160,9 @@
|
|
|
160
160
|
"outputs": [],
|
|
161
161
|
"source": [
|
|
162
162
|
"wf = time_of_flight.GenericTofWorkflow(\n",
|
|
163
|
-
" tof_lut_provider=time_of_flight.TofLutProvider.TOF
|
|
163
|
+
" tof_lut_provider=time_of_flight.TofLutProvider.TOF,\n",
|
|
164
|
+
" run_types=[SampleRun],\n",
|
|
165
|
+
" monitor_types=[],\n",
|
|
164
166
|
")\n",
|
|
165
167
|
"\n",
|
|
166
168
|
"wf[DetectorData[SampleRun]] = nxevent_data\n",
|
|
@@ -371,7 +373,9 @@
|
|
|
371
373
|
"outputs": [],
|
|
372
374
|
"source": [
|
|
373
375
|
"wf = time_of_flight.GenericTofWorkflow(\n",
|
|
374
|
-
" tof_lut_provider=time_of_flight.TofLutProvider.TOF
|
|
376
|
+
" tof_lut_provider=time_of_flight.TofLutProvider.TOF,\n",
|
|
377
|
+
" run_types=[SampleRun],\n",
|
|
378
|
+
" monitor_types=[],\n",
|
|
375
379
|
")\n",
|
|
376
380
|
"\n",
|
|
377
381
|
"nxevent_data = results.to_nxevent_data()\n",
|
|
@@ -327,7 +327,9 @@
|
|
|
327
327
|
"outputs": [],
|
|
328
328
|
"source": [
|
|
329
329
|
"wf = time_of_flight.GenericTofWorkflow(\n",
|
|
330
|
-
" tof_lut_provider=time_of_flight.TofLutProvider.TOF
|
|
330
|
+
" tof_lut_provider=time_of_flight.TofLutProvider.TOF,\n",
|
|
331
|
+
" run_types=[SampleRun],\n",
|
|
332
|
+
" monitor_types=[],\n",
|
|
331
333
|
")\n",
|
|
332
334
|
"wf[DetectorData[SampleRun]] = raw_data\n",
|
|
333
335
|
"wf[time_of_flight.DetectorLtotal[SampleRun]] = Ltotal\n",
|
|
@@ -31,7 +31,7 @@ requires-python = ">=3.10"
|
|
|
31
31
|
# Run 'tox -e deps' after making changes here. This will update requirement files.
|
|
32
32
|
# Make sure to list one dependency per line.
|
|
33
33
|
dependencies = [
|
|
34
|
-
"sciline>=25.
|
|
34
|
+
"sciline>=25.05.1",
|
|
35
35
|
"scipp>=25.01.0",
|
|
36
36
|
"scippneutron>=25.02.0",
|
|
37
37
|
"scippnexus>=24.11.0",
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
# SHA1:
|
|
1
|
+
# SHA1:da1d0d3975da182dcdb34676612971ba09dbdc53
|
|
2
2
|
#
|
|
3
3
|
# This file was generated by pip-compile-multi.
|
|
4
4
|
# To update, run:
|
|
@@ -17,7 +17,7 @@ dnspython==2.7.0
|
|
|
17
17
|
# via email-validator
|
|
18
18
|
email-validator==2.2.0
|
|
19
19
|
# via scippneutron
|
|
20
|
-
fonttools==4.
|
|
20
|
+
fonttools==4.58.0
|
|
21
21
|
# via matplotlib
|
|
22
22
|
h5py==3.13.0
|
|
23
23
|
# via
|
|
@@ -31,7 +31,7 @@ lazy-loader==0.4
|
|
|
31
31
|
# via
|
|
32
32
|
# plopp
|
|
33
33
|
# scippneutron
|
|
34
|
-
matplotlib==3.10.
|
|
34
|
+
matplotlib==3.10.3
|
|
35
35
|
# via
|
|
36
36
|
# mpltoolbox
|
|
37
37
|
# plopp
|
|
@@ -39,7 +39,7 @@ mpltoolbox==25.4.0
|
|
|
39
39
|
# via scippneutron
|
|
40
40
|
networkx==3.4.2
|
|
41
41
|
# via cyclebane
|
|
42
|
-
numpy==2.2.
|
|
42
|
+
numpy==2.2.6
|
|
43
43
|
# via
|
|
44
44
|
# contourpy
|
|
45
45
|
# h5py
|
|
@@ -66,20 +66,20 @@ python-dateutil==2.9.0.post0
|
|
|
66
66
|
# matplotlib
|
|
67
67
|
# scippneutron
|
|
68
68
|
# scippnexus
|
|
69
|
-
sciline==25.
|
|
69
|
+
sciline==25.5.1
|
|
70
70
|
# via -r base.in
|
|
71
71
|
scipp==25.5.0
|
|
72
72
|
# via
|
|
73
73
|
# -r base.in
|
|
74
74
|
# scippneutron
|
|
75
75
|
# scippnexus
|
|
76
|
-
scippneutron==25.
|
|
76
|
+
scippneutron==25.5.0
|
|
77
77
|
# via -r base.in
|
|
78
78
|
scippnexus==25.4.0
|
|
79
79
|
# via
|
|
80
80
|
# -r base.in
|
|
81
81
|
# scippneutron
|
|
82
|
-
scipy==1.15.
|
|
82
|
+
scipy==1.15.3
|
|
83
83
|
# via
|
|
84
84
|
# scippneutron
|
|
85
85
|
# scippnexus
|
|
@@ -19,13 +19,13 @@ cycler==0.12.1
|
|
|
19
19
|
# via matplotlib
|
|
20
20
|
decorator==5.2.1
|
|
21
21
|
# via ipython
|
|
22
|
-
exceptiongroup==1.
|
|
22
|
+
exceptiongroup==1.3.0
|
|
23
23
|
# via
|
|
24
24
|
# ipython
|
|
25
25
|
# pytest
|
|
26
26
|
executing==2.2.0
|
|
27
27
|
# via stack-data
|
|
28
|
-
fonttools==4.
|
|
28
|
+
fonttools==4.58.0
|
|
29
29
|
# via matplotlib
|
|
30
30
|
idna==3.10
|
|
31
31
|
# via requests
|
|
@@ -33,11 +33,11 @@ iniconfig==2.1.0
|
|
|
33
33
|
# via pytest
|
|
34
34
|
ipython==8.36.0
|
|
35
35
|
# via ipywidgets
|
|
36
|
-
ipywidgets==8.1.
|
|
36
|
+
ipywidgets==8.1.7
|
|
37
37
|
# via -r basetest.in
|
|
38
38
|
jedi==0.19.2
|
|
39
39
|
# via ipython
|
|
40
|
-
jupyterlab-widgets==3.0.
|
|
40
|
+
jupyterlab-widgets==3.0.15
|
|
41
41
|
# via ipywidgets
|
|
42
42
|
kiwisolver==1.4.8
|
|
43
43
|
# via matplotlib
|
|
@@ -47,13 +47,13 @@ lazy-loader==0.4
|
|
|
47
47
|
# tof
|
|
48
48
|
llvmlite==0.44.0
|
|
49
49
|
# via numba
|
|
50
|
-
matplotlib==3.10.
|
|
50
|
+
matplotlib==3.10.3
|
|
51
51
|
# via plopp
|
|
52
52
|
matplotlib-inline==0.1.7
|
|
53
53
|
# via ipython
|
|
54
54
|
numba==0.61.2
|
|
55
55
|
# via -r basetest.in
|
|
56
|
-
numpy==2.2.
|
|
56
|
+
numpy==2.2.6
|
|
57
57
|
# via
|
|
58
58
|
# contourpy
|
|
59
59
|
# matplotlib
|
|
@@ -72,11 +72,11 @@ pexpect==4.9.0
|
|
|
72
72
|
# via ipython
|
|
73
73
|
pillow==11.2.1
|
|
74
74
|
# via matplotlib
|
|
75
|
-
platformdirs==4.3.
|
|
75
|
+
platformdirs==4.3.8
|
|
76
76
|
# via pooch
|
|
77
77
|
plopp==25.4.1
|
|
78
78
|
# via tof
|
|
79
|
-
pluggy==1.
|
|
79
|
+
pluggy==1.6.0
|
|
80
80
|
# via pytest
|
|
81
81
|
pooch==1.8.2
|
|
82
82
|
# via -r basetest.in
|
|
@@ -98,7 +98,7 @@ requests==2.32.3
|
|
|
98
98
|
# via pooch
|
|
99
99
|
scipp==25.5.0
|
|
100
100
|
# via tof
|
|
101
|
-
scipy==1.15.
|
|
101
|
+
scipy==1.15.3
|
|
102
102
|
# via
|
|
103
103
|
# -r basetest.in
|
|
104
104
|
# tof
|
|
@@ -117,7 +117,9 @@ traitlets==5.14.3
|
|
|
117
117
|
# ipywidgets
|
|
118
118
|
# matplotlib-inline
|
|
119
119
|
typing-extensions==4.13.2
|
|
120
|
-
# via
|
|
120
|
+
# via
|
|
121
|
+
# exceptiongroup
|
|
122
|
+
# ipython
|
|
121
123
|
urllib3==2.4.0
|
|
122
124
|
# via requests
|
|
123
125
|
wcwidth==0.2.13
|
|
@@ -32,13 +32,13 @@ packaging==25.0
|
|
|
32
32
|
# -r ci.in
|
|
33
33
|
# pyproject-api
|
|
34
34
|
# tox
|
|
35
|
-
platformdirs==4.3.
|
|
35
|
+
platformdirs==4.3.8
|
|
36
36
|
# via
|
|
37
37
|
# tox
|
|
38
38
|
# virtualenv
|
|
39
|
-
pluggy==1.
|
|
39
|
+
pluggy==1.6.0
|
|
40
40
|
# via tox
|
|
41
|
-
pyproject-api==1.9.
|
|
41
|
+
pyproject-api==1.9.1
|
|
42
42
|
# via tox
|
|
43
43
|
requests==2.32.3
|
|
44
44
|
# via -r ci.in
|
|
@@ -48,11 +48,11 @@ tomli==2.2.1
|
|
|
48
48
|
# via
|
|
49
49
|
# pyproject-api
|
|
50
50
|
# tox
|
|
51
|
-
tox==4.
|
|
51
|
+
tox==4.26.0
|
|
52
52
|
# via -r ci.in
|
|
53
53
|
typing-extensions==4.13.2
|
|
54
54
|
# via tox
|
|
55
55
|
urllib3==2.4.0
|
|
56
56
|
# via requests
|
|
57
|
-
virtualenv==20.
|
|
57
|
+
virtualenv==20.31.2
|
|
58
58
|
# via tox
|
|
@@ -26,13 +26,13 @@ async-lru==2.0.5
|
|
|
26
26
|
# via jupyterlab
|
|
27
27
|
cffi==1.17.1
|
|
28
28
|
# via argon2-cffi-bindings
|
|
29
|
-
click==8.
|
|
29
|
+
click==8.2.0
|
|
30
30
|
# via
|
|
31
31
|
# pip-compile-multi
|
|
32
32
|
# pip-tools
|
|
33
33
|
copier==9.7.1
|
|
34
34
|
# via -r dev.in
|
|
35
|
-
dunamai==1.
|
|
35
|
+
dunamai==1.24.1
|
|
36
36
|
# via copier
|
|
37
37
|
fqdn==1.5.1
|
|
38
38
|
# via jsonschema
|
|
@@ -61,7 +61,7 @@ jupyter-events==0.12.0
|
|
|
61
61
|
# via jupyter-server
|
|
62
62
|
jupyter-lsp==2.2.5
|
|
63
63
|
# via jupyterlab
|
|
64
|
-
jupyter-server==2.
|
|
64
|
+
jupyter-server==2.16.0
|
|
65
65
|
# via
|
|
66
66
|
# jupyter-lsp
|
|
67
67
|
# jupyterlab
|
|
@@ -69,7 +69,7 @@ jupyter-server==2.15.0
|
|
|
69
69
|
# notebook-shim
|
|
70
70
|
jupyter-server-terminals==0.5.3
|
|
71
71
|
# via jupyter-server
|
|
72
|
-
jupyterlab==4.4.
|
|
72
|
+
jupyterlab==4.4.2
|
|
73
73
|
# via -r dev.in
|
|
74
74
|
jupyterlab-server==2.27.3
|
|
75
75
|
# via jupyterlab
|
|
@@ -85,7 +85,7 @@ pip-tools==7.4.1
|
|
|
85
85
|
# via pip-compile-multi
|
|
86
86
|
plumbum==1.9.0
|
|
87
87
|
# via copier
|
|
88
|
-
prometheus-client==0.
|
|
88
|
+
prometheus-client==0.22.0
|
|
89
89
|
# via jupyter-server
|
|
90
90
|
pycparser==2.22
|
|
91
91
|
# via cffi
|
|
@@ -111,7 +111,7 @@ terminado==0.18.1
|
|
|
111
111
|
# jupyter-server-terminals
|
|
112
112
|
toposort==1.10
|
|
113
113
|
# via pip-compile-multi
|
|
114
|
-
types-python-dateutil==2.9.0.
|
|
114
|
+
types-python-dateutil==2.9.0.20250516
|
|
115
115
|
# via arrow
|
|
116
116
|
uri-template==1.3.0
|
|
117
117
|
# via jsonschema
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
# SHA1:
|
|
1
|
+
# SHA1:5205c7bf93f31f2c74209026f99d2e5496ed7adc
|
|
2
2
|
#
|
|
3
3
|
# This file was generated by pip-compile-multi.
|
|
4
4
|
# To update, run:
|
|
@@ -10,8 +10,6 @@ accessible-pygments==0.0.5
|
|
|
10
10
|
# via pydata-sphinx-theme
|
|
11
11
|
alabaster==1.0.0
|
|
12
12
|
# via sphinx
|
|
13
|
-
appnope==0.1.4
|
|
14
|
-
# via ipykernel
|
|
15
13
|
asttokens==3.0.0
|
|
16
14
|
# via stack-data
|
|
17
15
|
attrs==25.3.0
|
|
@@ -48,7 +46,7 @@ docutils==0.21.2
|
|
|
48
46
|
# nbsphinx
|
|
49
47
|
# pydata-sphinx-theme
|
|
50
48
|
# sphinx
|
|
51
|
-
exceptiongroup==1.
|
|
49
|
+
exceptiongroup==1.3.0
|
|
52
50
|
# via ipython
|
|
53
51
|
executing==2.2.0
|
|
54
52
|
# via stack-data
|
|
@@ -65,7 +63,7 @@ ipython==8.36.0
|
|
|
65
63
|
# -r docs.in
|
|
66
64
|
# ipykernel
|
|
67
65
|
# ipywidgets
|
|
68
|
-
ipywidgets==8.1.
|
|
66
|
+
ipywidgets==8.1.7
|
|
69
67
|
# via -r docs.in
|
|
70
68
|
jedi==0.19.2
|
|
71
69
|
# via ipython
|
|
@@ -92,8 +90,10 @@ jupyter-core==5.7.2
|
|
|
92
90
|
# nbformat
|
|
93
91
|
jupyterlab-pygments==0.3.0
|
|
94
92
|
# via nbconvert
|
|
95
|
-
jupyterlab-widgets==3.0.
|
|
93
|
+
jupyterlab-widgets==3.0.15
|
|
96
94
|
# via ipywidgets
|
|
95
|
+
llvmlite==0.44.0
|
|
96
|
+
# via numba
|
|
97
97
|
markdown-it-py==3.0.0
|
|
98
98
|
# via
|
|
99
99
|
# mdit-py-plugins
|
|
@@ -127,13 +127,15 @@ nbsphinx==0.9.7
|
|
|
127
127
|
# via -r docs.in
|
|
128
128
|
nest-asyncio==1.6.0
|
|
129
129
|
# via ipykernel
|
|
130
|
+
numba==0.61.2
|
|
131
|
+
# via -r docs.in
|
|
130
132
|
pandocfilters==1.5.1
|
|
131
133
|
# via nbconvert
|
|
132
134
|
parso==0.8.4
|
|
133
135
|
# via jedi
|
|
134
136
|
pexpect==4.9.0
|
|
135
137
|
# via ipython
|
|
136
|
-
platformdirs==4.3.
|
|
138
|
+
platformdirs==4.3.8
|
|
137
139
|
# via jupyter-core
|
|
138
140
|
prompt-toolkit==3.0.51
|
|
139
141
|
# via ipython
|
|
@@ -164,11 +166,11 @@ referencing==0.36.2
|
|
|
164
166
|
# jsonschema-specifications
|
|
165
167
|
requests==2.32.3
|
|
166
168
|
# via sphinx
|
|
167
|
-
rpds-py==0.
|
|
169
|
+
rpds-py==0.25.0
|
|
168
170
|
# via
|
|
169
171
|
# jsonschema
|
|
170
172
|
# referencing
|
|
171
|
-
snowballstemmer==
|
|
173
|
+
snowballstemmer==3.0.1
|
|
172
174
|
# via sphinx
|
|
173
175
|
soupsieve==2.7
|
|
174
176
|
# via beautifulsoup4
|
|
@@ -207,7 +209,7 @@ tof==25.5.0
|
|
|
207
209
|
# via -r docs.in
|
|
208
210
|
tomli==2.2.1
|
|
209
211
|
# via sphinx
|
|
210
|
-
tornado==6.
|
|
212
|
+
tornado==6.5
|
|
211
213
|
# via
|
|
212
214
|
# ipykernel
|
|
213
215
|
# jupyter-client
|
|
@@ -32,13 +32,13 @@ dnspython==2.7.0
|
|
|
32
32
|
# via email-validator
|
|
33
33
|
email-validator==2.2.0
|
|
34
34
|
# via scippneutron
|
|
35
|
-
exceptiongroup==1.
|
|
35
|
+
exceptiongroup==1.3.0
|
|
36
36
|
# via
|
|
37
37
|
# ipython
|
|
38
38
|
# pytest
|
|
39
39
|
executing==2.2.0
|
|
40
40
|
# via stack-data
|
|
41
|
-
fonttools==4.
|
|
41
|
+
fonttools==4.58.0
|
|
42
42
|
# via matplotlib
|
|
43
43
|
h5py==3.13.0
|
|
44
44
|
# via
|
|
@@ -52,11 +52,11 @@ iniconfig==2.1.0
|
|
|
52
52
|
# via pytest
|
|
53
53
|
ipython==8.36.0
|
|
54
54
|
# via ipywidgets
|
|
55
|
-
ipywidgets==8.1.
|
|
55
|
+
ipywidgets==8.1.7
|
|
56
56
|
# via -r nightly.in
|
|
57
57
|
jedi==0.19.2
|
|
58
58
|
# via ipython
|
|
59
|
-
jupyterlab-widgets==3.0.
|
|
59
|
+
jupyterlab-widgets==3.0.15
|
|
60
60
|
# via ipywidgets
|
|
61
61
|
kiwisolver==1.4.8
|
|
62
62
|
# via matplotlib
|
|
@@ -67,7 +67,7 @@ lazy-loader==0.4
|
|
|
67
67
|
# tof
|
|
68
68
|
llvmlite==0.44.0
|
|
69
69
|
# via numba
|
|
70
|
-
matplotlib==3.10.
|
|
70
|
+
matplotlib==3.10.3
|
|
71
71
|
# via
|
|
72
72
|
# mpltoolbox
|
|
73
73
|
# plopp
|
|
@@ -79,7 +79,7 @@ networkx==3.4.2
|
|
|
79
79
|
# via cyclebane
|
|
80
80
|
numba==0.61.2
|
|
81
81
|
# via -r nightly.in
|
|
82
|
-
numpy==2.2.
|
|
82
|
+
numpy==2.2.6
|
|
83
83
|
# via
|
|
84
84
|
# contourpy
|
|
85
85
|
# h5py
|
|
@@ -100,13 +100,13 @@ pexpect==4.9.0
|
|
|
100
100
|
# via ipython
|
|
101
101
|
pillow==11.2.1
|
|
102
102
|
# via matplotlib
|
|
103
|
-
platformdirs==4.3.
|
|
103
|
+
platformdirs==4.3.8
|
|
104
104
|
# via pooch
|
|
105
105
|
plopp==25.4.1
|
|
106
106
|
# via
|
|
107
107
|
# scippneutron
|
|
108
108
|
# tof
|
|
109
|
-
pluggy==1.
|
|
109
|
+
pluggy==1.6.0
|
|
110
110
|
# via pytest
|
|
111
111
|
pooch==1.8.2
|
|
112
112
|
# via -r nightly.in
|
|
@@ -147,7 +147,7 @@ scippnexus @ git+https://github.com/scipp/scippnexus@main
|
|
|
147
147
|
# via
|
|
148
148
|
# -r nightly.in
|
|
149
149
|
# scippneutron
|
|
150
|
-
scipy==1.15.
|
|
150
|
+
scipy==1.15.3
|
|
151
151
|
# via
|
|
152
152
|
# -r nightly.in
|
|
153
153
|
# scippneutron
|
|
@@ -169,6 +169,7 @@ traitlets==5.14.3
|
|
|
169
169
|
# matplotlib-inline
|
|
170
170
|
typing-extensions==4.13.2
|
|
171
171
|
# via
|
|
172
|
+
# exceptiongroup
|
|
172
173
|
# ipython
|
|
173
174
|
# pydantic
|
|
174
175
|
# pydantic-core
|
|
@@ -15,11 +15,11 @@ identify==2.6.10
|
|
|
15
15
|
# via pre-commit
|
|
16
16
|
nodeenv==1.9.1
|
|
17
17
|
# via pre-commit
|
|
18
|
-
platformdirs==4.3.
|
|
18
|
+
platformdirs==4.3.8
|
|
19
19
|
# via virtualenv
|
|
20
20
|
pre-commit==4.2.0
|
|
21
21
|
# via -r static.in
|
|
22
22
|
pyyaml==6.0.2
|
|
23
23
|
# via pre-commit
|
|
24
|
-
virtualenv==20.
|
|
24
|
+
virtualenv==20.31.2
|
|
25
25
|
# via pre-commit
|
|
@@ -40,6 +40,15 @@ _bifrost_registry = Registry(
|
|
|
40
40
|
)
|
|
41
41
|
|
|
42
42
|
|
|
43
|
+
_dream_registry = Registry(
|
|
44
|
+
instrument='dream',
|
|
45
|
+
files={
|
|
46
|
+
"TEST_977695_00068064.hdf": "md5:9e6ee9ec70d7c5e8c0c93b9e07e8949f",
|
|
47
|
+
},
|
|
48
|
+
version='2',
|
|
49
|
+
)
|
|
50
|
+
|
|
51
|
+
|
|
43
52
|
_loki_registry = Registry(
|
|
44
53
|
instrument='loki',
|
|
45
54
|
files={
|
|
@@ -94,3 +103,11 @@ def loki_tutorial_background_run_60393() -> str:
|
|
|
94
103
|
def loki_tutorial_sample_transmission_run() -> str:
|
|
95
104
|
"""Sample transmission run (sample + sample holder/can + transmission monitor)."""
|
|
96
105
|
return _loki_registry.get_path('60394-2022-02-28_2215.nxs')
|
|
106
|
+
|
|
107
|
+
|
|
108
|
+
def dream_coda_test_file() -> str:
|
|
109
|
+
"""CODA file for DREAM where most pulses have been removed.
|
|
110
|
+
|
|
111
|
+
See ``tools/shrink_nexus.py``.
|
|
112
|
+
"""
|
|
113
|
+
return _dream_registry.get_path('TEST_977695_00068064.hdf')
|
|
@@ -8,6 +8,7 @@ import sciline
|
|
|
8
8
|
import scipp as sc
|
|
9
9
|
import scippnexus as snx
|
|
10
10
|
from scippneutron import metadata as scn_meta
|
|
11
|
+
from scippneutron.chopper import DiskChopper
|
|
11
12
|
|
|
12
13
|
FilePath = NewType('FilePath', Path)
|
|
13
14
|
"""Full path to a NeXus file on disk."""
|
|
@@ -69,19 +70,13 @@ class TransmissionRun(Generic[ScatteringRunType]):
|
|
|
69
70
|
"""
|
|
70
71
|
|
|
71
72
|
|
|
72
|
-
RunType = TypeVar(
|
|
73
|
-
'RunType',
|
|
74
|
-
BackgroundRun,
|
|
75
|
-
EmptyBeamRun,
|
|
76
|
-
SampleRun,
|
|
77
|
-
# Note that mypy does not seem to like this nesting, may need to find a workaround
|
|
78
|
-
TransmissionRun[SampleRun],
|
|
79
|
-
TransmissionRun[BackgroundRun],
|
|
80
|
-
VanadiumRun,
|
|
81
|
-
)
|
|
73
|
+
RunType = TypeVar('RunType')
|
|
82
74
|
"""TypeVar for specifying what run some data belongs to.
|
|
83
75
|
|
|
84
|
-
|
|
76
|
+
This type must be constrained when used in a Sciline pipeline.
|
|
77
|
+
E.g., by passing ``run_types`` to :class:`ess.reduce.nexus.GenericNeXusWorkflow`.
|
|
78
|
+
|
|
79
|
+
ESSreduce provides the following but custom types can be used:
|
|
85
80
|
|
|
86
81
|
- :class:`BackgroundRun`
|
|
87
82
|
- :class:`EmptyBeamRun`
|
|
@@ -92,58 +87,28 @@ Possible values:
|
|
|
92
87
|
|
|
93
88
|
|
|
94
89
|
# 1.2 Monitor types
|
|
95
|
-
Monitor1 = NewType('Monitor1', int)
|
|
96
|
-
"""Identifier for an arbitrary monitor"""
|
|
97
|
-
Monitor2 = NewType('Monitor2', int)
|
|
98
|
-
"""Identifier for an arbitrary monitor"""
|
|
99
|
-
Monitor3 = NewType('Monitor3', int)
|
|
100
|
-
"""Identifier for an arbitrary monitor"""
|
|
101
|
-
Monitor4 = NewType('Monitor4', int)
|
|
102
|
-
"""Identifier for an arbitrary monitor"""
|
|
103
|
-
Monitor5 = NewType('Monitor5', int)
|
|
104
|
-
"""Identifier for an arbitrary monitor"""
|
|
105
|
-
Monitor6 = NewType('Monitor6', int)
|
|
106
|
-
"""Identifier for an arbitrary monitor"""
|
|
107
90
|
IncidentMonitor = NewType('IncidentMonitor', int)
|
|
108
91
|
"""Incident monitor"""
|
|
109
92
|
TransmissionMonitor = NewType('TransmissionMonitor', int)
|
|
110
93
|
"""Transmission monitor"""
|
|
111
|
-
FrameMonitor0 = NewType('
|
|
94
|
+
FrameMonitor0 = NewType('FrameMonitor0', int)
|
|
112
95
|
"""Frame monitor number 0"""
|
|
113
|
-
FrameMonitor1 = NewType('
|
|
96
|
+
FrameMonitor1 = NewType('FrameMonitor1', int)
|
|
114
97
|
"""Frame monitor number 1"""
|
|
115
|
-
FrameMonitor2 = NewType('
|
|
98
|
+
FrameMonitor2 = NewType('FrameMonitor2', int)
|
|
116
99
|
"""Frame monitor number 2"""
|
|
117
|
-
FrameMonitor3 = NewType('
|
|
100
|
+
FrameMonitor3 = NewType('FrameMonitor3', int)
|
|
118
101
|
"""Frame monitor number 3"""
|
|
119
102
|
CaveMonitor = NewType('CaveMonitor', int)
|
|
120
103
|
"""A monitor located in the instrument cave"""
|
|
121
|
-
MonitorType = TypeVar(
|
|
122
|
-
'MonitorType',
|
|
123
|
-
Monitor1,
|
|
124
|
-
Monitor2,
|
|
125
|
-
Monitor3,
|
|
126
|
-
Monitor4,
|
|
127
|
-
Monitor5,
|
|
128
|
-
Monitor6,
|
|
129
|
-
IncidentMonitor,
|
|
130
|
-
TransmissionMonitor,
|
|
131
|
-
FrameMonitor0,
|
|
132
|
-
FrameMonitor1,
|
|
133
|
-
FrameMonitor2,
|
|
134
|
-
FrameMonitor3,
|
|
135
|
-
CaveMonitor,
|
|
136
|
-
)
|
|
104
|
+
MonitorType = TypeVar('MonitorType')
|
|
137
105
|
"""TypeVar for specifying what monitor some data belongs to.
|
|
138
106
|
|
|
139
|
-
|
|
107
|
+
This type must be constrained when used in a Sciline pipeline.
|
|
108
|
+
E.g., by passing ``monitor_types`` to :class:`ess.reduce.nexus.GenericNeXusWorkflow`.
|
|
109
|
+
|
|
110
|
+
ESSreduce provides the following but custom types can be used:
|
|
140
111
|
|
|
141
|
-
- :class:`Monitor1`
|
|
142
|
-
- :class:`Monitor2`
|
|
143
|
-
- :class:`Monitor3`
|
|
144
|
-
- :class:`Monitor4`
|
|
145
|
-
- :class:`Monitor5`
|
|
146
|
-
- :class:`Monitor6`
|
|
147
112
|
- :class:`IncidentMonitor`
|
|
148
113
|
- :class:`TransmissionMonitor`
|
|
149
114
|
- :class:`FrameMonitor0`
|
|
@@ -154,27 +119,20 @@ Possible values:
|
|
|
154
119
|
"""
|
|
155
120
|
|
|
156
121
|
|
|
157
|
-
Component = TypeVar(
|
|
158
|
-
|
|
122
|
+
Component = TypeVar('Component')
|
|
123
|
+
"""A beamline component in a neXus file."""
|
|
124
|
+
COMPONENT_CONSTRAINTS = (
|
|
159
125
|
snx.NXdetector,
|
|
160
126
|
snx.NXsample,
|
|
161
127
|
snx.NXsource,
|
|
162
128
|
snx.NXdisk_chopper,
|
|
163
129
|
snx.NXcrystal,
|
|
164
|
-
Monitor1,
|
|
165
|
-
Monitor2,
|
|
166
|
-
Monitor3,
|
|
167
|
-
Monitor4,
|
|
168
|
-
Monitor5,
|
|
169
|
-
Monitor6,
|
|
170
|
-
IncidentMonitor,
|
|
171
|
-
TransmissionMonitor,
|
|
172
|
-
FrameMonitor0,
|
|
173
|
-
FrameMonitor1,
|
|
174
|
-
FrameMonitor2,
|
|
175
|
-
FrameMonitor3,
|
|
176
|
-
CaveMonitor,
|
|
177
130
|
)
|
|
131
|
+
"""Base constraints for the Component type variable.
|
|
132
|
+
|
|
133
|
+
This list will be supplemented with monitor types when creating a pipeline.
|
|
134
|
+
"""
|
|
135
|
+
|
|
178
136
|
UniqueComponent = TypeVar('UniqueComponent', snx.NXsample, snx.NXsource)
|
|
179
137
|
"""Components that can be identified by their type as there will only be one."""
|
|
180
138
|
|
|
@@ -336,8 +294,15 @@ class NeXusTransformation(Generic[Component, RunType]):
|
|
|
336
294
|
return NeXusTransformation(value=transform)
|
|
337
295
|
|
|
338
296
|
|
|
339
|
-
class
|
|
297
|
+
class RawChoppers(
|
|
340
298
|
sciline.Scope[RunType, sc.DataGroup[sc.DataGroup[Any]]],
|
|
341
299
|
sc.DataGroup[sc.DataGroup[Any]],
|
|
342
300
|
):
|
|
343
301
|
"""All choppers in a NeXus file."""
|
|
302
|
+
|
|
303
|
+
|
|
304
|
+
class DiskChoppers(
|
|
305
|
+
sciline.Scope[RunType, sc.DataGroup[DiskChopper]],
|
|
306
|
+
sc.DataGroup[DiskChopper],
|
|
307
|
+
):
|
|
308
|
+
"""All disk choppers parsed from a NeXus file."""
|