-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathscanGUIHelperFactory.py
More file actions
21 lines (19 loc) · 1.15 KB
/
scanGUIHelperFactory.py
File metadata and controls
21 lines (19 loc) · 1.15 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
from ScanGUIHelper import ScanGUIHelper
from RasterScanGuiHelper import RasterScanGUIHelper
from LineScanGUIHelper import LineScanGUIHelper
from AimingScanGUIHelper import AimingScanGUIHelper
from GalvoTuningScanGUIHelper import GalvoTuningScanGUIHelper
from typing import Any, Dict
from ScanParams import RasterScanParams, AimingScanParams, LineScanParams, GalvoTuningScanParams
def scanGUIHelperFactory(name: str, number: int, params: RasterScanParams|AimingScanParams|LineScanParams|GalvoTuningScanParams, settings: Dict[str, Any], octui) -> ScanGUIHelper:
if isinstance(params, RasterScanParams):
g=RasterScanGUIHelper(name, number, params, settings, octui)
elif isinstance(params, AimingScanParams):
g=AimingScanGUIHelper(name, number, params, settings, octui)
elif isinstance(params, LineScanParams):
g=LineScanGUIHelper(name, number, params, settings, octui)
elif isinstance(params, GalvoTuningScanParams):
g=GalvoTuningScanGUIHelper(name, number, params, settings, octui)
else:
raise TypeError('Must pass one of these: RasterScanParams|AimingScanParams|LineScanParams|GalvoTuningScanGUIHelper')
return g