def check_camviewer_config(PV):
hutch = str.lower(PV.split(':')[0])
if hutch not in ['mfx', 'cxi', 'xcs']:
print(" [!] Unsupported camera", PV + ".", "Exiting...", '\n')
sys.exit(1)
file = "/reg/g/pcds/pyps/config/" + hutch + "/camviewer.cfg"
with open(file, 'r') as viewer_config:
for line in viewer_config:
if PV not in line:
continue
else:
camconfig = (line.split(',')[1].split(';')[0].split(':')[3])
if camconfig == 'IMAGE2':
ArraySizeX_data = caget(PV + ':IMAGE1:ArraySize0_RBV')
ArraySizeY_data = caget(PV + ':IMAGE1:ArraySize1_RBV')
ArraySizeX_viewer = caget(PV + ':IMAGE2:ArraySize0_RBV')
ArraySizeY_viewer = caget(PV + ':IMAGE2:ArraySize1_RBV')
if ArraySizeX_data != ArraySizeX_viewer or \
ArraySizeY_data != ArraySizeY_viewer:
print('\n',
"[!] camViewer for",
PV, "is configured as", camconfig, '\n',
"[!] but data and viewer streams have different resolution",
'\n',
"[!] - data stream width is:", ArraySizeX_data, '\n',
"[!] - viewer stream width is:", ArraySizeX_viewer, '\n',
"[!] - data stream height is:", ArraySizeY_data, '\n',
"[!] - viewer stream height is:", ArraySizeY_viewer, '\n',
"[!] ROI defined with markers in camViewer won't make sense.", '\n',
"[!] Exiting...", '\n')
sys.exit(1)