This commit is contained in:
root
2024-03-21 15:34:45 +01:00
parent d5c19462cb
commit e7cfa85dbc
100 changed files with 1268 additions and 470 deletions

View File

@@ -13,7 +13,7 @@
},
"mirror_x": true,
"mirror_y": false,
"rotate": 0,
"rotate": -90,
"source_type": "bsread",
"name": "SARES11-SPEC125-M2",
"prefix": "SARES11-SPEC125-M2",

View File

@@ -20,9 +20,7 @@
"prefix": "SARES20-CAMS142-C1",
"name": "SARES20-CAMS142-C1",
"source": "SARES20-CAMS142-C1",
"alias": [
"SAMPLECAM_TOPVIEW (SARES20-CAMS142-C1)"
],
"alias": [],
"group": [
"Photonics",
"Bernina"

View File

@@ -24,7 +24,5 @@
"Photonics",
"Bernina"
],
"alias": [
"SAMPLECAM_INLINE (SARES20-CAMS142-C2)"
]
"alias": []
}

View File

@@ -25,7 +25,5 @@
"Photonics",
"Bernina"
],
"alias": [
"SAMPLECAM_SIDEVIEW (SARES20-CAMS142-M1)"
]
"alias": []
}

View File

@@ -1,19 +1,19 @@
{
"camera_calibration": {
"reference_marker": [
1061,
774,
1161,
874
1123,
1490,
1226,
1591
],
"reference_marker_width": 1000.0,
"reference_marker_height": 1000.0,
"reference_marker_width": 788.0,
"reference_marker_height": 685.0,
"angle_horizontal": 0.0,
"angle_vertical": 0.0
},
"mirror_x": true,
"mirror_y": false,
"rotate": 0,
"rotate": 3,
"roi": null,
"image_background": null,
"source_type": "epics",
@@ -24,5 +24,7 @@
"Photonics",
"Bernina"
],
"alias": []
"alias": [
"SAMPLECAM_SIDEVIEW (SARES20-CAMS142-M2)"
]
}

View File

@@ -1,18 +1,18 @@
{
"camera_calibration": {
"reference_marker": [
908,
925,
1009,
1026
652,
546,
656,
570
],
"reference_marker_width": 175.83,
"reference_marker_height": 175.83,
"reference_marker_width": 7.604,
"reference_marker_height": 43.592,
"angle_horizontal": 0.0,
"angle_vertical": 0.0
},
"mirror_x": false,
"mirror_y": true,
"mirror_y": false,
"rotate": 0,
"roi": null,
"image_background": null,
@@ -25,6 +25,6 @@
"Bernina"
],
"alias": [
"CAMERA_BSSS (SARES20-CAMS142-M3)"
"SAMPLECAM_INLINE (SARES20-CAMS142-M3) (SARES20-CAMS142-M3)"
]
}

View File

@@ -1,13 +1,13 @@
{
"camera_calibration": {
"reference_marker": [
501,
463,
503,
465
403,
348,
626,
560
],
"reference_marker_width": 9.459854014598541,
"reference_marker_height": 9.43646408839779,
"reference_marker_width": 1000.0,
"reference_marker_height": 1000.0,
"angle_horizontal": 0.0,
"angle_vertical": 0.0
},

View File

@@ -33,6 +33,7 @@
],
"alias": [],
"protocol": "tcp",
"_forwarder_port": 8890,
"forwarder_port": 9090
"forwarder_port": 8890,
"_forwarder_port": 9090,
"no_client_timeout": 0
}

View File

@@ -1,10 +1,10 @@
{
"camera_calibration": {
"reference_marker": [
312,
270,
351,
310
322,
273,
358,
314
],
"reference_marker_width": 500.0,
"reference_marker_height": 500.0,

View File

@@ -16,7 +16,7 @@
"rotate": 0,
"roi": null,
"image_background": null,
"source_type": "epics",
"source_type": "bsread",
"name": "SAROP31-PPRM113",
"source": "SAROP31-PPRM113",
"forwarder_port": 9000,

View File

@@ -17,7 +17,7 @@
"roi": null,
"image_background": null,
"forwarder_port": 9002,
"source_type": "epics",
"source_type": "bsread",
"name": "SAROP31-PPRM150",
"source": "SAROP31-PPRM150",
"group": [

View File

@@ -1,10 +1,10 @@
{
"camera_calibration": {
"reference_marker": [
563,
420,
730,
588
523,
260,
690,
428
],
"reference_marker_width": 1400.0,
"reference_marker_height": 1400.0,

View File

@@ -1,16 +1,5 @@
{
"camera_calibration": {
"reference_marker": [
311,
202,
344,
258
],
"reference_marker_width": 5000.0,
"reference_marker_height": 5000.0,
"angle_horizontal": 0.0,
"angle_vertical": 0.0
},
"camera_calibration": null,
"mirror_x": false,
"mirror_y": false,
"rotate": 0,

View File

@@ -1,16 +1,5 @@
{
"camera_calibration": {
"reference_marker": [
477,
157,
547,
375
],
"reference_marker_width": 5000.0,
"reference_marker_height": 7000.0,
"angle_horizontal": 0.0,
"angle_vertical": 0.0
},
"camera_calibration": null,
"mirror_x": true,
"mirror_y": false,
"rotate": 0,

View File

@@ -21,5 +21,6 @@
"name": "SATOP11-PSAS079",
"group": [
"Photonics"
]
],
"forwarder_port": 9020
}

View File

@@ -22,7 +22,7 @@
"name": "SATOP31-PMOS132-2D",
"connections": 2,
"buffer_size": 0,
"_forwarder_port": 9002,
"forwarder_port": 9002,
"group": [
"Photonics"
],

View File

@@ -1,10 +1,10 @@
{
"camera_calibration": {
"reference_marker": [
432,
156,
1042,
744
446,
130,
1056,
718
],
"reference_marker_width": 19000.0,
"reference_marker_height": 18000.0,

View File

@@ -1,10 +1,10 @@
{
"camera_calibration": {
"reference_marker": [
623,
173,
916,
775
589,
97,
892,
699
],
"reference_marker_width": 9500.0,
"reference_marker_height": 19000.0,

View File

@@ -3,11 +3,11 @@
"reference_marker": [
0,
0,
0,
0
1,
1
],
"reference_marker_width": 30000.0,
"reference_marker_height": 30000.0,
"reference_marker_width": 1.0,
"reference_marker_height": 1.0,
"angle_horizontal": 0.0,
"angle_vertical": 0.0
},

View File

@@ -1,13 +1,13 @@
{
"camera_calibration": {
"reference_marker": [
52,
43,
61,
51
0,
0,
1,
1
],
"reference_marker_width": 30000.0,
"reference_marker_height": 30000.0,
"reference_marker_width": 1.0,
"reference_marker_height": 1.0,
"angle_horizontal": 0.0,
"angle_vertical": 0.0
},

View File

@@ -3,6 +3,8 @@
"mirror_x": false,
"mirror_y": true,
"rotate": 0,
"roi": null,
"image_background": null,
"source_type": "bsread",
"name": "SLAAR21-LCAM-CS844",
"protocol": "tcp",

View File

@@ -28,6 +28,9 @@
],
"reference_marker_width": 101.0
},
"group": ["Laser"],
"source_type": "bsread",
"group": [
"Laser"
],
"alias": []
}
}

View File

@@ -1,21 +1,24 @@
{
"name": "SLG-LCAM-C061",
"camera_calibration": {
"angle_horizontal": 0.0,
"angle_vertical": 0.0,
"reference_marker_height": 100.0,
"reference_marker": [
0,
0,
100,
100
],
"reference_marker_width": 100.0
},
"source": "SLG-LCAM-C061",
"mirror_y": false,
"rotate": 0,
"mirror_x": false,
"group": ["Laser"],
"alias": []
}
"name": "SLG-LCAM-C061",
"camera_calibration": {
"angle_horizontal": 0.0,
"angle_vertical": 0.0,
"reference_marker_height": 100.0,
"reference_marker": [
0,
0,
100,
100
],
"reference_marker_width": 100.0
},
"source": "SLG-LCAM-C061",
"mirror_y": false,
"rotate": 0,
"mirror_x": false,
"source_type": "bsread",
"group": [
"Laser"
],
"alias": []
}

View File

@@ -1,21 +1,24 @@
{
"name": "SLG-LCAM-C063",
"camera_calibration": {
"angle_horizontal": 0.0,
"angle_vertical": 0.0,
"reference_marker_height": 100.0,
"reference_marker": [
0,
0,
100,
100
],
"reference_marker_width": 100.0
},
"source": "SLG-LCAM-C063",
"mirror_y": false,
"rotate": 0,
"mirror_x": false,
"group": ["Laser"],
"alias": []
}
"name": "SLG-LCAM-C063",
"camera_calibration": {
"angle_horizontal": 0.0,
"angle_vertical": 0.0,
"reference_marker_height": 100.0,
"reference_marker": [
0,
0,
100,
100
],
"reference_marker_width": 100.0
},
"source": "SLG-LCAM-C063",
"mirror_y": false,
"rotate": 0,
"mirror_x": false,
"source_type": "bsread",
"group": [
"Laser"
],
"alias": []
}

View File

@@ -0,0 +1,25 @@
{
"camera_calibration": {
"reference_marker": [
0,
0,
100,
100
],
"reference_marker_width": 100.0,
"reference_marker_height": 100.0,
"angle_horizontal": 0.0,
"angle_vertical": 0.0
},
"mirror_x": false,
"mirror_y": false,
"rotate": 0,
"prefix": "SLG-LCAM-C072",
"name": "SLG-LCAM-C072",
"source": "SLG-LCAM-C072",
"source_type": "bsread",
"group": [
"Laser"
],
"alias": []
}

View File

@@ -1,21 +1,24 @@
{
"name": "SLG-LCAM-C081",
"camera_calibration": {
"angle_horizontal": 0.0,
"angle_vertical": 0.0,
"reference_marker_height": 100.0,
"reference_marker": [
0,
0,
100,
100
],
"reference_marker_width": 100.0
},
"source": "SLG-LCAM-C081",
"mirror_y": false,
"rotate": 0,
"mirror_x": false,
"group": ["Laser"],
"alias": []
}
"name": "SLG-LCAM-C081",
"camera_calibration": {
"angle_horizontal": 0.0,
"angle_vertical": 0.0,
"reference_marker_height": 100.0,
"reference_marker": [
0,
0,
100,
100
],
"reference_marker_width": 100.0
},
"source": "SLG-LCAM-C081",
"mirror_y": false,
"rotate": 0,
"mirror_x": false,
"source_type": "bsread",
"group": [
"Laser"
],
"alias": []
}

View File

@@ -14,10 +14,12 @@
"mirror_x": false,
"mirror_y": false,
"rotate": 0,
"source_type": "epics",
"source_type": "bsread",
"source": "SLG-LCAM-C082",
"prefix": "SLG-LCAM-C082",
"name": "SLG-LCAM-C082",
"group": ["Laser"],
"group": [
"Laser"
],
"alias": []
}
}

View File

@@ -1,21 +1,24 @@
{
"name": "SLG-LCAM-C091",
"camera_calibration": {
"angle_horizontal": 0.0,
"angle_vertical": 0.0,
"reference_marker_height": 100.0,
"reference_marker": [
0,
0,
100,
100
],
"reference_marker_width": 100.0
},
"source": "SLG-LCAM-C091",
"mirror_y": false,
"rotate": 0,
"mirror_x": false,
"group": ["Laser"],
"alias": []
}
"name": "SLG-LCAM-C091",
"camera_calibration": {
"angle_horizontal": 0.0,
"angle_vertical": 0.0,
"reference_marker_height": 100.0,
"reference_marker": [
0,
0,
100,
100
],
"reference_marker_width": 100.0
},
"source": "SLG-LCAM-C091",
"mirror_y": false,
"rotate": 0,
"mirror_x": false,
"source_type": "bsread",
"group": [
"Laser"
],
"alias": []
}

View File

@@ -0,0 +1,27 @@
{
"camera_calibration": {
"reference_marker": [
0,
0,
1984,
1264
],
"reference_marker_width": 9523.2,
"reference_marker_height": 6067.2,
"angle_horizontal": 0.0,
"angle_vertical": 0.0
},
"mirror_x": false,
"mirror_y": false,
"rotate": 0,
"roi": null,
"image_background": null,
"source_type": "bsread",
"source": "SSL-LCAM-C0103",
"name": "SSL-LCAM-C0103",
"group": [
"Laser",
"SSL1"
],
"alias": []
}

View File

@@ -0,0 +1,27 @@
{
"camera_calibration": {
"reference_marker": [
0,
0,
1984,
1264
],
"reference_marker_width": 9523.2,
"reference_marker_height": 6067.2,
"angle_horizontal": 0.0,
"angle_vertical": 0.0
},
"mirror_x": true,
"mirror_y": false,
"rotate": 0,
"roi": null,
"image_background": null,
"source_type": "bsread",
"source": "SSL-LCAM-C0104",
"name": "SSL-LCAM-C0104",
"group": [
"Laser",
"SSL1"
],
"alias": []
}

View File

@@ -0,0 +1,10 @@
{
"name": "furka_jungfrau",
"source": "tcp://0.0.0.0:20000",
"_mode": "SUB",
"source_type": "array10",
"group": [
"Furka"
],
"alias": []
}

View File

@@ -1,7 +1,6 @@
{
"#S10BC02-DSRM310": "S10BC02-DSRM310",
"#SAROP21-PPRM133": "SAROP21-PPRM133",
"#SAROP31-PPRM113": "SAROP31-PPRM113",
"#SINBC02-DSRM310": "SINBC02-DSRM310",
"S10BD01-DSCR030": "S10BD01-DSCR030",
"SARCL01-DSCR170": "SARCL01-DSCR170",
@@ -10,6 +9,7 @@
"SARES11-SPEC125-M3": "SARES11-SPEC125-M3",
"SARES20-CAMS142-M1": "SARES20-CAMS142-M1",
"SARES20-CAMS142-M2": "SARES20-CAMS142-M2",
"SARES20-CAMS142-M3": "SARES20-CAMS142-M3",
"SARES20-CAMS142-M4": "SARES20-CAMS142-M4",
"SARES20-CAMS142-M5": "SARES20-CAMS142-M5",
"SARES20-DSDPPRM": "SARES20-DSDPPRM",
@@ -20,7 +20,9 @@
"SARFE10-PSSS059": "SARFE10-PSSS059",
"SARFE10-PSSS059-LB": "SARFE10-PSSS059-LB",
"SAROP11-PPRM122": "SAROP11-PPRM122",
"SAROP31-PPRM113": "SAROP31-PPRM113",
"SAROP31-PPRM150": "SAROP31-PPRM150",
"SAROP31-PSCD153": "SAROP31-PSCD153",
"SATBD02-DSCR050": "SATBD02-DSCR050",
"SATES21-CAMS-PATT1": "SATES21-CAMS-PATT1",
"SATES21-CAMS154-GIGE6": "SATES21-CAMS154-GIGE6",

View File

@@ -10,10 +10,7 @@
"http://sf-daqsync-01.psi.ch:8880": {
"enabled": true,
"expanding": true,
"instances": [
"SARBD02-DSCR050",
"#SATBD01-DSCR120"
]
"instances": []
},
"http://sf-daqsync-03.psi.ch:8880": {
"enabled": true,
@@ -42,6 +39,7 @@
"SINDI02-DSCR075",
"SINBC02-DSRM310",
"SATBD01-DSCR120",
"SARBD01-DSCR110",
"S10BD01-DSCR030",
"SATBD02-DSCR050",
"SARCL01-DSCR170"
@@ -71,7 +69,9 @@
"SATES21-CAMS154-GIGE6",
"SATES21-CAMS154-GIGE7",
"SATES21-CAMS154-GIGE7b",
"SATES21-CAMS154-GIGE8"
"SATES21-CAMS154-GIGE8",
"SSL-LCAM-C0103",
"SSL-LCAM-C0104"
]
},
"http://sf-daqsync-13.psi.ch:8880": {
@@ -83,6 +83,7 @@
"SARES11-SPEC125-M3",
"SARES11-XMI125-C4P1",
"SARES11-XPR125-C4P2",
"SARES11-XPR125-C4P3",
"SARES12-XPR128-C4F1",
"#SLAAR11-LCAM-C452",
"#SLAAR11-LCAM-C421",
@@ -96,6 +97,7 @@
"instances": [
"SARES20-CAMS142-M1",
"SARES20-CAMS142-M2",
"SARES20-CAMS142-M3",
"SARES20-CAMS142-M4",
"SARES20-CAMS142-M5",
"SARES20-PROF141-M1",
@@ -119,7 +121,9 @@
"SATES30-CAMS182-GIGE2",
"SATES30-CAMS182-GIGE3",
"SATES30-CAMS182-GIGE4",
"SATES30-RIXS-CAM01"
"SATES30-RIXS-CAM01",
"furka_jungfrau",
"SATOP11-PSAS079"
]
},
"http://sf-daqsync-16.psi.ch:8880": {
@@ -129,7 +133,8 @@
"SAROP31-PPRM113",
"SAROP31-PPRM150",
"SARES30-CAMS156-XE",
"SARES30-CAMS156-SMX-OAV"
"SARES30-CAMS156-SMX-OAV",
"SAROP31-PSCD153"
]
},
"http://sf-daqsync-17.psi.ch:8880": {

View File

@@ -1,6 +1,6 @@
{
"image_background_enable": "passive",
"image_background": "SARES11-SPEC125-M1_20240130_101226_381784",
"image_background": "SARES11-SPEC125-M1_20240316_160434_361645",
"image_threshold": null,
"image_region_of_interest": null,
"image_good_region": null,
@@ -15,7 +15,7 @@
0,
2048,
75,
400
425
],
"roi_signal2": [
0,

View File

@@ -13,15 +13,15 @@
"allow_type_changes": false,
"roi_signal": [
900,
1800,
450,
600
1100,
1300,
2000
],
"roi_background": [
0,
2048,
200,
0,
200
2048
],
"no_client_timeout": 0,
"pixel_bkg": 0,

View File

@@ -1,41 +0,0 @@
{
"image_background_enable": "passive",
"image_background": "SARES11-SPEC125-M2_20230712_153515_863865",
"image_threshold": null,
"image_region_of_interest": null,
"image_good_region": null,
"image_slices": null,
"pipeline_type": "processing",
"function": "SARES11-SPEC125-M2_pp.py",
"camera_name": "SARES11-SPEC125-M2",
"name": "SARES11-SPEC125-M2_pp_db",
"mode": "PUSH",
"allow_type_changes": false,
"roi_background": [
0,
2048,
50,
50
],
"roi_signal": [
0,
2048,
100,
300
],
"no_client_timeout": 0,
"pixel_bkg": 0,
"port": "9011",
"multiprocessing": false,
"_buffer_size": 5,
"processing_threads": 3,
"thread_buffer_size": 20,
"send_buffer_size": 50,
"block": false,
"debug": true,
"bsread_image_buf": 1000,
"bsread_data_buf": 1000,
"abort_on_timeout": true,
"receive_timeout": 10000,
"reload": true
}

View File

@@ -1,29 +0,0 @@
{
"image_background_enable": false,
"image_background": null,
"image_threshold": null,
"image_region_of_interest": null,
"image_good_region": null,
"image_slices": null,
"pipeline_type": "processing",
"function": "SARES11-SPEC125-M2_pp.py",
"camera_name": "SARES11-SPEC125-M2",
"name": "SARES11-SPEC125-M2_psen_db",
"mode": "PUSH",
"allow_type_changes": false,
"roi_background": [
0,
2048,
50,
100
],
"roi_signal": [
0,
2047,
100,
300
],
"no_client_timeout": 0,
"pixel_bkg": 0,
"port": "9011"
}

View File

@@ -1,6 +1,6 @@
{
"image_background_enable": "passive",
"image_background": "SARES11-SPEC125-M3_20231206_163057_171952",
"image_background_enable": "true",
"image_background": "SARES11-SPEC125-M3_20240301_111425_179468",
"image_threshold": null,
"image_region_of_interest": null,
"image_good_region": null,
@@ -20,12 +20,12 @@
"roi_signal": [
0,
2048,
350,
650
210,
540
],
"no_client_timeout": 0,
"pixel_bkg": 0,
"port": "9011",
"port": "9013",
"multiprocessing": false,
"_buffer_size": 5,
"processing_threads": 3,

View File

@@ -13,10 +13,10 @@
"mode": "PUB",
"allow_type_changes": false,
"roi_signal": [
300,
0,
2040,
50,
150
100,
700
],
"roi_background": [
300,
@@ -25,5 +25,5 @@
100
],
"no_client_timeout": 0,
"port": "9011"
"port": "8011"
}

View File

@@ -8,10 +8,9 @@
"pipeline_type": "processing",
"camera_name": "SARES20-PROF141-M1",
"name": "SARES20-PROF141-M1_proc",
"function": "pprm.py",
"processing_threads": 3,
"thread_buffer_size": 20,
"send_buffer_size": 50,
"function": "pprm_simple.py",
"mode": "PUSH",
"_processing_threads": 4,
"_debug": true,
"allow_type_changes": false
}

View File

@@ -26,10 +26,10 @@
"down": "SARES21-PBPS141:Lnk9Ch0-PP_VAL_PD2",
"right": "SARES21-PBPS141:Lnk9Ch0-PP_VAL_PD3",
"left": "SARES21-PBPS141:Lnk9Ch0-PP_VAL_PD0",
"up_calib": 1.3175436096394441e-05,
"down_calib": 1.5036546627308606e-05,
"left_calib": 3.1887584275696484e-05,
"right_calib": 3.722003831579624e-05,
"up_calib": 2.5407263184489456e-05,
"down_calib": 2.229091390250418e-05,
"left_calib": 6.78613890412e-05,
"right_calib": 4.031360761636926e-05,
"horiz_calib": -3.9446335571333027,
"vert_calib": -7.009396901398793,
"uJ_calib": 941.943984588351,
@@ -94,5 +94,5 @@
0.11052246554408188,
0.11072063526778356
],
"calib_datetime": "2023-12-05 07:36:57"
"calib_datetime": "2024-03-20 10:01:58"
}

View File

@@ -26,5 +26,8 @@
"thread_buffer_size": 20,
"send_buffer_size": 50,
"block": false,
"debug": true
"debug": true,
"enforce_pid": true,
"enforce_timestamp": true,
"check_timestamp": true
}

View File

@@ -5,8 +5,7 @@
"image_region_of_interest": null,
"image_good_region": null,
"image_slices": null,
"pipeline_type": "store",
"camera_name": "SARES11-SPEC125-M2",
"name": "SARES11-SPEC125-M2_psen_ib",
"stream_port": 0
}
"pipeline_type": "processing",
"camera_name": "SARES30-CAMS156",
"name": "SARES30-CAMS156_sp"
}

View File

@@ -1,6 +1,6 @@
{
"image_background_enable": true,
"image_background": "SARFE10-PSSS059_20230823_135245_228963",
"image_background": "SARFE10-PSSS059_20240311_140723_555248",
"image_threshold": null,
"image_region_of_interest": null,
"image_good_region": null,

View File

@@ -9,7 +9,7 @@
"intensity": "SARFE10-PBPG050:FAST-PULSE-ENERGY",
"FWHM": "SARFE10-PSSS059:FIT-FWHM",
"out_PV": "SARFE10-PSSS059:FIT-BRT",
"mode": "PUB",
"mode": "PUSH",
"allow_type_changes": false,
"abort_on_timeout": true,
"abort_on_error": true,
@@ -19,7 +19,7 @@
"enforce_timestamp": true,
"check_timestamp": true,
"stream_timeout": 20,
"function": "spectral_brightness_test.py",
"function": "spectral_brightness.py",
"reload": true,
"no_client_timeout": 0,
"port": "9005"

View File

@@ -0,0 +1,11 @@
{
"image_background_enable": false,
"image_background": null,
"image_threshold": null,
"image_region_of_interest": null,
"image_good_region": null,
"image_slices": null,
"pipeline_type": "processing",
"camera_name": "SARFOP31-PPRM113",
"name": "SARFOP31-PPRM113_sp"
}

View File

@@ -26,12 +26,12 @@
"down": "SAROP11-CVME-PBPS2:Lnk9Ch11-DATA-SUM",
"right": "SAROP11-CVME-PBPS2:Lnk9Ch14-DATA-SUM",
"left": "SAROP11-CVME-PBPS2:Lnk9Ch15-DATA-SUM",
"up_calib": 0.911828773893007,
"down_calib": 1.0875477835228293,
"left_calib": 0.9557541802547133,
"right_calib": 1.023654851874409,
"horiz_calib": -4.633887216795798,
"vert_calib": 5.3294283727255705,
"up_calib": 0.8574867024668043,
"down_calib": 0.9974498310838109,
"left_calib": 0.5791694752773828,
"right_calib": 0.62647381481912,
"horiz_calib": -8.931334985795655,
"vert_calib": 4.958717648454337,
"uJ_calib": 605.4608924473305,
"threshold": 0,
"queue_length": 5000,
@@ -69,9 +69,9 @@
0.3
],
"calib_x_norm": [
0.06434354472247358,
0.0007553750703822087,
-0.06513737959205539
0.03490877639586871,
0.0006984807915246429,
-0.03227043040291743
],
"calib_y_range": [
-0.3,
@@ -79,19 +79,19 @@
0.3
],
"calib_y_norm": [
-0.05383005707722167,
0.0011933783885959858,
0.058752373539656774
-0.06369707174289907,
-0.00017609105205766817,
0.057301953113259786
],
"calib_datetime": "2024-01-31 10:06:41",
"calib_datetime": "2024-03-12 09:03:37",
"calib_x_norm_std": [
0.09781978276098474,
0.10949423250842817,
0.08584591311926743
0.03675990521374381,
0.030460397988326768,
0.0317401414261032
],
"calib_y_norm_std": [
0.07300807348677127,
0.14544169687653924,
0.11644860775951334
0.0674277517134674,
0.06863030226873862,
0.06684686066849438
]
}

View File

@@ -27,12 +27,12 @@
"down": "SAROP11-PBPS122:Lnk9Ch0-PP_VAL_PD2",
"right": "SAROP11-PBPS122:Lnk9Ch0-PP_VAL_PD3",
"left": "SAROP11-PBPS122:Lnk9Ch0-PP_VAL_PD0",
"up_calib": 9.645489672574209e-06,
"down_calib": 1.2582008271714206e-05,
"left_calib": 6.921684791236726e-06,
"right_calib": 6.863877395554986e-06,
"horiz_calib": -4.279019192875421,
"vert_calib": -4.332948289712399,
"up_calib": 1.7066957360186802e-05,
"down_calib": 2.1124028125713994e-05,
"left_calib": 7.117113931727747e-06,
"right_calib": 6.8356120073813676e-06,
"horiz_calib": -5.4058736146902815,
"vert_calib": -7.901508167424239,
"uJ_calib": 605.9512700123181,
"threshold": 0,
"queue_length": 1000,
@@ -70,14 +70,14 @@
0.3
],
"calib_x_norm": [
0.07021082090199846,
0.0005210247215771878,
-0.07000822765917689
0.054915842404982776,
5.1061117952404115e-05,
-0.05607454375009121
],
"calib_x_norm_std": [
0.026085454412408775,
0.02892082203672501,
0.02649234690711122
0.07077072586478916,
0.07067909543205898,
0.07075255742888523
],
"calib_y_range": [
-0.3,
@@ -85,14 +85,14 @@
0.3
],
"calib_y_norm": [
0.06975188386083704,
0.0008026225966396075,
-0.06872195886296457
0.03781833802878161,
-4.120068311556111e-05,
-0.038116532541071904
],
"calib_y_norm_std": [
0.031944251463484,
0.03089150841401929,
0.030150230385363422
0.10544108420653482,
0.06415127814597306,
0.06929011114763489
],
"calib_datetime": "2024-01-30 10:28:41"
"calib_datetime": "2024-03-12 11:16:25"
}

View File

@@ -0,0 +1,98 @@
{
"pipeline_type": "stream",
"name": "SAROP11-PBPS122_proc_copy",
"bsread_address": "",
"bsread_channels": [
"SAROP11-PBPS122:Lnk9Ch0-PP_VAL_PD0",
"SAROP11-PBPS122:Lnk9Ch0-PP_VAL_PD1",
"SAROP11-PBPS122:Lnk9Ch0-PP_VAL_PD2",
"SAROP11-PBPS122:Lnk9Ch0-PP_VAL_PD3"
],
"mode": "PUSH",
"allow_type_changes": false,
"processing_threads": 0,
"abort_on_timeout": true,
"abort_on_error": true,
"debug": true,
"block": false,
"enforce_pid": true,
"enforce_timestamp": true,
"check_timestamp": true,
"stream_timeout": 20,
"function": "pbps_full.py",
"reload": true,
"no_client_timeout": 0,
"port": "9010",
"up": "SAROP11-PBPS122:Lnk9Ch0-PP_VAL_PD1",
"down": "SAROP11-PBPS122:Lnk9Ch0-PP_VAL_PD2",
"right": "SAROP11-PBPS122:Lnk9Ch0-PP_VAL_PD3",
"left": "SAROP11-PBPS122:Lnk9Ch0-PP_VAL_PD0",
"up_calib": 9.645489672574209e-06,
"down_calib": 1.2582008271714206e-05,
"left_calib": 6.921684791236726e-06,
"right_calib": 6.863877395554986e-06,
"horiz_calib": -4.279019192875421,
"vert_calib": -4.332948289712399,
"uJ_calib": 605.9512700123181,
"threshold": 0,
"queue_length": 1000,
"xpos_all_x_pvname": "SAROP11-PBPS122:XPOS-ALL-HIST-X",
"xpos_all_y_pvname": "SAROP11-PBPS122:XPOS-ALL-HIST-Y",
"xpos_all_m_pvname": "SAROP11-PBPS122:XPOS-ALL-HIST-M",
"xpos_all_w_pvname": "SAROP11-PBPS122:XPOS-ALL-HIST-W",
"ypos_all_x_pvname": "SAROP11-PBPS122:YPOS-ALL-HIST-X",
"ypos_all_y_pvname": "SAROP11-PBPS122:YPOS-ALL-HIST-Y",
"ypos_all_m_pvname": "SAROP11-PBPS122:YPOS-ALL-HIST-M",
"ypos_all_w_pvname": "SAROP11-PBPS122:YPOS-ALL-HIST-W",
"xpos_evn_x_pvname": "SAROP11-PBPS122:XPOS-EVN-HIST-X",
"xpos_evn_y_pvname": "SAROP11-PBPS122:XPOS-EVN-HIST-Y",
"xpos_evn_m_pvname": "SAROP11-PBPS122:XPOS-EVN-HIST-M",
"xpos_evn_w_pvname": "SAROP11-PBPS122:XPOS-EVN-HIST-W",
"ypos_evn_x_pvname": "SAROP11-PBPS122:YPOS-EVN-HIST-X",
"ypos_evn_y_pvname": "SAROP11-PBPS122:YPOS-EVN-HIST-Y",
"ypos_evn_m_pvname": "SAROP11-PBPS122:YPOS-EVN-HIST-M",
"ypos_evn_w_pvname": "SAROP11-PBPS122:YPOS-EVN-HIST-W",
"xpos_odd_x_pvname": "SAROP11-PBPS122:XPOS-ODD-HIST-X",
"xpos_odd_y_pvname": "SAROP11-PBPS122:XPOS-ODD-HIST-Y",
"xpos_odd_m_pvname": "SAROP11-PBPS122:XPOS-ODD-HIST-M",
"xpos_odd_w_pvname": "SAROP11-PBPS122:XPOS-ODD-HIST-W",
"ypos_odd_x_pvname": "SAROP11-PBPS122:YPOS-ODD-HIST-X",
"ypos_odd_y_pvname": "SAROP11-PBPS122:YPOS-ODD-HIST-Y",
"ypos_odd_m_pvname": "SAROP11-PBPS122:YPOS-ODD-HIST-M",
"ypos_odd_w_pvname": "SAROP11-PBPS122:YPOS-ODD-HIST-W",
"xpos_dif_m_pvname": "SAROP11-PBPS122:XPOS-DIF-HIST-M",
"xpos_dif_w_pvname": "SAROP11-PBPS122:XPOS-DIF-HIST-W",
"ypos_dif_m_pvname": "SAROP11-PBPS122:YPOS-DIF-HIST-M",
"ypos_dif_w_pvname": "SAROP11-PBPS122:YPOS-DIF-HIST-W",
"calib_x_range": [
-0.3,
0.0,
0.3
],
"calib_x_norm": [
0.07021082090199846,
0.0005210247215771878,
-0.07000822765917689
],
"calib_x_norm_std": [
0.026085454412408775,
0.02892082203672501,
0.02649234690711122
],
"calib_y_range": [
-0.3,
0.0,
0.3
],
"calib_y_norm": [
0.06975188386083704,
0.0008026225966396075,
-0.06872195886296457
],
"calib_y_norm_std": [
0.031944251463484,
0.03089150841401929,
0.030150230385363422
],
"calib_datetime": "2024-01-30 10:28:41"
}

View File

@@ -13,7 +13,7 @@
"events": "SAR-CVME-TIFALL5:EvtSet",
"function": "SAROP21-ATT01_Debug_proc.py",
"device": "SAROP21-ATT01",
"mode": "PUSH",
"mode": "PUB",
"name": "SAROP21-ATT01_proc",
"no_client_timeout": 0,
"processing_threads": 1,
@@ -39,6 +39,7 @@
"dark_event": 25,
"fel_on_event": 13,
"use_dark": true,
"filter_window": 201,
"filter": true
"filter_window": 50,
"filter": true,
"port": "9003"
}

View File

@@ -10,19 +10,19 @@
"check_timestamp": true,
"stream_timeout": 20,
"queue_length": 5000,
"down_calib": 2.5755023981017933e-05,
"down_calib": 3.4835311189408505e-05,
"xpos_odd_w_pvname": "SAROP21-PBPS103:XPOS-ODD-HIST-W",
"ypos_all_y_pvname": "SAROP21-PBPS103:YPOS-ALL-HIST-Y",
"ypos_all_w_pvname": "SAROP21-PBPS103:YPOS-ALL-HIST-W",
"name": "SAROP21-PBPS103_proc",
"vert_calib": -4.217739993270827,
"vert_calib": -4.274751754743584,
"bsread_address": "",
"right": "SAROP21-PBPS103:Lnk9Ch0-PP_VAL_PD3",
"ypos_dif_w_pvname": "SAROP21-PBPS103:YPOS-DIF-HIST-W",
"ypos_odd_x_pvname": "SAROP21-PBPS103:YPOS-ODD-HIST-X",
"function": "pbps_fft",
"function": "pbps_full",
"port": "9009",
"left_calib": 1.9425922043619432e-05,
"left_calib": 2.675102584833923e-05,
"down": "SAROP21-PBPS103:Lnk9Ch0-PP_VAL_PD2",
"ypos_odd_w_pvname": "SAROP21-PBPS103:YPOS-ODD-HIST-W",
"xpos_odd_y_pvname": "SAROP21-PBPS103:XPOS-ODD-HIST-Y",
@@ -32,7 +32,7 @@
"ypos_evn_x_pvname": "SAROP21-PBPS103:YPOS-EVN-HIST-X",
"uJ_calib": 605.9512700123181,
"xpos_evn_m_pvname": "SAROP21-PBPS103:XPOS-EVN-HIST-M",
"horiz_calib": -4.1599251028026085,
"horiz_calib": -4.169194856027137,
"ypos_all_m_pvname": "SAROP21-PBPS103:YPOS-ALL-HIST-M",
"ypos_dif_m_pvname": "SAROP21-PBPS103:YPOS-DIF-HIST-M",
"bsread_channels": [
@@ -45,7 +45,7 @@
"ypos_evn_w_pvname": "SAROP21-PBPS103:YPOS-EVN-HIST-W",
"pipeline_type": "stream",
"ypos_all_x_pvname": "SAROP21-PBPS103:YPOS-ALL-HIST-X",
"right_calib": 2.1594373024654728e-05,
"right_calib": 2.9397218270582815e-05,
"xpos_all_m_pvname": "SAROP21-PBPS103:XPOS-ALL-HIST-M",
"xpos_odd_m_pvname": "SAROP21-PBPS103:XPOS-ODD-HIST-M",
"left": "SAROP21-PBPS103:Lnk9Ch0-PP_VAL_PD0",
@@ -58,7 +58,7 @@
"ypos_evn_y_pvname": "SAROP21-PBPS103:YPOS-EVN-HIST-Y",
"xpos_odd_x_pvname": "SAROP21-PBPS103:XPOS-ODD-HIST-X",
"threshold": 0,
"up_calib": 2.467482041172208e-05,
"up_calib": 3.3449416187269636e-05,
"ypos_odd_m_pvname": "SAROP21-PBPS103:YPOS-ODD-HIST-M",
"xpos_all_x_pvname": "SAROP21-PBPS103:XPOS-ALL-HIST-X",
"up": "SAROP21-PBPS103:Lnk9Ch0-PP_VAL_PD1",
@@ -69,9 +69,9 @@
0.3
],
"calib_x_norm": [
0.07215335742303826,
-0.0005049983029482148,
-0.07208000860457851
0.07245932647710113,
0.0007428687559548202,
-0.07145335228211266
],
"calib_y_range": [
-0.3,
@@ -79,19 +79,19 @@
0.3
],
"calib_y_norm": [
0.07329543334108214,
0.0006596427988468453,
-0.06896084631514773
0.07007885951195195,
-0.0010627512529587204,
-0.07028016819865021
],
"calib_x_norm_std": [
0.4396215228842542,
0.41591417762080635,
0.4103443291467783
0.3632906840285803,
0.37199608189851374,
0.36472905401015154
],
"calib_y_norm_std": [
0.43343158044697055,
0.4426383133355521,
0.4360493015968147
0.36804911447877003,
0.37121251645629766,
0.3832529355274168
],
"calib_datetime": "2024-02-01 09:30:35"
"calib_datetime": "2024-03-19 08:19:24"
}

View File

@@ -27,12 +27,12 @@
"down": "SAROP21-PBPS133:Lnk9Ch0-PP_VAL_PD2",
"right": "SAROP21-PBPS133:Lnk9Ch0-PP_VAL_PD3",
"left": "SAROP21-PBPS133:Lnk9Ch0-PP_VAL_PD0",
"up_calib": 2.729326173037096e-05,
"down_calib": 2.468659381685747e-05,
"left_calib": 2.2631729793803216e-05,
"right_calib": 2.087266439060002e-05,
"horiz_calib": -4.006379249756593,
"vert_calib": -4.105091490407538,
"up_calib": 3.657138309752593e-05,
"down_calib": 3.293884021553069e-05,
"left_calib": 3.042136017551908e-05,
"right_calib": 2.8269491022514274e-05,
"horiz_calib": -4.074132313053707,
"vert_calib": -4.15236780000663,
"uJ_calib": 605.4608924473305,
"threshold": 0,
"queue_length": 3000,
@@ -70,14 +70,14 @@
0.3
],
"calib_x_norm": [
0.07442929006531175,
-0.0016482193138825406,
-0.07533186897534892
0.07320782521087467,
-2.2837453370357456e-05,
-0.07406279682503034
],
"calib_x_norm_std": [
0.45066097364535607,
0.4589954232321951,
0.4636806356577685
0.3744271614022286,
0.37691342574470016,
0.3769866399661188
],
"calib_y_range": [
-0.3,
@@ -85,14 +85,14 @@
0.3
],
"calib_y_norm": [
0.07291506684804762,
0.00021505381542338768,
-0.07324489119479595
0.07263224590877575,
-0.0001412986075444677,
-0.07186362461575774
],
"calib_y_norm_std": [
0.46075595797861424,
0.4716494592430148,
0.4500934976801521
0.3812013552811797,
0.3735254424335754,
0.37966320270546966
],
"calib_datetime": "2024-02-01 11:11:42"
"calib_datetime": "2024-03-19 08:17:02"
}

View File

@@ -0,0 +1,21 @@
{
"image_background_enable": false,
"image_background": null,
"image_threshold": null,
"image_region_of_interest": [
132,
410,
68,
376
],
"image_good_region": null,
"image_slices": null,
"pipeline_type": "processing",
"camera_name": "SAROP21-PPRM094",
"name": "SAROP21-PPRM094_pointing",
"averaging": 10,
"Marker": [
934,
484
]
}

View File

@@ -26,12 +26,12 @@
"down": "SAROP31-PBPS113:Lnk9Ch0-PP_VAL_PD2",
"right": "SAROP31-PBPS113:Lnk9Ch0-PP_VAL_PD3",
"left": "SAROP31-PBPS113:Lnk9Ch0-PP_VAL_PD0",
"up_calib": 1.3175436096394441e-05,
"down_calib": 1.5036546627308606e-05,
"left_calib": 3.1887584275696484e-05,
"right_calib": 3.722003831579624e-05,
"horiz_calib": -3.9446335571333027,
"vert_calib": -7.009396901398793,
"up_calib": 3.2162285644477015e-06,
"down_calib": 2.686025186836689e-06,
"left_calib": 7.191318824013413e-06,
"right_calib": 6.221731562645122e-06,
"horiz_calib": -4.622530325295216,
"vert_calib": -6.5680883292690755,
"uJ_calib": 941.943984588351,
"threshold": 0,
"queue_length": 300,
@@ -70,14 +70,14 @@
0.3
],
"calib_x_norm": [
0.07635186735124318,
0.0006787788287971773,
-0.07575351615516294
0.062008583273921745,
0.000161060880907168,
-0.06779045703019593
],
"calib_x_norm_std": [
0.11111011715402397,
0.10803039641898522,
0.10654207734466892
0.2947725292676816,
0.2657684857799833,
0.32908961232074957
],
"calib_y_range": [
-0.3,
@@ -85,14 +85,14 @@
0.3
],
"calib_y_norm": [
0.04025605145908799,
-0.00028632736218344964,
-0.045343324413073594
0.04492293183928853,
0.0002115753782590707,
-0.046427849380605714
],
"calib_y_norm_std": [
0.11130579296839123,
0.11052246554408188,
0.11072063526778356
0.28905204240374804,
0.27581528169237507,
0.26272643245531174
],
"calib_datetime": "2023-12-05 07:36:57"
"calib_datetime": "2024-03-07 11:03:02"
}

View File

@@ -27,15 +27,15 @@
"down": "SAROP31-PBPS149:Lnk9Ch0-PP_VAL_PD2",
"right": "SAROP31-PBPS149:Lnk9Ch0-PP_VAL_PD3",
"left": "SAROP31-PBPS149:Lnk9Ch0-PP_VAL_PD0",
"up_calib": 2.678422297844202e-06,
"down_calib": 2.8868108931245563e-06,
"left_calib": 1.2257899137298865e-06,
"right_calib": 1.625684652214226e-06,
"horiz_calib": -4.687153839895848,
"vert_calib": -4.1873578609887785,
"up_calib": 3.410487286603764e-06,
"down_calib": 2.840098888153543e-06,
"left_calib": 6.792329471232909e-06,
"right_calib": 7.927196626185115e-06,
"horiz_calib": -3.27188419405682,
"vert_calib": -4.659469472017826,
"uJ_calib": 605.9512700123181,
"threshold": 0.0,
"queue_length": 5000,
"queue_length": 1000,
"xpos_all_x_pvname": "SAROP31-PBPS149:XPOS-ALL-HIST-X",
"xpos_all_y_pvname": "SAROP31-PBPS149:XPOS-ALL-HIST-Y",
"xpos_all_m_pvname": "SAROP31-PBPS149:XPOS-ALL-HIST-M",
@@ -71,14 +71,14 @@
0.3
],
"calib_x_norm": [
0.062454691694592605,
-0.0003840643297906375,
-0.06555476148207813
0.09706963707150504,
-0.0009696404660613756,
-0.08631093644936216
],
"calib_x_norm_std": [
0.07522085671893264,
0.07570700091708837,
0.08055394853540152
0.2932014657264347,
0.3123681599095,
0.26345958930990315
],
"calib_y_range": [
-0.3,
@@ -86,14 +86,14 @@
0.3
],
"calib_y_norm": [
0.07371047250036487,
-0.00016826510539756225,
-0.06957797332124913
0.061626627664224554,
0.000313613725527961,
-0.06714339725025664
],
"calib_y_norm_std": [
0.07631255238942859,
0.08439391910804894,
0.09070396825848576
0.2812064899750521,
0.24982882741495327,
0.3080603890537814
],
"calib_datetime": "2023-12-05 07:40:19"
"calib_datetime": "2024-03-07 11:44:42"
}

View File

@@ -3,16 +3,20 @@
"image_background": "SATBD02-DSCR050_20230923_150234_114901",
"image_threshold": null,
"image_region_of_interest": [
257,
1493,
404,
1553
371,
1428,
835,
1077
],
"image_good_region": {
"threshold": 0.05,
"threshold": 0.1,
"gfscale": 5.0
},
"image_slices": null,
"image_slices": {
"number_of_slices": 81,
"scale": 3.0,
"orientation": "horizontal"
},
"pipeline_type": "processing",
"camera_name": "SATBD02-DSCR050",
"name": "SATBD02-DSCR050_sp",
@@ -22,5 +26,6 @@
"reload": true,
"function": "bunch_length_op",
"fw_threshold": 0.1,
"replace": true
"replace": true,
"abort_on_error": false
}

View File

@@ -1,6 +1,6 @@
{
"image_background_enable": "passive",
"image_background": "SATES21-CAMS-PATT1_20231215_164756_291454",
"image_background": "SATES21-CAMS-PATT1_20240312_091521_136866",
"image_threshold": null,
"image_region_of_interest": null,
"image_good_region": null,
@@ -17,19 +17,19 @@
"multiprocessing": false,
"no_client_timeout": 0,
"port": "9003",
"threshold": 12,
"threshold": 10,
"project_axis": 0,
"reload": true,
"roi_background": [
1,
100,
4,
2506
862,
1,
2560
],
"roi_signal": [
100,
848,
4,
2506
1,
862,
1,
2560
]
}

View File

@@ -8,7 +8,7 @@
"pipeline_type": "processing",
"camera_name": "SATES21-CAMS154-GIGE6",
"name": "SATES21-CAMS154-GIGE6_proc",
"function": "cs_test.py",
"function": "martin_test.py",
"mode": "PUSH",
"allow_type_changes": false,
"block": false,

View File

@@ -16,16 +16,16 @@
"project_axis": 0,
"threshold": 5,
"roi_background": [
21,
1,
602,
7,
1401
1,
1420
],
"roi_signal": [
21,
1,
602,
7,
1401
1,
1420
],
"reload": true
}

View File

@@ -0,0 +1,12 @@
{
"image_background_enable": false,
"image_background": null,
"image_threshold": null,
"image_region_of_interest": null,
"image_good_region": null,
"image_slices": null,
"pipeline_type": "cs_test.py",
"camera_name": "SATES21-CAMS154-PATT1",
"name": "SATES21-CAMS154-M2_proc",
"reload": true
}

View File

@@ -12,7 +12,7 @@
"mode": "PUB",
"allow_type_changes": false,
"block": false,
"threshold": 80.0,
"threshold": 60.0,
"threshold_file": "",
"_max_frame_rate": 5.1,
"libs": "",

View File

@@ -9,7 +9,7 @@
"camera_name": "SATES31-CAMS187-RIXS1",
"name": "SATES31-CAMS187-RIXS1_proc",
"function": "profiles.py",
"mode": "PUSH",
"mode": "PUB",
"allow_type_changes": false,
"multiprocessing": false,
"processing_threads": 3,

View File

@@ -0,0 +1,10 @@
{
"name": "SATES31-CAMS187-RIXS1_proc_db_proxy",
"input_mode": "SUB",
"mode": "PUSH",
"input_stream": "tcp://sf-daqsync-15.psi.ch:9000",
"pipeline_type": "stream",
"function": "propagate",
"no_client_timeout": 0,
"port": "9011"
}

View File

@@ -1,6 +1,6 @@
{
"image_background_enable": false,
"image_background": "SATOP21-PMOS127-2D_20230503_074443_285170",
"image_background_enable": true,
"image_background": "SATOP11-PSAS079_20240228_185208_689441",
"image_threshold": null,
"image_region_of_interest": null,
"image_good_region": null,
@@ -9,12 +9,18 @@
"camera_name": "SATOP11-PSAS079",
"name": "SATOP11-PSAS079_psas",
"function": "pmos132-2D.py",
"mode": "PUB",
"mode": "PUSH",
"allow_type_changes": false,
"no_client_timeout": 0,
"reload": true,
"processing_threads": 6,
"thread_buffer_size": 30,
"abort_on_error": false,
"pixel_bkg": 1
"pixel_bkg": 1,
"abort_on_timeout": true,
"debug": true,
"block": false,
"enforce_pid": true,
"enforce_timestamp": true,
"check_timestamp": true
}

View File

@@ -0,0 +1,47 @@
{
"_bsread_address": "",
"_bsread_channels": [
"SATES31-CAMS187-RIXS1:x_profile",
"SAT-CVME-TIFALL5:EvtSet"
],
"input_stream": "tcp://sf-daqsync-02:31872",
"input_mode": "PULL",
"input_stream2": "tcp://sf-daqsync-15.psi.ch:9000",
"input_mode2": "SUB",
"prof_sig": "SATES31-CAMS187-RIXS1:x_profile",
"events": "SAT-CVME-TIFALL5:EvtSet",
"function": "SATOP31-ATT01_Debug_proc.py",
"device": "SATOP31-ATT01",
"mode": "PUB",
"name": "SATOP31-ATT01_proc",
"no_client_timeout": 0,
"processing_threads": 0,
"allow_type_changes": false,
"abort_on_timeout": true,
"abort_on_error": false,
"debug": true,
"block": false,
"enforce_pid": true,
"enforce_timestamp": true,
"check_timestamp": true,
"stream_timeout": 20,
"pipeline_type": "stream",
"reload": true,
"calib": [
0.34,
0
],
"step_length": 150,
"edge_type": "rising",
"refinement": 1,
"buffer_length": 5,
"dark_event": 154,
"fel_on_event": 76,
"use_dark": true,
"global_stage": "SLAAT01-LSCP-DRS1FNS:CH2:BSTART",
"feedback_buffer": 5000,
"feedback_deadband": 250,
"feedback_step": 0.1,
"filter_window": 101,
"filter": true
}

View File

@@ -1,6 +1,6 @@
{
"image_background_enable": true,
"image_background": "SATOP31-PMOS132-2D_20231107_172337_721116",
"image_background": "SATOP31-PMOS132-2D_20240228_204901_018928",
"image_threshold": null,
"image_region_of_interest": null,
"image_good_region": null,

View File

@@ -0,0 +1,15 @@
{
"image_background_enable": false,
"image_background": null,
"image_threshold": null,
"image_region_of_interest": null,
"image_good_region": null,
"image_slices": null,
"pipeline_type": "processing",
"camera_name": "SLG-LCAM-C042",
"name": "SLG-LCAM-C042_proc",
"function": "pprm_simple.py",
"mode": "PUB",
"allow_type_changes": false,
"no_client_timeout": 0
}

View File

@@ -7,5 +7,6 @@
"image_good_region": null,
"image_slices": null,
"camera_name": "SLG-LCAM-C042",
"name": "SLG-LCAM-C042_sp"
"name": "SLG-LCAM-C042_sp",
"max_frame_rate": 10.1
}

View File

@@ -0,0 +1,15 @@
{
"image_background_enable": false,
"image_background": null,
"image_threshold": null,
"image_region_of_interest": null,
"image_good_region": null,
"image_slices": null,
"pipeline_type": "processing",
"camera_name": "SLG-LCAM-C061",
"name": "SLG-LCAM-C061_proc",
"function": "pprm_simple.py",
"mode": "PUB",
"allow_type_changes": false,
"no_client_timeout": 0
}

View File

@@ -7,5 +7,6 @@
"image_slices": null,
"pipeline_type": "processing",
"camera_name": "SLG-LCAM-C061",
"name": "SLG-LCAM-C061_sp"
"name": "SLG-LCAM-C061_sp",
"max_frame_rate": 10.1
}

View File

@@ -0,0 +1,15 @@
{
"image_background_enable": false,
"image_background": null,
"image_threshold": null,
"image_region_of_interest": null,
"image_good_region": null,
"image_slices": null,
"pipeline_type": "processing",
"camera_name": "SLG-LCAM-C063",
"name": "SLG-LCAM-C063_proc",
"function": "pprm_simple.py",
"mode": "PUB",
"allow_type_changes": false,
"no_client_timeout": 0
}

View File

@@ -7,5 +7,6 @@
"image_slices": null,
"pipeline_type": "processing",
"camera_name": "SLG-LCAM-C063",
"name": "SLG-LCAM-C063_sp"
"name": "SLG-LCAM-C063_sp",
"max_frame_rate": 10.1
}

View File

@@ -0,0 +1,15 @@
{
"image_background_enable": false,
"image_background": null,
"image_threshold": null,
"image_region_of_interest": null,
"image_good_region": null,
"image_slices": null,
"pipeline_type": "processing",
"camera_name": "SLG-LCAM-C072",
"name": "SLG-LCAM-C072_proc",
"function": "pprm_simple.py",
"mode": "PUB",
"allow_type_changes": false,
"no_client_timeout": 0
}

View File

@@ -0,0 +1,12 @@
{
"image_background_enable": false,
"image_background": null,
"image_threshold": null,
"image_region_of_interest": null,
"image_good_region": null,
"image_slices": null,
"pipeline_type": "processing",
"camera_name": "SLG-LCAM-C072",
"name": "SLG-LCAM-C072_sp",
"max_frame_rate": 10.1
}

View File

@@ -0,0 +1,15 @@
{
"image_background_enable": false,
"image_background": null,
"image_threshold": null,
"image_region_of_interest": null,
"image_good_region": null,
"image_slices": null,
"pipeline_type": "processing",
"camera_name": "SLG-LCAM-C081",
"name": "SLG-LCAM-C081_proc",
"function": "pprm_simple.py",
"mode": "PUB",
"allow_type_changes": false,
"no_client_timeout": 0
}

View File

@@ -6,5 +6,6 @@
"image_good_region": null,
"image_slices": null,
"camera_name": "SLG-LCAM-C081",
"name": "SLG-LCAM-C081_sp"
"name": "SLG-LCAM-C081_sp",
"max_frame_rate": 10.1
}

View File

@@ -0,0 +1,15 @@
{
"image_background_enable": false,
"image_background": null,
"image_threshold": null,
"image_region_of_interest": null,
"image_good_region": null,
"image_slices": null,
"pipeline_type": "processing",
"camera_name": "SLG-LCAM-C082",
"name": "SLG-LCAM-C082_proc",
"function": "pprm_simple.py",
"mode": "PUB",
"allow_type_changes": false,
"no_client_timeout": 0
}

View File

@@ -7,5 +7,6 @@
"image_slices": null,
"pipeline_type": "processing",
"camera_name": "SLG-LCAM-C082",
"name": "SLG-LCAM-C082_sp"
"name": "SLG-LCAM-C082_sp",
"max_frame_rate": 10.1
}

View File

@@ -0,0 +1,15 @@
{
"image_background_enable": false,
"image_background": null,
"image_threshold": null,
"image_region_of_interest": null,
"image_good_region": null,
"image_slices": null,
"pipeline_type": "processing",
"camera_name": "SLG-LCAM-C083",
"name": "SLG-LCAM-C083_proc",
"function": "pprm_simple.py",
"mode": "PUB",
"allow_type_changes": false,
"no_client_timeout": 0
}

View File

@@ -6,5 +6,6 @@
"image_good_region": null,
"image_slices": null,
"camera_name": "SLG-LCAM-C083",
"name": "SLG-LCAM-C083_sp"
"name": "SLG-LCAM-C083_sp",
"max_frame_rate": 10.1
}

View File

@@ -0,0 +1,15 @@
{
"image_background_enable": false,
"image_background": null,
"image_threshold": null,
"image_region_of_interest": null,
"image_good_region": null,
"image_slices": null,
"pipeline_type": "processing",
"camera_name": "SLG-LCAM-C091",
"name": "SLG-LCAM-C091_proc",
"function": "pprm_simple.py",
"mode": "PUB",
"allow_type_changes": false,
"no_client_timeout": 0
}

View File

@@ -7,5 +7,6 @@
"image_good_region": null,
"image_slices": null,
"camera_name": "SLG-LCAM-C091",
"name": "SLG-LCAM-C091_sp"
"name": "SLG-LCAM-C091_sp",
"max_frame_rate": 10.1
}

View File

@@ -0,0 +1,16 @@
{
"image_background_enable": false,
"image_background": null,
"image_threshold": null,
"image_region_of_interest": null,
"image_good_region": null,
"image_slices": null,
"pipeline_type": "processing",
"camera_name": "SSL-LCAM-C0103",
"name": "SSL-LCAM-C0103_proc",
"function": "pprm.py",
"mode": "PUSH",
"allow_type_changes": false,
"block": false,
"reload": true
}

View File

@@ -0,0 +1,11 @@
{
"image_background_enable": false,
"image_background": null,
"image_threshold": null,
"image_region_of_interest": null,
"image_good_region": null,
"image_slices": null,
"pipeline_type": "processing",
"camera_name": "SSL-LCAM-C0103",
"name": "SSL-LCAM-C0103_sp"
}

View File

@@ -0,0 +1,16 @@
{
"image_background_enable": false,
"image_background": null,
"image_threshold": null,
"image_region_of_interest": null,
"image_good_region": null,
"image_slices": null,
"pipeline_type": "processing",
"camera_name": "SSL-LCAM-C0104",
"name": "SSL-LCAM-C0104_proc",
"function": "pprm.py",
"mode": "PUSH",
"allow_type_changes": false,
"block": false,
"reload": true
}

View File

@@ -0,0 +1,11 @@
{
"image_background_enable": false,
"image_background": null,
"image_threshold": null,
"image_region_of_interest": null,
"image_good_region": null,
"image_slices": null,
"pipeline_type": "processing",
"camera_name": "SSL-LCAM-C0104",
"name": "SSL-LCAM-C0104_sp"
}

View File

@@ -0,0 +1,12 @@
{
"image_background_enable": false,
"image_background": null,
"image_threshold": null,
"image_region_of_interest": null,
"image_good_region": null,
"image_slices": null,
"pipeline_type": "processing",
"camera_name": "furka_jungfrau",
"name": "furka_jungfrau_sp",
"max_frame_rate": 10.1
}

View File

@@ -1,9 +1,6 @@
{
"#S10BC02-DSRM310_profiles": "S10BC02-DSRM310_profiles",
"#SARES11-SPEC125-M1_test": "SARES11-SPEC125-M1_test",
"#SARES11-SPEC125-M2_db": "SARES11-SPEC125-M2_db",
"#SARES11-SPEC125-M2_pp_db": "SARES11-SPEC125-M2_pp_db",
"#SARES11-SPEC125-M2_psen_db": "SARES11-SPEC125-M2_psen_db",
"#SARES11-SPEC125-M3_sp": "SARES11-SPEC125-M3_sp",
"#SARES11-SPEC125-M3_spec_db": "SARES11-SPEC125-M3_spec_db",
"#SARES11-XMI125-C4P1_db": "SARES11-XMI125-C4P1_db",
@@ -13,8 +10,6 @@
"#SARFE10-PSSS059_store": "SARFE10-PSSS059_store",
"#SAROP11-ATT01_proc": "SAROP11-ATT01_proc",
"#SAROP21-PPRM102_proc": "SAROP21-PPRM102_proc",
"#SAROP31-PPRM113_proc": "SAROP31-PPRM113_proc",
"#SAROP31-PPRM150_proc": "SAROP31-PPRM150_proc",
"#SATBD02-DSCR050_db": "SATBD02-DSCR050_db",
"#SATES21-CAMS154-GIGE1_proc": "SATES21-CAMS154-GIGE1_proc",
"#SATES21-CAMS154-GIGE2_proc": "SATES21-CAMS154-GIGE2_proc",
@@ -41,6 +36,7 @@
"SARBD01-DSCR110_sp1": "SARBD01-DSCR110_sp_rep",
"SARCL01-DSCR170_profiles": "SARCL01-DSCR170_profiles",
"SARES11-SPEC125-M1_psen_db": "SARES11-SPEC125-M1_psen_db",
"SARES11-SPEC125-M2_db": "SARES11-SPEC125-M2_db",
"SARES20-CAMS142-M3_proc": "SARES20-CAMS142-M3_proc",
"SARES20-CAMS142-M4_psen_db": "SARES20-CAMS142-M4_psen_db",
"SARES20-CAMS142-M5_psen_db": "SARES20-CAMS142-M5_psen_db",
@@ -67,6 +63,8 @@
"SAROP21-PPRM138_proc": "SAROP21-PPRM138_proc",
"SAROP31-PBPS113_proc": "SAROP31-PBPS113_proc",
"SAROP31-PBPS149_proc": "SAROP31-PBPS149_proc",
"SAROP31-PPRM113_proc": "SAROP31-PPRM113_proc",
"SAROP31-PPRM150_proc": "SAROP31-PPRM150_proc",
"SATBD02-DSCR050_sp": "SATBD02-DSCR050_sp",
"SATBD02-DSCR050_sp1": "SATBD02-DSCR050_sp_rep",
"SATES21-CAMS-PATT1_spec_db": "SATES21-CAMS-PATT1_spec_db",
@@ -78,9 +76,11 @@
"SATES30-RIXS-CAM01_proc": "SATES30-RIXS-CAM01_proc",
"SATES30-RIXS-CAM01_repeater": "SATES30-RIXS-CAM01_repeater",
"SATES31-CAMS187-RIXS1_proc": "SATES31-CAMS187-RIXS1_proc",
"SATES31-CAMS187-RIXS1_proc_db_proxy": "SATES31-CAMS187-RIXS1_proc_db_proxy",
"SATES31-CAMS187-RIXS1_sp": "SATES31-CAMS187-RIXS1_sp",
"SATOP11-PSAS079_psas": "SATOP11-PSAS079_psas",
"SATOP21-PMOS127-2D_pmos": "SATOP21-PMOS127-2D_pmos",
"SATOP31-ATT01_proc": "SATOP31-ATT01_proc",
"SATOP31-PMOS132-2D_pmos": "SATOP31-PMOS132-2D_pmos",
"SINDI02-DSCR075_profiles": "SINDI02-DSCR075_profiles",
"SLAAR02-LPMO01-C321_proc": "SLAAR02-LPMO01-C321_proc",
@@ -93,6 +93,8 @@
"SLAAR21-LCAM-CS844_proc": "SLAAR21-LCAM-CS844_proc",
"SLAAR21-LCAM-CT1C1_proc": "SLAAR21-LCAM-CT1C1_proc",
"SLAAR21-LCAM-CT1C2_proc": "SLAAR21-LCAM-CT1C2_proc",
"SSL-LCAM-C0103_proc": "SSL-LCAM-C0103_proc",
"SSL-LCAM-C0104_proc": "SSL-LCAM-C0104_proc",
"simulation_3_sp": "simulation_3_sp",
"simulation_sp": "simulation_sp",
"test_furka": "test_furka",

View File

@@ -23,16 +23,18 @@
"cameras": [
"testdb",
"SATOP31-PMOS132-2D",
"SARFE10-PPRM064"
"SARFE10-PPRM064",
"SATOP11-PSAS079"
],
"enabled": true,
"expanding": false,
"instances": [
"SARFE10-PBPS053_proc:9004",
"SAROP21-ATT01_proc:9003",
"SATOP31-ATT01_proc:9021",
"test_stream:9006",
"SARFE10-PSSS059_psss_avg:9012",
"SATOP11-PSAS079_psas:9002",
"SATOP11-PSAS079_psas:9019",
"SAROP21-PBPS103_proc:9009",
"SAROP11-PBPS110_proc:9007",
"SAROP31-PBPS113_proc:9013",
@@ -88,6 +90,7 @@
"SATBD01-DSCR120",
"SATBD01-DSCR210",
"SATBD02-DSCR050",
"SARBD02-DSCR050",
"SLG-LCAM-C103",
"SARBD02-DSCR050"
],
@@ -125,9 +128,6 @@
"SARFE10-PSSS059_psss:8889",
"SARFE10-PSSS059_sp",
"SARFE10-PSSS059_psss_avg:9005",
"SARES20-CAMS142-M3_sp",
"SARES20-CAMS142-M3_spec",
"SARES20-CAMS142-M3_proc:9006",
"SARFE10-PSSS059_store:8890",
"SARFE10-PSSS059-LB_psss:9004"
]
@@ -158,12 +158,16 @@
"SATES24-CAMS161-M1_spec_db:9011",
"SATES21-CAMS-PATT1_spec_db:9003",
"SATES21-CAMS-PATT1_sp",
"SSL-LCAM-C0103_sp",
"SATES21-CAMS154-M2_proc",
"SATES21-CAMS154-GIGE1_proc:9051",
"SATES21-CAMS154-GIGE2_proc:9052",
"SATES21-CAMS154-GIGE3_proc:9053",
"SATES21-CAMS154-GIGE4_proc:9054",
"SATES21-CAMS154-GIGE5_proc:9055",
"SATES21-CAMS154-GIGE6_proc:9056"
"SATES21-CAMS154-GIGE6_proc:9056",
"SSL-LCAM-C0103_proc:9059",
"SSL-LCAM-C0104_proc:9061"
]
},
"http://sf-daqsync-13.psi.ch:8881": {
@@ -186,7 +190,7 @@
"#SARES12-CAMS128-M1_psen_db:9003",
"#SARES11-XMI125-C4P1_db:9011",
"#SARES11-SPEC125-M2_pp_db",
"#SARES11-SPEC125-M2_db:9011",
"SARES11-SPEC125-M2_db:9011",
"#SARES11-SPEC125-M3_sp",
"#SARES11-SPEC125-M3_spec_db",
"SAROP11-PPRM122_proc:9012"
@@ -254,7 +258,8 @@
"SATES30-CAMS182-GIGE2",
"SATES30-CAMS182-GIGE3",
"SATES30-CAMS182-GIGE4",
"SATES30-RIXS-CAM01"
"SATES30-RIXS-CAM01",
"furka_jungfrau"
],
"enabled": true,
"expanding": false,
@@ -267,6 +272,7 @@
"SATES30-RIXS-CAM01_fit:9010",
"test_load_file",
"SATES30-CAMS182-GIGE1_sp",
"SATES31-CAMS187-RIXS1_proc_db_proxy:9011",
"SATES30-CAMS182-GIGE2_sp",
"SATES30-CAMS182-GIGE1_profiles:9002",
"SATES30-CAMS182-GIGE2_profiles:9004",
@@ -295,13 +301,29 @@
},
"http://sf-daqsync-17.psi.ch:8881": {
"cameras": [
"simulation_3"
"simulation_3",
"SLG-LCAM-C042",
"SLG-LCAM-C061",
"SLG-LCAM-C063",
"SLG-LCAM-C072",
"SLG-LCAM-C081",
"SLG-LCAM-C082",
"SLG-LCAM-C083",
"SLG-LCAM-C091"
],
"enabled": true,
"expanding": false,
"instances": [
"simulation_3_proc:9020",
"test_dispatcher_waveforms"
"test_dispatcher_waveforms",
"SLG-LCAM-C042_proc:9000",
"SLG-LCAM-C061_proc:9001",
"SLG-LCAM-C063_proc:9002",
"SLG-LCAM-C072_proc:9003",
"SLG-LCAM-C081_proc:9004",
"SLG-LCAM-C082_proc:9005",
"SLG-LCAM-C083_proc:9006",
"SLG-LCAM-C091_proc:9007"
]
},
"http://sf-daqsync-18.psi.ch:8881": {

View File

@@ -1,7 +1,7 @@
{
"image_background_enable": false,
"image_background": "simulation_20231031_092133_801186",
"image_threshold": 500.0,
"image_threshold": null,
"image_region_of_interest": null,
"image_good_region": {
"threshold": 0.05,

View File

@@ -59,9 +59,9 @@ def process_image(image, pulse_id, timestamp, x_axis, y_axis, parameters, bsdata
processed_data[image_property_name + ".processing_parameters"] = json.dumps({"roi_signal": roi_signal})
if roi_signal:
jet_projection = get_roi_projection(image, roi_signal, 1)
jet_projection = get_roi_projection(image, roi_signal, 0)
processed_data[image_property_name + ".jet_projection"] = jet_projection
jet_width = get_roi_projection(image, roi_signal, 0)
jet_width = get_roi_projection(image, roi_signal, 1)
processed_data[image_property_name + ".jet_width"] = jet_width
freq, spectrum, cut_freq = find_spacing(jet_projection, extend=10)

View File

@@ -0,0 +1,113 @@
from collections import deque
from logging import getLogger
import numpy as np
from scipy import signal
_logger = getLogger(__name__)
buffer_dark = deque()
buffer_savgol = deque()
initialized = False
def initialize(params):
global buffer_dark, buffer_savgol, initialized
buffer_dark = deque(maxlen=params["buffer_length"])
buffer_savgol = deque(maxlen=params["buffer_length"])
initialized = True
def find_edge(data, step_length=50, edge_type="falling"):
# prepare a step function and refine it
step_waveform = np.ones(shape=(step_length,))
if edge_type == "rising":
step_waveform[: int(step_length / 2)] = -1
elif edge_type == "falling":
step_waveform[int(step_length / 2) :] = -1
# find edges
xcorr = signal.correlate(data, step_waveform, mode="valid")
edge_position = np.argmax(xcorr)
xcorr_amplitude = np.amax(xcorr)
# correct edge_position for step_length
edge_position += np.floor(step_length / 2)
return {
"edge_pos": edge_position,
"xcorr": xcorr,
"xcorr_ampl": xcorr_amplitude,
"signal": data,
}
def process(data, pulse_id, timestamp, params):
device = params["device"]
step_length = params["step_length"]
edge_type = params["edge_type"]
dark_event = params["dark_event"]
fel_on_event = params["fel_on_event"]
calib = params["calib"]
filter_window = params["filter_window"]
prof_sig = data[params["prof_sig"]]
events = data[params["events"]]
if not initialized:
initialize(params)
prof_sig_savgol = signal.savgol_filter(prof_sig, filter_window, 3)
if events[dark_event]:
buffer_dark.append(prof_sig)
buffer_savgol.append(prof_sig_savgol)
if buffer_savgol:
prof_sig_norm = prof_sig_savgol / np.mean(np.array(buffer_savgol), axis=0)
else:
prof_sig_norm = prof_sig_savgol
if events[fel_on_event] and not events[dark_event]:
edge_results = find_edge(prof_sig_norm, step_length, edge_type)
edge_results["arrival_time"] = np.polyval(calib, edge_results["edge_pos"])
else:
edge_results = {
"edge_pos": None,
"xcorr": None,
"xcorr_ampl": None,
"signal": prof_sig_norm,
}
edge_results["arrival_time"] = None
# Set bs outputs
output = {}
for key, value in edge_results.items():
output[f"{device}:{key}"] = value
output[f"{device}:raw_wf"] = prof_sig
output[f"{device}:raw_wf_savgol"] = prof_sig_savgol
# if events[dark_event]:
# output[f"{device}:dark_wf"] = prof_sig
# output[f"{device}:dark_wf_savgol"] = prof_sig_savgol
# else:
# output[f"{device}:dark_wf"] = None
# output[f"{device}:dark_wf_savgol"] = None
if buffer_dark:
output[f"{device}:avg_dark_wf"] = np.mean(buffer_dark, axis=0)
else:
#output[f"{device}:avg_dark_wf"] = np.zeros_like(prof_sig)
#Changed By Gobbo to avoid type errors
output[f"{device}:avg_dark_wf"] = None # np.zeros_like(prof_sig)
# if buffer_savgol:
# output[f"{device}:avg_dark_wf_savgol"] = np.mean(buffer_savgol, axis=0)
# else:
# output[f"{device}:avg_dark_wf_savgol"] = None
return output

View File

@@ -0,0 +1,65 @@
from collections import deque
from logging import getLogger
import numpy as np
from scipy import signal
_logger = getLogger(__name__)
buffer_dark = deque()
buffer_savgol = deque()
initialized = False
def initialize(params):
global buffer_dark, buffer_savgol, initialized
buffer_dark = deque(maxlen=params["buffer_length"])
buffer_savgol = deque(maxlen=params["buffer_length"])
initialized = True
def find_edge(data, step_length=50, edge_type="falling"):
# prepare a step function and refine it
step_waveform = np.ones(shape=(step_length,))
if edge_type == "rising":
step_waveform[: int(step_length / 2)] = -1
elif edge_type == "falling":
step_waveform[int(step_length / 2) :] = -1
# find edges
xcorr = signal.correlate(data, step_waveform, mode="valid")
edge_position = np.argmax(xcorr)
xcorr_amplitude = np.amax(xcorr)
# correct edge_position for step_length
edge_position += np.floor(step_length / 2)
return {
"edge_pos": edge_position,
"xcorr": xcorr,
"xcorr_ampl": xcorr_amplitude,
"signal": data,
}
def process(data, pulse_id, timestamp, params):
device = params["device"]
step_length = params["step_length"]
edge_type = params["edge_type"]
dark_event = params["dark_event"]
fel_on_event = params["fel_on_event"]
calib = params["calib"]
filter_window = params["filter_window"]
# prof_sig = data[params["prof_sig"]]
events = data[params["events"]]
if not initialized:
initialize(params)
output = {}
output[f"{device}:raw_wf"] = events
return output

View File

@@ -0,0 +1,26 @@
import numpy as np
from collections import OrderedDict
from cam_server.pipeline.data_processing import functions
from logging import getLogger
_logger = getLogger(__name__)
def process_image(image, pulse_id, timestamp, x_axis, y_axis, parameters, bsdata):
ret = OrderedDict()
prefix = parameters["camera_name"]
(x_profile, y_profile) = functions.get_x_y_profile(image)
_, _, x_fit_amplitude, x_fit_mean, _, _, _ = functions.gauss_fit(x_profile, x_axis)
_, _, y_fit_amplitude, y_fit_mean, _, _, _ = functions.gauss_fit(y_profile, y_axis)
x_fwhm = functions.get_fw(x_axis,x_profile)
y_fwhm = functions.get_fw(y_axis,y_profile)
intensity = x_profile.sum()
ret[prefix+":intensity"] = intensity
ret[prefix+":x_fit_mean"] = x_fit_mean
ret[prefix+":y_fit_mean"] = y_fit_mean
ret[prefix+":x_fwhm"] = x_fwhm
ret[prefix+":y_fwhm"] = y_fwhm
ret[prefix+":x_fit_amplitude"] = x_fit_amplitude
ret[prefix+":y_fit_amplitude"] = y_fit_amplitude
ret[prefix+":xy_test"] = 42
return ret

View File

@@ -0,0 +1,66 @@
#from cam_server.pipeline.data_processing import functions, processor
#def process_image(image, pulse_id, timestamp, x_axis, y_axis, parameters, bsdata=None):
# ret = processor.process_image(image, pulse_id, timestamp, x_axis, y_axis, parameters, bsdata)
# return ret
import numpy as np
from collections import OrderedDict
from cam_server.pipeline.data_processing import functions
from logging import getLogger
#import copy
from skimage.registration import phase_cross_correlation
_logger = getLogger(__name__)
#refimg = np.array([])
refimg = None
xpos = 0.0
def process_image(image, pulse_id, timestamp, x_axis, y_axis, parameters, bsdata):
global refimg
global xpos
#image = (image < 15) * (image - 15)
ret = OrderedDict()
prefix = parameters["camera_name"]
(x_profile, y_profile) = functions.get_x_y_profile(image)
_, _, x_fit_amplitude, x_fit_mean, _, _, _ = functions.gauss_fit(x_profile, x_axis)
_, _, y_fit_amplitude, y_fit_mean, _, _, _ = functions.gauss_fit(y_profile, y_axis)
x_fwhm = functions.get_fw(x_axis,x_profile)
y_fwhm = functions.get_fw(y_axis,y_profile)
intensity = x_profile.sum()
ret[prefix+":intensity"] = intensity
ret[prefix+":x_fit_mean"] = x_fit_mean
ret[prefix+":y_fit_mean"] = y_fit_mean
ret[prefix+":x_fwhm"] = x_fwhm
ret[prefix+":y_fwhm"] = y_fwhm
ret[prefix+":x_fit_amplitude"] = x_fit_amplitude
ret[prefix+":y_fit_amplitude"] = y_fit_amplitude
ret[prefix+":x_shift"] = 1.0
ret[prefix+":y_shift"] = 1.0
ret[prefix+":x_pos"] = 1.0
if isinstance(refimg, np.ndarray):
shift, error, diffphase = phase_cross_correlation(image, refimg, upsample_factor=500)
ret[prefix+":x_shift"] = float(shift[1]) + xpos
ret[prefix+":y_shift"] = float(shift[0])
#xpos = xpos + float(shift[1])
ret[prefix+":x_pos"] = xpos
else:
xpos = x_fit_mean
refimg = image * 1
ret[prefix+":x_shift"] = xpos
ret[prefix+":y_shift"] = 5232.0
#refimg = np.ndarray([])
#refimg = image * 1
return ret

View File

@@ -0,0 +1,54 @@
#from cam_server.pipeline.data_processing import functions, processor
#def process_image(image, pulse_id, timestamp, x_axis, y_axis, parameters, bsdata=None):
# ret = processor.process_image(image, pulse_id, timestamp, x_axis, y_axis, parameters, bsdata)
# return ret
import numpy as np
from collections import OrderedDict
from cam_server.pipeline.data_processing import functions
from logging import getLogger
#import copy
_logger = getLogger(__name__)
def process_image(image, pulse_id, timestamp, x_axis, y_axis, parameters, bsdata):
#image = (image < 15) * (image - 15)
ret = OrderedDict()
prefix = parameters["camera_name"]
(x_profile, y_profile) = functions.get_x_y_profile(image)
_, _, x_fit_amplitude, x_fit_mean, x_fit_standard_deviation, _, _ = functions.gauss_fit(x_profile, x_axis)
_, _, y_fit_amplitude, y_fit_mean, y_fit_standard_deviation, _, _ = functions.gauss_fit(y_profile, y_axis)
x_fwhm = functions.get_fw(x_axis,x_profile)
y_fwhm = functions.get_fw(y_axis,y_profile)
intensity = x_profile.sum()
h = image.shape[0]
w = image.shape[1]
hh = int(h/2)
wh = int(w/2)
Q1=float(np.sum(image[0:hh, 0:wh])) #TL
Q2=float(np.sum(image[0:hh, wh:w])) #TR
Q3=float(np.sum(image[hh:h, wh:w])) #BR
Q4=float(np.sum(image[hh:h, 0:wh])) #BL
I = float(Q1+Q2+Q3+Q4)
dx = ((Q1+Q4) - (Q2+Q3))/I
dy = ((Q1+Q2) - (Q3+Q4))/I
dxcal = dx/1.6014*x_fit_standard_deviation/2.355
dycal = dy/1.6014*y_fit_standard_deviation/2.355
ret[prefix+":intensity"] = intensity
ret[prefix+":x_fit_mean"] = x_fit_mean
ret[prefix+":y_fit_mean"] = y_fit_mean
ret[prefix+":x_fwhm"] = x_fwhm
ret[prefix+":y_fwhm"] = y_fwhm
ret[prefix+":x_fit_amplitude"] = x_fit_amplitude
ret[prefix+":y_fit_amplitude"] = y_fit_amplitude
ret[prefix+":4qdx"], ret[prefix+":4qdy"] = dxcal, dycal #virtual_4QD(image, 2.355,2.355) #x_fit_standard_deviation, y_fit_standard_deviation
return ret

View File

@@ -8,8 +8,8 @@ def process_image(image, pulse_id, timestamp, x_axis, y_axis, parameters, bsdata
ret = OrderedDict()
prefix = parameters["camera_name"]
(x_profile, y_profile) = functions.get_x_y_profile(image)
_, _, _, x_fit_mean, _, _, _ = functions.gauss_fit(x_profile, x_axis)
_, _, _, y_fit_mean, _, _, _ = functions.gauss_fit(y_profile, y_axis)
_, _, _, x_fit_mean, x_fit_standard_deviation, _, _ = functions.gauss_fit(x_profile, x_axis)
_, _, _, y_fit_mean, y_fit_standard_deviation, _, _ = functions.gauss_fit(y_profile, y_axis)
x_fwhm = functions.get_fw(x_axis,x_profile)
y_fwhm = functions.get_fw(y_axis,y_profile)
intensity = x_profile.sum()
@@ -18,6 +18,8 @@ def process_image(image, pulse_id, timestamp, x_axis, y_axis, parameters, bsdata
ret[prefix+":y_fit_mean"] = y_fit_mean
ret[prefix+":x_fwhm"] = x_fwhm
ret[prefix+":y_fwhm"] = y_fwhm
ret[prefix+":x_fit_standard_deviation"] = x_fit_standard_deviation
ret[prefix+":y_fit_standard_deviation"] = y_fit_standard_deviation
return ret

View File

@@ -189,7 +189,6 @@ def process_image(image, pulse_id, timestamp, x_axis, y_axis, parameters, bsdata
processed_data[camera_name + ":SPECT-COM"] = spectrum_com
processed_data[camera_name + ":SPECT-RMS"] = spectrum_std
processed_data[camera_name + ":SPECT-RES"] = np.float64(2.355*spectrum_std)/np.float64(spectrum_com)*1000
processed_data[camera_name + ":FIT-BRT"] = spectrum_sum /np.float64(2.355 * sigma)
if epics_lock.acquire(False):
try:
if pulse_id > sent_pid:

View File

@@ -6,7 +6,7 @@ from threading import Thread
import epics
import numpy as np
from cam_server.utils import create_thread_pvs, epics_lock
from cam_server.utils import create_thread_pv, epics_lock
_logger = getLogger(__name__)
@@ -42,15 +42,15 @@ def process(data, pulse_id, timestamp, params):
spectral_brightness = intensity/FWHM
except:
spectral_brightness = "999"
spectral_brightness = None
# Set bs outputs
output = {}
output["FIT-BRT"] = spectral_brightness
output_pvname = params["out_PV"]
output_pv = create_thread_pvs([output_pvname])
#output_pvname = params["out_PV"]
output[output_pvname] = spectral_brightness
output_pv = create_thread_pv(output_pvname)
if epics_lock.acquire(False):
try:
if pulse_id > sent_pid:

View File

@@ -27,12 +27,23 @@ def initialize(params):
def process(data, pulse_id, timestamp, params):
if not initialized:
initialize(params)
spectral_brightness = data[params["intensity"]]/data[params["FWHM"]]
try:
intensity = data[params["intensity"]]
except BaseException as e:
print("bad intensity channel")
logging.info("no intensity channel")
try:
FWHM = data[params["FWHM"]]
except BaseException as e:
print("bad FWHM channel")
logging.info("no FWHM channel")
spectral_brightness = intensity/FWHM
output = {}
output["Intensity"] = data[params["intensity"]]
output["FWHM"] = data[params["FWHM"]]
output["spectral_brightness"] = spectral_brightness
# try update pv
output_pv = epics.PV(params["out_PV"])
output_pv.put(str(spectral_brightness))
try:
output_pv = epics.PV(params["out_PV"])
output_pv.put(str(spectral_brightness))
return output