Skip to content

Commit eb428e3

Browse files
committed
adopting the general approach for multiple sweep values
1 parent 5030f0b commit eb428e3

File tree

2 files changed

+17
-25
lines changed

2 files changed

+17
-25
lines changed

httomo_backends/pipelines_full/sweep_paganin_FBP3d_tomobar_directive.yaml

Lines changed: 2 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -7,9 +7,6 @@
77
- method: paganin_filter_tomopy
88
module_path: httomolibgpu.prep.phase
99
sweep_parameter: alpha
10-
sweep_value1: 0.01
11-
sweep_value2: 0.001
12-
sweep_value3: 0.0001
10+
sweep_values: [0.01, 0.001, 0.0001]
1311
- method: FBP3d_tomobar
14-
module_path: httomolibgpu.recon.algorithm
15-
12+
module_path: httomolibgpu.recon.algorithm

httomo_backends/scripts/yaml_pipelines_generator.py

Lines changed: 15 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -33,21 +33,12 @@
3333

3434
CS = ruamel.yaml.comments.CommentedSeq # defaults to block style
3535

36-
3736
class SweepRange:
3837
"""SweepRange class."""
3938

4039
def __init__(self, start, stop, step):
4140
self._start, self._stop, self._step = start, stop, step
4241

43-
44-
class SweepValue:
45-
"""SweepValue class."""
46-
47-
def __init__(self, val1, val2, val3):
48-
self._val1, self._val2, self._val3 = val1, val2, val3
49-
50-
5142
def __sweeprange_representer(
5243
dumper: yaml.SafeDumper, swp: SweepRange
5344
) -> yaml.nodes.MappingNode:
@@ -61,12 +52,18 @@ def __sweeprange_representer(
6152
},
6253
)
6354

55+
class SweepManual:
56+
"""SweepManual class."""
6457

65-
def __sweepvalue_representer(
66-
dumper: yaml.SafeDumper, swp: SweepValue
67-
) -> yaml.nodes.MappingNode:
68-
"""Represent a sweepvalue as a YAML mapping node."""
69-
return dumper.represent_sequence("!Sweep", [swp._val1, swp._val2, swp._val3])
58+
def __init__(self, lst):
59+
self._lst = lst
60+
61+
62+
def __sweepmanual_representer(
63+
dumper: yaml.SafeDumper, swp: SweepManual
64+
) -> yaml.nodes.SequenceNode:
65+
"""Represent a sweepmanual as a YAML sequence node."""
66+
return dumper.represent_sequence("!Sweep", swp._lst)
7067

7168

7269
def __represent_none(self, data):
@@ -114,9 +111,7 @@ def yaml_pipelines_generator(
114111
sweep_step = method_content["sweep_step"]
115112
sweep_enabled_range = True
116113
else:
117-
sweep_val1 = method_content["sweep_value1"]
118-
sweep_val2 = method_content["sweep_value2"]
119-
sweep_val3 = method_content["sweep_value3"]
114+
sweep_values = method_content["sweep_values"]
120115
sweep_enabled_value = True
121116

122117
# get the corresponding yaml template from httomo-backends
@@ -319,10 +314,10 @@ def yaml_pipelines_generator(
319314
yaml.representer.add_representer(SweepRange, __sweeprange_representer)
320315
sweep_enabled_range = False
321316
if sweep_enabled_value:
322-
pipeline_full[i]["parameters"][sweep_parameter] = SweepValue(
323-
val1=sweep_val1, val2=sweep_val2, val3=sweep_val3
317+
pipeline_full[i]["parameters"][sweep_parameter] = SweepManual(
318+
list(sweep_values)
324319
)
325-
yaml.representer.add_representer(SweepValue, __sweepvalue_representer)
320+
yaml.representer.add_representer(SweepManual, __sweepmanual_representer)
326321
sweep_enabled_value = False
327322

328323
yaml.representer.add_representer(type(None), __represent_none)

0 commit comments

Comments
 (0)