Support for various app and slic wrapper
This commit is contained in:
41
ext/camacquisition.py
Normal file
41
ext/camacquisition.py
Normal file
@ -0,0 +1,41 @@
|
||||
from time import sleep
|
||||
from tqdm import trange
|
||||
import h5py
|
||||
|
||||
from cam_server_client import PipelineClient
|
||||
from cam_server_client.utils import get_host_port_from_stream_address
|
||||
from bsread import source, SUB
|
||||
|
||||
|
||||
from slic.core.acquisition.acquisition import Acquisition
|
||||
class CamAcquisition(Acquisition):
|
||||
|
||||
def getConnection(self,cam):
|
||||
pipeline_client = PipelineClient()
|
||||
cam_instance_name = str(cam) + "_sp1"
|
||||
stream_address = pipeline_client.get_instance_stream(cam_instance_name)
|
||||
self.host, self.port = get_host_port_from_stream_address(stream_address)
|
||||
print(self.host,self.port)
|
||||
|
||||
def _acquire(self, filename, channels=None, data_base_dir=None, scan_info=None, n_pulses=100, **kwargs):
|
||||
print("my routine")
|
||||
print("extra kwargs:", kwargs)
|
||||
args = (filename, n_pulses, channels)
|
||||
args = ", ".join(repr(i) for i in args)
|
||||
print("acquire({})".format(args))
|
||||
print(f"dummy acquire to {filename}:")
|
||||
|
||||
# stream_host,stream_port = getPipeLine(channels[0])
|
||||
# time.wait(1)
|
||||
data= []
|
||||
with source(host=self.host, port=self.port, mode=SUB) as input_stream:
|
||||
input_stream.connect()
|
||||
for i in range(n_pulses):
|
||||
print('Camera Images', i)
|
||||
message = input_stream.receive()
|
||||
data.append(message.data.data)
|
||||
hid = h5py.File(filename,'w')
|
||||
gid = hid.create_group(channels[0])
|
||||
for key in data[0].keys():
|
||||
gid.create_dataset(key, data = [rec[key].value for rec in data])
|
||||
hid.close()
|
Reference in New Issue
Block a user