def __init__(self, name, lic=None, file=None): if file is None: self.name = name self.ntc = Netica() self.env = self.ntc.newenv(lic) self.ntc.initenv(self.env) self.net = self.ntc.newnet(name, self.env) self.nodes = [] else: self.name = name self.ntc = Netica() self.env = self.ntc.newenv(lic) self.ntc.initenv(self.env) self.net = self.ntc.opennet(self.env, file) nodelist_p = self.ntc.getnetnodes(self.net) numnode = self.ntc.lengthnodelist(nodelist_p) self.nodes = [] for i in range(numnode): nodei_p = self.ntc.nthnode(nodelist_p, i) nodename = self.ntc.getnodename(nodei_p) statename = 'init' statenames = [] istate = 0 while statename != 'error': statename = self.ntc.getnodestatename(nodei_p, istate) statenames.append(statename) istate += 1 statenames = statenames[:-1] # default: no parents and continuous: therefore not the original nodes nodei = Node(nodename, parents=[], rvname='continuous') nodei.set_node_ptr(nodei_p) nodei.set_node_state_name(statenames) self.nodes.append(nodei)
def setUp(self): from netica import Netica self.netica = Netica() self.netfilename = 'curvnet.dne' self.env = self.netica.newenv() self.netica.initenv(self.env) self.net = self.netica.opennet(self.env, self.netfilename) self.nl_p = self.netica.getnetnodes(self.net) self.netica.compilenet(self.net)
def test_opennet(self): from netica import Netica netica = Netica() netfilename = 'curvnet.dne' env = netica.newenv() netica.initenv(env) net = netica.opennet(env, netfilename) # this is another test... netica.compilenet(net) nl_p = netica.getnetnodes(net) print nl_p nnodes = netica.lengthnodelist(nl_p) print nnodes for index in range(nnodes): node_p = netica.nthnode(nl_p, index) print netica.getnodename(node_p) print netica.getnodebeliefs(node_p) print netica.getnodetype(node_p) self.assertTrue(netica)
from netica import Netica import numpy as np # initialize class ntc = Netica() # create new environment env = ntc.newenv() # initialize environment ntc.initenv(env) # create new net net_p = ntc.newnet('BNZeebrugge', env) # define nodes nodeBC1 = ntc.newnode('PeakWaterLevel', 5, net_p) ntc.setnodelevels(nodeBC1, 5, np.asarray([6.35, 7.1, 7.4, 7.8, 7.9], dtype='float64')) ntc.setnodetitle(nodeBC1, 'Peak Water Level (m)') nodeBC2 = ntc.newnode('MaxSignificantWaveHeight', 5, net_p) ntc.setnodelevels(nodeBC2, 5, np.asarray([5.2, 5.7, 5.9, 6.08, 6.2], dtype='float64')) ntc.setnodetitle(nodeBC2, 'Max. significant wave height (m)') nodeR1 = ntc.newnode('Location_Houses', 4, net_p) ntc.setnodetitle(nodeR1, 'Houses - Location') ntc.setnodestatenames(nodeR1, "Area1, Area2, Area3, Area4") ntc.setnodestatetitle(nodeR1, 0, 'Area 1 (has 283 houses)') ntc.setnodestatetitle(nodeR1, 1, 'Area 2 (has 759 houses)') ntc.setnodestatetitle(nodeR1, 2, 'Area 3 (has 383 houses)') ntc.setnodestatetitle(nodeR1, 3, 'Area 4 (has 273 houses)')