コード例 #1
0
ファイル: main.py プロジェクト: gregoryenriquez/neuro
    def __init__(self, *args, **kwargs):
        braindata = kwargs.get("braindata", None)
        if braindata is None:
            print("Intializing brain...")
            print("Neuron count: {0}".format(args[0]))
            print("Clusters: {0}".format(args[1]))
            self.num_neurons = args[0]
            self.num_clusters = args[1]
            self.max_value = args[2]

            for n in xrange(self.num_clusters):
                x = randrange(0, self.max_value)
                y = randrange(0, self.max_value)
                z = randrange(0, self.max_value)
                self.clusters.insert(len(self.clusters), Cluster(x, y, z, n))

        else:
            nodesfile = braindata + "/neurons.csv"
            clustersfile = braindata + "/clusters.csv"
            edgesfile = braindata + "/edges.csv"

            with open(nodesfile, "r") as nfile:
                self.num_neurons = nfile.readline().strip() # read first line count in
                for line in nfile:
                    line = line.strip()
                    ndata = line.split(", ")
                    self.neurons.append(Neuron(int(ndata[1]), int(ndata[2]), int(ndata[3]), int(ndata[0]), int(ndata[4])))

            with open(clustersfile, "r") as cfile:
                self.num_clusters = cfile.readline().strip() # read first line count in
                for line in cfile:
                    line = line.strip()
                    cdata = line.split(", ")
                    temp_cluster = Cluster(float(cdata[1]), float(cdata[2]), float(cdata[3]), int(cdata[0]))
                    for neuron in self.neurons:
                        # print(neuron.info())
                        if int(cdata[0]) == int(neuron.get_cluster()):
                            temp_cluster.add_neuron(neuron)
                    self.clusters.insert(len(self.clusters), temp_cluster)

            with open(edgesfile, "r") as efile:
                efile.readline().strip() # dump edges count
                for line in efile:
                    line = line.strip()
                    edata = line.split(", ")
                    self.edges.append([int(edata[0]), int(edata[1])])