Skip to content

Commit 37fd8c3

Browse files
authored
Merge pull request #188 from scipp/use-multi-file-widget
Use multi-file widget in workflow widget
2 parents 9689af1 + a214d63 commit 37fd8c3

File tree

11 files changed

+46
-42
lines changed

11 files changed

+46
-42
lines changed

docs/user-guide/loki/workflow-widget-loki.ipynb

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -60,10 +60,10 @@
6060
"pbox = wfw.parameter_box\n",
6161
"pbox.parameter_refresh_button.click()\n",
6262
"# Enable DirectBeam input\n",
63-
"pbox._input_widgets[DirectBeam].children[0].enabled = True\n",
64-
"pbox._input_widgets[DirectBeam].children[0].wrapped._option_box.value = None\n",
63+
"pbox._input_widgets[DirectBeam].children[0].value = True\n",
64+
"pbox._input_widgets[DirectBeam].children[1].children[1]._option_box.value = None\n",
6565
"# Adjust Q range\n",
66-
"pbox._input_widgets[QBins].children[0].fields[\"start\"].value = 0.01\n",
66+
"pbox._input_widgets[QBins].fields[\"start\"].value = 0.01\n",
6767
"# Run the workflow\n",
6868
"rbox = wfw.result_box\n",
6969
"rbox.run_button.click()"

pyproject.toml

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ requires-python = ">=3.10"
3232
dependencies = [
3333
"dask",
3434
"graphviz",
35-
"essreduce>=24.10.2, <24.11.0",
35+
"essreduce>=24.11.3",
3636
"numpy",
3737
"pandas",
3838
"plopp",

requirements/base.in

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
# The following was generated by 'tox -e deps', DO NOT EDIT MANUALLY!
55
dask
66
graphviz
7-
essreduce>=24.10.2, <24.11.0
7+
essreduce>=24.11.3
88
numpy
99
pandas
1010
plopp

requirements/base.txt

Lines changed: 8 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
# SHA1:01b4e247f3980e3f21b6b9ad70d3e5e49610d9c4
1+
# SHA1:71fbc763453db59fbe23acb0df92531c0434f7ef
22
#
33
# This file is autogenerated by pip-compile-multi
44
# To update, run:
@@ -23,13 +23,13 @@ dask==2025.1.0
2323
# via -r base.in
2424
decorator==5.1.1
2525
# via ipython
26-
essreduce==24.10.3
26+
essreduce==24.12.0
2727
# via -r base.in
2828
exceptiongroup==1.2.2
2929
# via ipython
30-
executing==2.1.0
30+
executing==2.2.0
3131
# via stack-data
32-
fonttools==4.55.3
32+
fonttools==4.55.5
3333
# via matplotlib
3434
fsspec==2024.12.0
3535
# via dask
@@ -130,7 +130,9 @@ scipp==25.1.0
130130
# scippneutron
131131
# scippnexus
132132
scippneutron==25.1.0
133-
# via -r base.in
133+
# via
134+
# -r base.in
135+
# essreduce
134136
scippnexus==24.11.1
135137
# via
136138
# -r base.in
@@ -160,7 +162,7 @@ traittypes==0.2.1
160162
# via ipydatawidgets
161163
typing-extensions==4.12.2
162164
# via ipython
163-
tzdata==2024.2
165+
tzdata==2025.1
164166
# via pandas
165167
wcwidth==0.2.13
166168
# via prompt-toolkit

requirements/ci.txt

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
#
66
# pip-compile-multi
77
#
8-
cachetools==5.5.0
8+
cachetools==5.5.1
99
# via tox
1010
certifi==2024.12.14
1111
# via requests
@@ -17,7 +17,7 @@ colorama==0.4.6
1717
# via tox
1818
distlib==0.3.9
1919
# via virtualenv
20-
filelock==3.16.1
20+
filelock==3.17.0
2121
# via
2222
# tox
2323
# virtualenv
@@ -38,7 +38,7 @@ platformdirs==4.3.6
3838
# virtualenv
3939
pluggy==1.5.0
4040
# via tox
41-
pyproject-api==1.8.0
41+
pyproject-api==1.9.0
4242
# via tox
4343
requests==2.32.3
4444
# via -r ci.in
@@ -48,7 +48,7 @@ tomli==2.2.1
4848
# via
4949
# pyproject-api
5050
# tox
51-
tox==4.23.2
51+
tox==4.24.1
5252
# via -r ci.in
5353
typing-extensions==4.12.2
5454
# via tox

requirements/dev.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -87,7 +87,7 @@ prometheus-client==0.21.1
8787
# via jupyter-server
8888
pycparser==2.22
8989
# via cffi
90-
pydantic==2.10.5
90+
pydantic==2.10.6
9191
# via copier
9292
pydantic-core==2.27.2
9393
# via pydantic

requirements/nightly.txt

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -26,9 +26,9 @@ decorator==5.1.1
2626
# via ipython
2727
essreduce @ git+https://github.com/scipp/essreduce@main
2828
# via -r nightly.in
29-
executing==2.1.0
29+
executing==2.2.0
3030
# via stack-data
31-
fonttools==4.55.3
31+
fonttools==4.55.5
3232
# via matplotlib
3333
fsspec==2024.12.0
3434
# via dask
@@ -140,7 +140,7 @@ traittypes==0.2.1
140140
# via ipydatawidgets
141141
typing-extensions==4.12.2
142142
# via ipython
143-
tzdata==2024.2
143+
tzdata==2025.1
144144
# via pandas
145145
wcwidth==0.2.13
146146
# via prompt-toolkit

requirements/static.txt

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ cfgv==3.4.0
99
# via pre-commit
1010
distlib==0.3.9
1111
# via virtualenv
12-
filelock==3.16.1
12+
filelock==3.17.0
1313
# via virtualenv
1414
identify==2.6.6
1515
# via pre-commit

src/ess/loki/workflow.py

Lines changed: 16 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -14,23 +14,31 @@
1414
from ess.sans.parameters import typical_outputs
1515

1616
from ..sans.types import (
17+
BackgroundRun,
18+
BeamCenter,
1719
DetectorBankSizes,
1820
DetectorData,
1921
DetectorPixelShape,
2022
DirectBeam,
2123
DirectBeamFilename,
24+
EmptyBeamRun,
25+
Filename,
2226
Incident,
2327
MonitorData,
2428
MonitorType,
2529
NeXusComponent,
30+
NeXusDetectorName,
2631
NeXusMonitorName,
2732
NonBackgroundWavelengthRange,
33+
PixelMaskFilename,
2834
PixelShapePath,
2935
RunType,
36+
SampleRun,
3037
ScatteringRunType,
3138
TofData,
3239
TofMonitor,
3340
Transmission,
41+
TransmissionRun,
3442
)
3543

3644
DETECTOR_BANK_SIZES = {
@@ -105,7 +113,7 @@ def LokiAtLarmorWorkflow() -> sciline.Pipeline:
105113
for key, param in default_parameters().items():
106114
workflow[key] = param
107115
workflow.insert(read_xml_detector_masking)
108-
workflow[sans.types.NeXusDetectorName] = 'larmor_detector'
116+
workflow[NeXusDetectorName] = 'larmor_detector'
109117
workflow.typical_outputs = typical_outputs
110118
return workflow
111119

@@ -115,25 +123,14 @@ def LokiAtLarmorTutorialWorkflow() -> sciline.Pipeline:
115123
from ess.loki import data
116124

117125
workflow = LokiAtLarmorWorkflow()
118-
# TODO This does not work with multiple
119-
workflow[sans.types.PixelMaskFilename] = data.loki_tutorial_mask_filenames()[0]
120126

121-
workflow[sans.types.Filename[sans.types.SampleRun]] = (
122-
data.loki_tutorial_sample_run_60339()
123-
)
124-
workflow[sans.types.Filename[sans.types.BackgroundRun]] = (
125-
data.loki_tutorial_background_run_60393()
126-
)
127-
workflow[sans.types.Filename[sans.types.TransmissionRun[sans.types.SampleRun]]] = (
127+
workflow[PixelMaskFilename] = data.loki_tutorial_mask_filenames()
128+
workflow[Filename[SampleRun]] = data.loki_tutorial_sample_run_60339()
129+
workflow[Filename[BackgroundRun]] = data.loki_tutorial_background_run_60393()
130+
workflow[Filename[TransmissionRun[SampleRun]]] = (
128131
data.loki_tutorial_sample_transmission_run()
129132
)
130-
workflow[
131-
sans.types.Filename[sans.types.TransmissionRun[sans.types.BackgroundRun]]
132-
] = data.loki_tutorial_run_60392()
133-
workflow[sans.types.Filename[sans.types.EmptyBeamRun]] = (
134-
data.loki_tutorial_run_60392()
135-
)
136-
workflow[sans.types.BeamCenter] = sc.vector(
137-
value=[-0.02914868, -0.01816138, 0.0], unit='m'
138-
)
133+
workflow[Filename[TransmissionRun[BackgroundRun]]] = data.loki_tutorial_run_60392()
134+
workflow[Filename[EmptyBeamRun]] = data.loki_tutorial_run_60392()
135+
workflow[BeamCenter] = sc.vector(value=[-0.02914868, -0.01816138, 0.0], unit='m')
139136
return workflow

src/ess/sans/parameters.py

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -54,6 +54,7 @@
5454
CorrectForGravity, default=False
5555
)
5656
parameter_registry[NeXusDetectorName] = StringParameter.from_type(NeXusDetectorName)
57+
5758
parameter_registry[NeXusMonitorName[Incident]] = StringParameter.from_type(
5859
NeXusMonitorName[Incident], default=''
5960
)
@@ -76,10 +77,10 @@
7677
parameter_registry[UncertaintyBroadcastMode] = ParamWithOptions.from_enum(
7778
UncertaintyBroadcastMode, default=UncertaintyBroadcastMode.upper_bound
7879
)
79-
parameter_registry[Filename[SampleRun]] = FilenameParameter.from_type(
80+
parameter_registry[Filename[SampleRun]] = MultiFilenameParameter.from_type(
8081
Filename[SampleRun]
8182
)
82-
parameter_registry[Filename[BackgroundRun]] = FilenameParameter.from_type(
83+
parameter_registry[Filename[BackgroundRun]] = MultiFilenameParameter.from_type(
8384
Filename[BackgroundRun]
8485
)
8586
parameter_registry[Filename[TransmissionRun[SampleRun]]] = FilenameParameter.from_type(
@@ -91,6 +92,7 @@
9192
parameter_registry[Filename[EmptyBeamRun]] = FilenameParameter.from_type(
9293
Filename[EmptyBeamRun]
9394
)
95+
9496
parameter_registry[WavelengthBins] = BinEdgesParameter(
9597
WavelengthBins, dim='wavelength', start=2, stop=12.0, nbins=300, log=False
9698
)

0 commit comments

Comments
 (0)