示例#1
0
 def test():
     from MDSplus import Tree, Int64, Int64Array, Int32Array, tdi
     Tree.setTimeContext()  # test initPinoDb
     self.assertEqual(Tree.getTimeContext(), (None, None, None))
     with Tree(self.tree, self.shot, 'NEW') as ptree:
         node = ptree.addNode('S')
         ptree.write()
     node.tree = Tree(self.tree, self.shot)
     for i in range(-9, 9, 3):
         d = Int64Array(range(3)) * 10 + i * 10
         v = Int32Array(range(3)) + i
         node.beginSegment(d[0], d[2], d, v)
     self.assertEqual(
         node.getSegmentList(20, 59).dim_of(0).tolist(), [0, 30])
     self.assertEqual(
         node.getSegmentList(20, 60).dim_of(0).tolist(), [0, 30, 60])
     self.assertEqual(
         node.getSegmentList(21, 60).dim_of(0).tolist(), [30, 60])
     self.assertEqual(node.record.data().tolist(), list(range(-9, 9)))
     node.tree.setTimeContext(Int64(30), Int64(70), Int64(20))
     Tree.setTimeContext(1, 2, 3)
     self.assertEqual(node.tree.getTimeContext(), (30, 70, 20))
     self.assertEqual(Tree.getTimeContext(), (1, 2, 3))
     self.assertEqual(node.record.data().tolist(),
                      [3, 5] + [6])  # delta is applied per segment
     node.tree.setTimeContext()
     self.assertEqual(node.tree.getTimeContext(), (None, None, None))
     self.assertEqual(node.record.data().tolist(), list(range(-9, 9)))
     self.assertEqual(Tree.getTimeContext(), (1, 2, 3))
     tdi('treeopen($,$)', self.tree, self.shot)
     Tree.setTimeContext(1, 2, 3)  # test privacy to Tree
     self.assertEqual(Tree.getTimeContext(), (1, 2, 3))
     tdi('treeopennew($,$)', self.tree, self.shot + 1)
     self.assertEqual(Tree.getTimeContext(), (None, None, None))
     Tree.setTimeContext(2, 3, 4)  # test privacy to Tree
     self.assertEqual(Tree.getTimeContext(), (2, 3, 4))
     tdi('treeopen($,$)', self.tree, self.shot)
     self.assertEqual(Tree.getTimeContext(), (1, 2, 3))
     tdi('treeclose()')
     self.assertEqual(Tree.getTimeContext(), (2, 3, 4))
     tdi('treeclose()', self.tree, self.shot)
     self.assertEqual(Tree.getTimeContext(), (1, 2, 3))
示例#2
0
# t.cleanDatafile()
# t.compressDatafile()
fn = t.getFileName()
t2 = t.copy()
# t.close()
# top = t.top()
# ad = t.addDevice('SUB3')
# an = t.addNode('SUB4')
# createPulse(1)
dir = t.dir()
# gc = t.getCurrent('SUB1')
gd = t.getDefault()
gn = t.getNode("SUB1")
gnwi_iterator = t.getNodeWildIter('***')
gnw_array = t.getNodeWild('***')
gtc_tuple = t.getTimeContext()
im_bool = t.isModified()
# sd_tn = t.setDefault("SUB1")

# ----------------------- Static  Methods -----------------------
# gvd_str = t.getVersionDate()
# --------------------------- TreeNode Methods ---------------------------
# from MDSplus import TreeNode
tn = t.getNode("SUB1")
c_tn = tn.copy()
opn_str = tn.ORIGINAL_PART_NAME()
pn_str = tn.PART_NAME()
# cn = tn.children_nids()
# mn = tn.member_nids()
# desc = tn.descendants()
# nod_i = tn.number_of_descendants()g
示例#3
0
    def time_context(self):
        Tree.setTimeContext()  # test initPinoDb
        self.assertEqual(Tree.getTimeContext(), (None, None, None))
        with Tree(self.tree, self.shot + 5, 'NEW') as ptree:
            node = ptree.addNode('S')
            ptree.write()
        ptree.normal()
        for i in range(-90, 90, 30):
            d = Int64Array(range(30)) * 10 + i * 10
            v = Float32Array(range(30)) + i
            node.makeSegment(d[0], d[29], d, v)
        self.assertEqual(
            node.getSegmentList(200, 599).dim_of(0).tolist(), [0, 300])
        self.assertEqual(
            node.getSegmentList(200, 600).dim_of(0).tolist(), [0, 300, 600])
        self.assertEqual(
            node.getSegmentList(291, 600).dim_of(0).tolist(), [300, 600])
        self.assertEqual(node.record.data().tolist(), list(range(-90, 90)))

        sig = node.getXYSignal(xmin=0., xmax=3e-8, num=5)
        self.assertEqual(sig.data().tolist(), [0, 1, 2, 3])
        self.assertEqual(sig.dim_of().data().tolist(), [0, 10, 20, 30])

        node.tree.setTimeContext(Int64(300), Int64(700), Int64(150))
        Tree.setTimeContext(1, 2, 3)
        self.assertEqual(Tree.getTimeContext(), (1, 2, 3))
        self.assertEqual(node.tree.getTimeContext(), (300, 700, 150))

        set_default_resample_mode("m")  # minmax
        sig = node.record
        self.assertEqual(sig.data().tolist(), [30, 44, 45, 59, 60, 74])
        self.assertEqual(sig.dim_of().data().tolist(),
                         [375, 375, 525, 525, 675, 675])

        set_default_resample_mode("i")  # interpolation
        sig = node.record
        self.assertEqual(sig.data().tolist(), [30, 45, 60])
        self.assertEqual(sig.dim_of().data().tolist(), [300, 450, 600])

        node.setExtendedAttribute("ResampleMode", "Average")
        sig = node.record
        self.assertEqual(sig.data().tolist(), [37, 52, 67])
        self.assertEqual(sig.dim_of().data().tolist(), [375, 525, 675])

        node.setExtendedAttribute("ResampleMode", "MinMax")
        sig = node.record
        self.assertEqual(sig.data().tolist(), [30, 44, 45, 59, 60, 74])
        self.assertEqual(sig.dim_of().data().tolist(),
                         [375, 375, 525, 525, 675, 675])

        node.setExtendedAttribute("ResampleMode", "INTERP")
        sig = node.record
        self.assertEqual(sig.data().tolist(), [30, 45, 60])
        self.assertEqual(sig.dim_of().data().tolist(), [300, 450, 600])

        node.setExtendedAttribute("ResampleMode", "Previous")
        sig = node.record
        self.assertEqual(sig.data().tolist(), [30, 44, 60])
        self.assertEqual(sig.dim_of().data().tolist(), [300, 450, 600])

        node.setExtendedAttribute("ResampleMode", "Closest")
        sig = node.record
        self.assertEqual(sig.data().tolist(), [30, 45, 60])
        self.assertEqual(sig.dim_of().data().tolist(), [300, 450, 600])

        node.tree.setTimeContext()
        self.assertEqual(node.tree.getTimeContext(), (None, None, None))
        self.assertEqual(node.record.data().tolist(), list(range(-90, 90)))
        self.assertEqual(Tree.getTimeContext(), (1, 2, 3))
        tdi('treeopen($,$)', self.tree, self.shot + 5)
        Tree.setTimeContext(1, 2, 3)  # test privacy to Tree
        self.assertEqual(Tree.getTimeContext(), (1, 2, 3))
        tdi('treeopennew($,$)', self.tree, self.shot + 6)
        self.assertEqual(Tree.getTimeContext(), (None, None, None))
        Tree.setTimeContext(2, 3, 4)  # test privacy to Tree
        self.assertEqual(Tree.getTimeContext(), (2, 3, 4))
        tdi('treeopen($,$)', self.tree, self.shot + 5)
        self.assertEqual(Tree.getTimeContext(), (1, 2, 3))
        tdi('treeclose()')
        self.assertEqual(Tree.getTimeContext(), (2, 3, 4))
        tdi('treeclose()')
        self.assertEqual(Tree.getTimeContext(), (2, 3, 4))