Added image shape check to stdDAQ device
This commit is contained in:
@@ -151,6 +151,7 @@ gfdaq:
|
|||||||
deviceConfig:
|
deviceConfig:
|
||||||
ws_url: 'ws://129.129.95.111:8080'
|
ws_url: 'ws://129.129.95.111:8080'
|
||||||
rest_url: 'http://129.129.95.111:5000'
|
rest_url: 'http://129.129.95.111:5000'
|
||||||
|
data_source_name: 'gfcam'
|
||||||
deviceTags:
|
deviceTags:
|
||||||
- std-daq
|
- std-daq
|
||||||
enabled: true
|
enabled: true
|
||||||
|
|||||||
@@ -159,6 +159,7 @@ class StdDaqClient(PSIDeviceBase):
|
|||||||
sim_mode=False,
|
sim_mode=False,
|
||||||
ws_url: str = "ws://localhost:8080",
|
ws_url: str = "ws://localhost:8080",
|
||||||
rest_url: str = "http://localhost:5000",
|
rest_url: str = "http://localhost:5000",
|
||||||
|
data_source_name = None,
|
||||||
**kwargs,
|
**kwargs,
|
||||||
) -> None:
|
) -> None:
|
||||||
super().__init__(prefix=prefix, name=name, kind=kind, read_attrs=read_attrs, configuration_attrs=configuration_attrs, parent=parent, device_manager=device_manager, **kwargs)
|
super().__init__(prefix=prefix, name=name, kind=kind, read_attrs=read_attrs, configuration_attrs=configuration_attrs, parent=parent, device_manager=device_manager, **kwargs)
|
||||||
@@ -167,6 +168,7 @@ class StdDaqClient(PSIDeviceBase):
|
|||||||
self.ws_url.set(ws_url, force=True).wait()
|
self.ws_url.set(ws_url, force=True).wait()
|
||||||
self.rest_url._metadata["write_access"] = False
|
self.rest_url._metadata["write_access"] = False
|
||||||
self.rest_url.set(rest_url, force=True).wait()
|
self.rest_url.set(rest_url, force=True).wait()
|
||||||
|
self.data_source_name = data_source_name
|
||||||
|
|
||||||
# Connect to the DAQ and initialize values
|
# Connect to the DAQ and initialize values
|
||||||
try:
|
try:
|
||||||
@@ -313,6 +315,19 @@ class StdDaqClient(PSIDeviceBase):
|
|||||||
if self.state() != 'idle':
|
if self.state() != 'idle':
|
||||||
raise RuntimeError(f"[{self.name}] stdDAQ can't stage from state: {self.state()}")
|
raise RuntimeError(f"[{self.name}] stdDAQ can't stage from state: {self.state()}")
|
||||||
|
|
||||||
|
# Must make sure that image size matches the data source
|
||||||
|
if self.data_source_name is not None:
|
||||||
|
cam_img_w = self.device_manager.devices[self.data_source_name].cfgRoiX.get()
|
||||||
|
cam_img_h = self.device_manager.devices[self.data_source_name].cfgRoiY.get()
|
||||||
|
daq_img_w = self.cfg_pixel_width.get()
|
||||||
|
daq_img_h = self.cfg_pixel_height.get()
|
||||||
|
|
||||||
|
if not (daq_img_w == cam_img_w and daq_img_h == cam_img_h):
|
||||||
|
raise RuntimeError(f"[{self.name}] stdDAQ image resolution ({daq_img_w} , {daq_img_h}) does not match camera with ({cam_img_w} , {cam_img_h})")
|
||||||
|
else:
|
||||||
|
logger.warning(f"[{self.name}] stdDAQ image resolution ({daq_img_w} , {daq_img_h}) matches camera with ({cam_img_w} , {cam_img_h})")
|
||||||
|
|
||||||
|
|
||||||
file_path = self.file_path.get()
|
file_path = self.file_path.get()
|
||||||
num_images = self.num_images.get()
|
num_images = self.num_images.get()
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user