コード例 #1
0
    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])
コード例 #2
0
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()
コード例 #3
0
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)