import numpy as np from pathlib import Path from creader import cluster_dt #[int32 frame_number][int32 n_clusters][clusters....] # typedef struct { # int16_t x; # int16_t y; # int32_t data[9]; # } Cluster ; path = Path('/mnt/sls_det_storage/moench_data/cluster_reader_test/') data = np.zeros(1, cluster_dt()) data['x'] = 1 data['y'] = 200 data['data'] = np.arange(9) #Write 10 frames with increadsing number of clusters header = np.array((135,97), dtype = np.int32) with open(path/'single_frame_97_clustrers.clust', 'wb') as f: header.tofile(f) for i in range(97): print(data) data.tofile(f) data['x'] += 1 data['y'] += 1 data['data'] = np.arange((i+1)*9,(i+2)*9) header = np.array((135,5), dtype = np.int32) with open(path/'37frames_with_5_clusters.clust', 'wb') as f: for i in range(37): header.tofile(f) header[0] += 1 for j in range(5): data['x'] = j+1 data['y'] = j+1 data['data'] = np.arange(j,j+9) print(data) data.tofile(f) #Writing out data to test noise cuts header[1] = 7 with open(path/'noise_test.clust', 'wb') as f: for i in range(10): data['x'] = 50 data['y'] = 133 data['data'][:] = 50 header.tofile(f) print(header) header[0] += 1 for j in range(7): print(data) data.tofile(f) data['x'] += 10