|
12 | 12 | from ..image import ImageCleaner, ImageModifier, ImageProcessor |
13 | 13 | from ..image.extractor import ImageExtractor |
14 | 14 | from ..image.muon import MuonProcessor |
| 15 | +from ..image.reducer import ReadoutWindowReducer |
15 | 16 | from ..instrument import SoftwareTrigger |
16 | 17 | from ..io import ( |
17 | 18 | DataLevel, |
@@ -75,6 +76,11 @@ class ProcessorTool(Tool): |
75 | 76 | default_value=False, |
76 | 77 | ).tag(config=True) |
77 | 78 |
|
| 79 | + reduce_readout_window = Bool( |
| 80 | + default_value=False, |
| 81 | + help="If True, use ReadoutWindowReducer on waveforms.", |
| 82 | + ).tag(config=True) |
| 83 | + |
78 | 84 | aliases = { |
79 | 85 | ("i", "input"): "EventSource.input_url", |
80 | 86 | ("o", "output"): "DataWriter.output_path", |
@@ -152,6 +158,7 @@ class ProcessorTool(Tool): |
152 | 158 | metadata.Instrument, |
153 | 159 | metadata.Contact, |
154 | 160 | SoftwareTrigger, |
| 161 | + ReadoutWindowReducer, |
155 | 162 | ] |
156 | 163 | + classes_with_traits(EventSource) |
157 | 164 | + classes_with_traits(ImageCleaner) |
@@ -179,6 +186,15 @@ def setup(self): |
179 | 186 | sys.exit(1) |
180 | 187 |
|
181 | 188 | subarray = self.event_source.subarray |
| 189 | + |
| 190 | + if self.reduce_readout_window: |
| 191 | + self.readout_window_reducer = ReadoutWindowReducer( |
| 192 | + subarray=subarray, parent=self |
| 193 | + ) |
| 194 | + subarray = self.readout_window_reducer.subarray |
| 195 | + else: |
| 196 | + self.readout_window_reducer = None |
| 197 | + |
182 | 198 | self.software_trigger = SoftwareTrigger(parent=self, subarray=subarray) |
183 | 199 | self.calibrate = CameraCalibrator(parent=self, subarray=subarray) |
184 | 200 | self.process_images = ImageProcessor(subarray=subarray, parent=self) |
@@ -300,6 +316,9 @@ def start(self): |
300 | 316 | ) |
301 | 317 | continue |
302 | 318 |
|
| 319 | + if self.readout_window_reducer is not None: |
| 320 | + self.readout_window_reducer(event) |
| 321 | + |
303 | 322 | if self.should_calibrate: |
304 | 323 | self.calibrate(event) |
305 | 324 |
|
|
0 commit comments