Skip to content

Commit

Permalink
Handles new method for Module.outputs
Browse files Browse the repository at this point in the history
  • Loading branch information
tcstewar committed Aug 11, 2017
1 parent 255294a commit 7a877a8
Show file tree
Hide file tree
Showing 3 changed files with 27 additions and 6 deletions.
5 changes: 4 additions & 1 deletion nengo_gui/components/pointer.py
Original file line number Diff line number Diff line change
Expand Up @@ -45,7 +45,10 @@ def __init__(self, obj, **kwargs):

def add_nengo_objects(self, page):
with page.model:
output = self.obj.outputs[self.target][0]
if self.target.startswith('<'):
output = getattr(self.obj, self.target[1:-1])
else:
output = self.obj.outputs[self.target][0]
self.node = nengo.Node(self.gather_data,
size_in=self.vocab_out.dimensions,
size_out=self.vocab_out.dimensions)
Expand Down
23 changes: 19 additions & 4 deletions nengo_gui/components/spa_plot.py
Original file line number Diff line number Diff line change
Expand Up @@ -17,7 +17,11 @@ def __init__(self, obj, **kwargs):
self.obj = obj
self.data = collections.deque()
self.target = kwargs.get('args', 'default')
self.vocab_out = obj.outputs[self.target][1]
if self.target.startswith('<'):
target_obj = getattr(obj, self.target[1:-1])
self.vocab_out = obj.get_output_vocab(target_obj)
else:
self.vocab_out = obj.outputs[self.target][1]

def attach(self, page, config, uid):
super(SpaPlot, self).attach(page, config, uid)
Expand All @@ -37,7 +41,18 @@ def applicable_targets(obj):
targets = []
if (isinstance(obj, spa.module.Module) or
(nengo_spa is not None and isinstance(obj, nengo_spa.Network))):
for target_name, (obj, vocab) in obj.outputs.items():
if vocab is not None:
targets.append(target_name)

if hasattr(obj, 'outputs'):
for target_name, (obj, vocab) in obj.outputs.items():
if vocab is not None:
targets.append(target_name)
elif hasattr(obj, 'output'):
# TODO: check for other outputs than obj.output
try:
v = obj.get_output_vocab(obj.output)
if v is not None:
targets.append('<output>')
except KeyError:
print('no output vocab for %s' % obj)

return targets
5 changes: 4 additions & 1 deletion nengo_gui/components/spa_similarity.py
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,10 @@ def __init__(self, obj, **kwargs):

def add_nengo_objects(self, page):
with page.model:
output = self.obj.outputs[self.target][0]
if self.target.startswith('<'):
output = getattr(self.obj, self.target[1:-1])
else:
output = self.obj.outputs[self.target][0]
self.node = nengo.Node(self.gather_data,
size_in=self.vocab_out.dimensions)
self.conn = nengo.Connection(output, self.node, synapse=0.01)
Expand Down

0 comments on commit 7a877a8

Please sign in to comment.