@Override
	public void callAction(String args) {
		GraphViz gv = new GraphViz();
		gv.addln(gv.start_graph());

		String perceptronName;
		System.out.print("Name of perceptron to dump: ");
		perceptronName = ui.inputToString();

		Perceptron perceptron = ds.getPerceptron(perceptronName);
		if (perceptron == null) {
			ui.printToConsole("Error: There is no Perceptron named "
					+ perceptronName);
			return;
		}
		ui.printToConsole("The Perceptron '" + perceptronName + "' has "
				+ perceptron.getLayerCount() + " Layers and "
				+ perceptron.getNeuronCount() + " Neurons.\n");

		for (int i = 0; i < perceptron.getLayerCount(); i++) {
			for (int s = 0; s < perceptron.getNeuronsPerLayerCount(i); s++) {
				Neuron src = perceptron.getNeuron(i, s);
				List<Axon> axons = src.getMyDendritesAsList();
				for (int j = 0; j < axons.size(); j++) {
					Neuron source = axons.get(j).getSource();
					Neuron target = axons.get(j).getTarget();
					/* It's recommended to install graphViz version >= 2.29 to get
					 * the view of the activationValue working.
					 */
					double axonWeight = axons.get(j).getWeight();
					double sourceActivationValue = source.getActivationValue();
					double targetActivationValue = 	target.getActivationValue();
					axonWeight = roundWegiht(axonWeight);
					sourceActivationValue = roundWegiht(sourceActivationValue);
					targetActivationValue = roundWegiht(targetActivationValue);
					
					gv.addln("node [color=red, fontcolor=red]");
					gv.addln("forcelabels=true");
					
					gv.addln(perceptron.getNeuronName(source)	+ " [xlabel="+sourceActivationValue+"];");
					gv.addln(perceptron.getNeuronName(target)	+ " [xlabel="+targetActivationValue+", color=red];");
					gv.addln(perceptron.getNeuronName(source)
					+ " -> "
					+ perceptron.getNeuronName(target)
					+ "[ label="
					+ String.valueOf(axonWeight) + " ];");
				}
			}
		}

		gv.addln(gv.end_graph());

		String type = "jpg";
		File out = new File("neuronalNet." + type); // out.gif in this example
		gv.writeGraphToFile(gv.getGraph(gv.getDotSource(), type), out);

		JFrame frame = new JFrame("Display image");
		Panel panel = new ShowImage(out);
		frame.getContentPane().add(panel);
		frame.setSize(800, 800);
		frame.setVisible(true);
	}