def arrayDimensionOrder(self): from numpy import int16, zeros from random import randint ptree = Tree('seg_tree', -1, 'NEW') ptree.addNode('IMM') ptree.write() ptree = Tree('seg_tree', -1) ptree.createPulse(1) ptree = Tree('seg_tree', 1) node = ptree.getNode('IMM') WIDTH = 640 HEIGHT = 480 currFrame = zeros(WIDTH * HEIGHT, dtype=int16) currTime = float(0) for i in range(0, WIDTH): for j in range(0, HEIGHT): currFrame[i * HEIGHT + j] = randint(0, 255) currTime = float(0) startTime = Float32(currTime) endTime = Float32(currTime) dim = Float32Array(currTime) segment = Int16Array(currFrame) segment.resize([1, HEIGHT, WIDTH]) shape = segment.getShape() node.makeSegment(startTime, endTime, dim, segment) retShape = node.getShape() self.assertEqual(shape[0], retShape[0]) self.assertEqual(shape[1], retShape[1]) self.assertEqual(shape[2], retShape[2])
def copy_tree(shot): tree_raw = Tree('exl50', shot) tree_cop = Tree('exl50_copy', shot, 'NEW') pools = ["AI", "FBC"] for pool in pools: # nodes_list = [] nodes_array = tree_raw.getNode(pool).getDescendants() # nodes_list.extend(nodes_array) pool_nodes = [node.getNodeName() for node in nodes_array] tree_raw.setDefault(tree_raw.getNode(pool)) tree_cop.setDefault(tree_cop.addNode(pool, "STRUCTURE")) for node in pool_nodes: tree_cop.addNode(node, "SIGNAL").addTags(node) # print(node) try: data = tree_raw.getNode(node).getData() tree_cop.getNode(node).putData(data) print(str(shot) + ':' + node) except Exception as e: pass tree_raw.setDefault(tree_raw.getNode(r"\EXL50::TOP")) tree_cop.setDefault(tree_cop.getNode(r"\EXL50_COPY::TOP")) # tree_raw.setDefault(node.getParent()) # tree_cop.setDefault(node.getParent()) tree_cop.write()
def setTransitionTimes(treeName, nchan, delta, stlpath): #This function is kind of a Unit Test. tree = Tree(treeName, -1, 'EDIT') print('Tree Name: ', treeName) nchan = int(nchan) current = 0.0 delta = float(delta) # sec end = 40.0 # sec times = np.arange(current, end, delta) transitions1 = np.array([[times[1], int(0)], [times[2], int(1)], [times[3], int(0)], [times[4], int(1)], [times[5], int(0)], [times[6], int(1)], [times[8], int(1)], [times[9], int(1)], [times[10], int(0)], [times[11], int(1)], [times[12], int(0)], [times[13], int(1)], [times[14], int(0)], [times[15], int(1)], [times[16], int(0)], [times[17], int(1)], [times[18], int(0)], [times[19], int(1)], [times[30], int(0)]]) transitions2 = np.array([[times[0], int(0)], [times[3], int(1)], [times[7], int(0)]]) for i in range(nchan): t_times = tree.getNode('ACQ2106_WRPG:OUTPUT_%3.3d' % (i + 1)) if (i % 2) == 0: #Even Channels t_times.record = transitions1 else: t_times.record = transitions2 tree.write() tree.close() set_stl(treeName, times, nchan, stlpath)