kopia lustrzana https://github.com/OpenDroneMap/ODM
35 wiersze
1023 B
Python
35 wiersze
1023 B
Python
import ecto
|
|
import numpy as np
|
|
class ClusterDetector(ecto.Cell):
|
|
def declare_params(self, params):
|
|
params.declare("n", "Max number of clusters.", 10)
|
|
|
|
def declare_io(self, params, inputs, outputs):
|
|
outputs.declare("clusters", "Clusters output. list of tuples", [])
|
|
|
|
def process(self, inputs, outputs):
|
|
clusters = []
|
|
for i in range(int(np.random.uniform(0, self.params.n))):
|
|
clusters.append( (i, 'c%d'%i) )
|
|
outputs.clusters = clusters
|
|
|
|
class ClusterPrinter(ecto.Cell):
|
|
def declare_io(self, params, inputs, outputs):
|
|
inputs.declare("clusters", "Clusters input")
|
|
|
|
def process(self, inputs, outputs):
|
|
print "Clusters: ",
|
|
for c in inputs.clusters:
|
|
print c,
|
|
print "\n"
|
|
|
|
def app():
|
|
cd = ClusterDetector(n=20)
|
|
cp = ClusterPrinter()
|
|
plasm = ecto.Plasm()
|
|
plasm.connect(cd['clusters'] >> cp['clusters'])
|
|
sched = ecto.Scheduler(plasm)
|
|
sched.execute(niter=3)
|
|
|
|
if __name__ == "__main__":
|
|
app() |