コード例 #1
0
def test_tree_dump_load():
    """Dump and load Trees using pickle and compare results"""
    from openalea.mtg import treestats
    flist = [lambda x: g.node(x).Name1, lambda x: g.node(x).Name2]
    T1 = treestats.extract_trees(g, 2, lambda x: True, flist)
    import tempfile
    code, filename = tempfile.mkstemp()
    T1.PickleDump(filename)
    T2 = trees.PickleLoad(filename)
    os.remove(filename)
    
    msg1 = "Number of saved and dumped trees do not match"
    assert T1.NbTrees() == T2.NbTrees(), msg1
    for t in range(T1.NbTrees()):
        msg1 = "Saved and dumped trees n. " 
        msg1 += str(t) + " do not match"
        assert str(T1.Tree(t)) == str(T2.Tree(t)), msg2

    return T1, T2
コード例 #2
0
def test_tree_dump_load():
    """Dump and load Trees using pickle and compare results"""
    from openalea.mtg import treestats
    flist = [lambda x: g.node(x).Name1, lambda x: g.node(x).Name2]
    T1 = treestats.extract_trees(g, 2, lambda x: True, flist)
    import tempfile
    code, filename = tempfile.mkstemp()
    T1.PickleDump(filename)
    T2 = trees.PickleLoad(filename)
    os.remove(filename)

    msg1 = "Number of saved and dumped trees do not match"
    assert T1.NbTrees() == T2.NbTrees(), msg1
    for t in range(T1.NbTrees()):
        msg1 = "Saved and dumped trees n. "
        msg1 += str(t) + " do not match"
        assert str(T1.Tree(t)) == str(T2.Tree(t)), msg2

    return T1, T2
コード例 #3
0
for v in range(2):
    g.add_child(6,14+2*v,edge_type='+')
for v in range(4):
    g.add_child(8,18+2*v,edge_type='+')
g.add_child(24,26,edge_type='<')
g.add_child(24,28,edge_type='+')

for v in range(13, 25):
    mtgvtx += [g.add_component(mtgroots[1], vtxlist[v])]
g.add_child(30,32,edge_type='<')
for v in range(3):
    g.add_child(30,34+2*v,edge_type='+')
g.add_child(34,40,edge_type='<')
for v in range(2):
    g.add_child(34,42+2*v,edge_type='+')
for v in range(4):
    g.add_child(44,46+2*v,edge_type='+')
g.add_property("Name1")
g.add_property("Name2")
for v in mtgvtx:
    g.node(v).Name1 = v
    g.node(v).Name2 = 52-v
from openalea.mtg import treestats
flist = [lambda x: g.node(x).Name1, lambda x: g.node(x).Name2]
T = treestats.extract_trees(g, 2, lambda x: True, flist)
T.PickleDump("tree.pkl")
T2 = trees.PickleLoad("tree.pkl")
print T2.NbTrees()
T2.Tree(0).Display()