-
Notifications
You must be signed in to change notification settings - Fork 5
Description
It looks like triggering the detector takes a large portion of overhead time. Here is what I have tried (exposure time and acquire period are set to 0.05s for all test):
-
For Andor camera, I can reach 17 Hz if running in continuous mode in CSS.
-
If I run the scan:
RE(count([Andor], 100), it takes 90sec for 100 images, corresponding to scanning rate of 1.2Hz -
If I choose to take multiple images (e.g. 10 images) per each triggering, and run
RE(count([Andor], 10)), it gives a image shape of (10, 10, 2160, 2560), effectively 100 images using 17 sec, which means the scanning rate is about 5.9 Hz -
If I choose to take 100 images per each triggering, and run
RE(count([Andor], 1)), it gives a image shape of (1, 100, 2160,2560), and it takes about 10sec, so it is 10 Hz
The problem in taking multiple images per triggering is that, it does not record the motor position (e.g. rotation stage in "fly scan")
Based on the observation, it looks like triggering the detector takes a lot of overhead:
In [9]: RE(count([Andor], 10))
19:19:03.532400 stage -> Andor args: (), kwargs: {}
19:19:03.777227 open_run -> None args: (), kwargs: {'detectors': ['Andor'], 'num_points': 10, 'num_intervals': 9, 'plan_args': {'detectors': ["Manta(prefix='XF:18IDB-BI{Det:Neo}', name='Andor', read_attrs=['hdf5', 'stats1', 'stats5'], configuration_attrs=['cam'])"], 'num': 10}, 'plan_name': 'count', 'hints': {'dimensions': [(('time',), 'primary')]}}
19:19:03.909235 checkpoint -> None args: (), kwargs: {}
19:19:03.909457 trigger -> Andor args: (), kwargs: {'group': 'trigger-82cf66'}
19:19:03.911521 wait -> None args: (), kwargs: {'group': 'trigger-82cf66'}
19:19:04.554847 create -> None args: (), kwargs: {'name': 'primary'}
19:19:04.554978 read -> Andor args: (), kwargs: {}
19:19:04.580523 save -> None args: (), kwargs: {}
19:19:04.589170 checkpoint -> None args: (), kwargs: {}
19:19:04.589365 trigger -> Andor args: (), kwargs: {'group': 'trigger-d5bb5c'}
19:19:04.591320 wait -> None args: (), kwargs: {'group': 'trigger-d5bb5c'}
19:19:05.295046 create -> None args: (), kwargs: {'name': 'primary'}
19:19:05.295234 read -> Andor args: (), kwargs: {}
19:19:05.297107 save -> None args: (), kwargs: {}
19:19:05.300038 checkpoint -> None args: (), kwargs: {}
19:19:05.300314 trigger -> Andor args: (), kwargs: {'group': 'trigger-e7da9b'}
19:19:05.302524 wait -> None args: (), kwargs: {'group': 'trigger-e7da9b'}
19:19:05.953721 create -> None args: (), kwargs: {'name': 'primary'}
19:19:05.953915 read -> Andor args: (), kwargs: {}
19:19:05.955782 save -> None args: (), kwargs: {}
19:19:05.958449 checkpoint -> None args: (), kwargs: {}
19:19:05.958700 trigger -> Andor args: (), kwargs: {'group': 'trigger-fac4a8'}
19:19:05.960827 wait -> None args: (), kwargs: {'group': 'trigger-fac4a8'}
19:19:06.660897 create -> None args: (), kwargs: {'name': 'primary'}
19:19:06.661033 read -> Andor args: (), kwargs: {}
19:19:06.662482 save -> None args: (), kwargs: {}
19:19:06.665135 checkpoint -> None args: (), kwargs: {}
19:19:06.665372 trigger -> Andor args: (), kwargs: {'group': 'trigger-cd8617'}
19:19:06.667395 wait -> None args: (), kwargs: {'group': 'trigger-cd8617'}
19:19:07.323329 create -> None args: (), kwargs: {'name': 'primary'}
19:19:07.323448 read -> Andor args: (), kwargs: {}
19:19:07.324518 save -> None args: (), kwargs: {}
19:19:07.326162 checkpoint -> None args: (), kwargs: {}
19:19:07.326309 trigger -> Andor args: (), kwargs: {'group': 'trigger-59aac4'}
19:19:07.327962 wait -> None args: (), kwargs: {'group': 'trigger-59aac4'}
19:19:08.045736 create -> None args: (), kwargs: {'name': 'primary'}
19:19:08.045932 read -> Andor args: (), kwargs: {}
19:19:08.047479 save -> None args: (), kwargs: {}
19:19:08.051042 checkpoint -> None args: (), kwargs: {}
19:19:08.051365 trigger -> Andor args: (), kwargs: {'group': 'trigger-b86e12'}
19:19:08.053808 wait -> None args: (), kwargs: {'group': 'trigger-b86e12'}
19:19:08.702118 create -> None args: (), kwargs: {'name': 'primary'}
19:19:08.702250 read -> Andor args: (), kwargs: {}
19:19:08.703764 save -> None args: (), kwargs: {}
19:19:08.705595 checkpoint -> None args: (), kwargs: {}
19:19:08.705758 trigger -> Andor args: (), kwargs: {'group': 'trigger-571046'}
19:19:08.707237 wait -> None args: (), kwargs: {'group': 'trigger-571046'}
19:19:09.410331 create -> None args: (), kwargs: {'name': 'primary'}
19:19:09.410446 read -> Andor args: (), kwargs: {}
19:19:09.411741 save -> None args: (), kwargs: {}
19:19:09.413733 checkpoint -> None args: (), kwargs: {}
19:19:09.413903 trigger -> Andor args: (), kwargs: {'group': 'trigger-bfe105'}
19:19:09.415342 wait -> None args: (), kwargs: {'group': 'trigger-bfe105'}
19:19:10.071331 create -> None args: (), kwargs: {'name': 'primary'}
19:19:10.071493 read -> Andor args: (), kwargs: {}
19:19:10.072843 save -> None args: (), kwargs: {}
19:19:10.075255 checkpoint -> None args: (), kwargs: {}
19:19:10.075467 trigger -> Andor args: (), kwargs: {'group': 'trigger-b4dd59'}
19:19:10.077603 wait -> None args: (), kwargs: {'group': 'trigger-b4dd59'}
19:19:10.790743 create -> None args: (), kwargs: {'name': 'primary'}
19:19:10.790852 read -> Andor args: (), kwargs: {}
19:19:10.792053 save -> None args: (), kwargs: {}
19:19:10.793862 close_run -> None args: (), kwargs: {'exit_status': None, 'reason': None}
19:19:10.798074 unstage -> Andor args: (), kwargs: {}
Out[9]: ('8e222e68-56b6-4224-b731-3ef9e904eadc',)