Web-based GUI for building and visualizing Nengo models.
Project description
nengo_gui
HTML5 interactive visualizer for Nengo. This lets you see the structure of a Nengo model, plot spiking activity and decoded representations, and adjust the inputs while the model is running.
Requirements
Python (tested with Python 2.7 and Python 3.4)
Nengo (which also requires NumPy)
Installation
The simplest way to install is with the standard Python installation system:
pip install nengo_gui
If you would like access the the development version of nengo_gui, you can download it from guthub:
git clone https://github.com/nengo/nengo_gui
cd nengo_gui
python setup.py develop --user
Running nengo_gui
There are two ways to run nengo_gui. First, you can use it from the command line by running the installed script:
nengo_gui
If you specify a file to load, nengo_gui will do so:
nengo_gui myfile.py
Alternatively, you can start nengo_gui manually from within your code. To do so, add this to the bottom of your file that defines your Nengo model.
import nengo_gui
nengo_gui.GUI(__file__).start()
Basic usage
The graph of the Nengo network should appear. Rectangles are nengo.Nodes, ellipses are nengo.Ensembles, and rounded rectangles are nengo.Networks.
Items can be dragged to move them and resized by dragging their edge or via the scroll wheel.
To start (or continue) the simulation, click the play button in the lower right. A spinning gear icon indicates the model is in the process of being built (or re-built after new graphs are added).
Clicking on an item will show a menu of options, depending on what you have clicked on. Here are some of the standard options for network items:
value: show a graph of the decoded output value over time
xy-value: show a state-space plot of two decoded values against each other
spikes: show the spiking activity of the nengo.Ensemble
slider: show sliders that let you adjust the value in a nengo.Node
expand/collapse: reveal or hide the insides of a nengo.Network
Once you have graphs, you can also click on them to adjust their options. For example:
set range: adjust the limits of the graph
show label/hide label: whether to show the title at the top of the graph
remove: get rid of the graph
The graphs record their data from previous time steps. You can show this previous data by dragging the transparent area in the time axis at the bottom (beside the play button).
Release History
0.1.5 (November 3, 2015)
Added a set of tutorials to the built-in examples.
Added cross-hairs when hovering over plots.
Added several new types of plots, including a firing pattern plot, a similarity plot for SPA networks, and a plot for Compare networks.
Added the ability to implement custom HTML plots. See the built-in example basics/html.py.
Extended SPA override capabilities to all SPA networks.
nengo_gui.Viz has been renamed to nengo_gui.GUI.
Major refactoring of back-end code.
Many bug fixes and look-and-feel improvements.
0.1.4 (June 16, 2015)
Spike rasters are now much faster.
Added a reset button that restarts a simulation.
Code editor now has a border, making it easier to resize.
Can now search in the code editor (with Ctrl+f).
When an error occurs in a model, a console will display with error details. Printed values also show up in this console, for easier debugging.
Can now import from other files in the same directory as a Nengo model.
Readonly files are handled safely, instead of crashing.
Several minor aestheic improvements and bug fixes.
0.1.3 (June 10, 2015)
Fixed another Python 3 compatibility issue with autolayouts.
Fixed a bug that could cause a crash when reloading config files.
0.1.2 (June 9, 2015)
Fixed a Python 3 compatibility issue with semantic pointer graphs.
0.1.1 (June 8, 2015)
A large number of stability and user experience fixes. The first release was a bit buggy, but this should be pretty stable.
Includes many more examples out of the box.
0.1.0 (June 5, 2015)
Initial release of Nengo GUI! Thanks to all of the contributors for making this possible!
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.