Projects/laydi
Projects
/
laydi
Archived
7
0
Fork 0
This repository has been archived on 2024-07-04. You can view files and clone it, but cannot push or open issues or pull requests.
laydi/workflows/test_workflow.py

65 lines
1.9 KiB
Python
Raw Permalink Normal View History

import gtk
from fluents import dataset, logger, plots, workflow
2007-09-03 19:51:22 +02:00
2007-09-03 18:16:39 +02:00
from scipy import array, randn, log, ones, newaxis
import cPickle
import networkx
2007-09-03 19:51:22 +02:00
class TestWorkflow (workflow.Workflow):
name = 'Test Workflow'
ident = 'test'
2007-09-03 15:22:11 +02:00
description = 'This workflow currently serves as a general testing workflow.'
2006-04-27 14:41:51 +02:00
2007-09-03 17:46:45 +02:00
def __init__(self):
workflow.Workflow.__init__(self)
2007-09-03 19:51:22 +02:00
test_stage = workflow.Stage('test', 'Test Data')
test_stage.tasks.append(TestDataTask)
test_stage.tasks.append(TestPlot)
self.stages.append(test_stage)
2007-09-03 15:22:11 +02:00
class TestDataTask(workflow.Task):
2007-09-03 17:46:45 +02:00
name = "Test data"
def __init__(self, input):
workflow.Task.__init__(self, input)
2006-05-03 13:52:54 +02:00
def run(self):
logger.log('notice', 'Injecting foo test data')
2006-10-17 15:59:31 +02:00
x = randn(500,15)
X = dataset.Dataset(x)
2007-09-03 18:16:39 +02:00
dname = X.get_dim_name()[0]
p = plots.ScatterPlot(X, X, dname, dname, '0_1', '0_2',name='scatter')
graph = networkx.XGraph()
for x in 'ABCDEF':
for y in 'ADE':
graph.add_edge(x, y, 3)
ds = dataset.GraphDataset(array(networkx.adj_matrix(graph)))
ds_plot = plots.NetworkPlot(ds)
cds = dataset.CategoryDataset(ones([3, 3]))
2007-09-03 18:16:39 +02:00
dname2 = cds.get_dim_name()[0]
ds_scatter = plots.ScatterMarkerPlot(cds, cds, dname2, dname2, '0_1', '0_2')
lp = plots.LineViewPlot(X ,major_axis=0)
2007-01-31 14:03:27 +01:00
vp = plots.VennPlot()
2007-09-03 15:22:11 +02:00
self.datasets = [p]
2007-09-03 18:16:39 +02:00
return [X, ds, p, ds_plot, ds_scatter, cds, lp, vp]
2006-04-22 02:17:22 +02:00
2007-09-03 17:50:16 +02:00
class TestPlot(workflow.Task):
name = "Test plot data"
def __init__(self, input):
workflow.Task.__init__(self, input)
def run(self):
2007-09-03 19:51:22 +02:00
#logger.log('notice', 'Injecting % dataset') %self.input[0].get_name()
X = self.input[0]
ii = X.get_dim_name()[0]
ids = X.get_identifiers(ii, indices=[0,1])
p = plots.ScatterPlot(X, X, ii, ii, ids[0], ids[1],name='scatter')
2007-09-03 17:50:16 +02:00
return [p]