import pydoocs
pydoocs.__version__
'3.0.0'
address = "FLASH.FEL/ADC.ADQ.BL1/EXP1.CH00/CH00.DAQ.TD"
pydoocs.read(address)["data"].shape
(60000, 2)
start = 10000 # not implemented in DOOCS server
pydoocs.read(address, parameters=[-1, start, -1, -1])["data"].shape
(60000, 2)
increment = 1000
pydoocs.read(address, parameters=[-1, -1, increment, -1])["data"].shape
(59, 2)
elements = 100
pydoocs.read(address, parameters=[-1, -1, -1, elements])["data"].shape
(100, 2)
address = "TEST.DOOCS/SINGENERATOR/SIN/DATA.TD"
pydoocs.read(address)["data"].shape
(2048, 2)
start = 1000
pydoocs.read(address, parameters=[-1, start, -1, -1])["data"].shape
(1048, 2)
increment = 100
pydoocs.read(address, parameters=[-1, -1, increment, -1])["data"].shape
(20, 2)
elements = 10
pydoocs.read(address, parameters=[-1, -1, -1, elements])["data"].shape
(10, 2)
from time import time
import numpy as np
import matplotlib.pyplot as plt
address = "FLASH.FEL/ADC.ADQ.BL1/EXP1.CH00/CH00.DAQ.TD"
elements = list(range(0,60000,100))
durations = []
for element in elements:
start_time = time()
pydoocs.read(address, parameters=[-1, -1, -1, element])
duration = time() - start_time
durations.append(duration*1000)
fig = plt.figure(figsize=(8,8))
plt.plot(elements,durations,"o")
plt.xlabel("number of elements")
plt.ylabel("readout (ms)")
Text(0, 0.5, 'readout (ms)')