Property Control

The property control is a powerful new type of node that allows you to control any property of any object in the system directly through the neural network. You can add a property control to your network by dragging its icon from the toolbox onto the diagram. You can then draw lines from neurons to this structure. This item cannot be used as an input to other items in the system, only as an output to them. However, before you can connect the property control to anything you must first tell it what object and property you would like to change.  Select the property control node to view its properties. These are shown in figure 1 below. There are two properties called "Linked Object," and "Linked Property." They are both drop downs. You first click on the linked object and it will give you a tree-view list of all objects in the system that you can manipulate. Select the object you need. Once that has been done then you can select the linked property. This will provide a list of all the properties that can be manipulated for that object. Select the one you want to use.

After you have set the type of object and property then you can now connect a neuron to it in order to control that property. However, there are still a few configuration properties that must be setup. The initial value is the value you want set for this property when the simulation first starts. The final value is the value you want set when the simulation end. Threshold determines when that property is actually set. For example, lets say you are setting the visibility of another object based on a firing frequency of a neuron. This is a boolean operation. It is either visible or not. The firing frequency of a firing rate neuron ranges between 0 and 1. So if you use the default threshold of 0.5 then as long as the firing frequency is below 0.5 then the visibility will be set to false. Once it goes above 0.5 it will be set to true. One of the important jobs of this threshold value is to prevent the software from having to try and set the property on every single time step. Setting a property is a relatively expensive operation, so it is not something you want to do constantly. By setting a threshold we can limit it to edge cases, and ensure that it is only done every now and then instead of constantly.


Figure 1. Property control node properties


However, properties that can be controlled are not limited to boolean items. You can also set regular floating point values. As an example, lets change the conductance value of a neuron based on the firing of a different neuron. To do that you need to select the target neuron as the linked object, and select its conductance as the linked property. Set the initial and final values to some desired starting conductance. Then add a connection from your controlling neuron to the property control. We will need to adjust the adapter gain settings for this example. You want to adjust the gain settings so it is in a linear range between two valid conductance values. So for example, as the firing frequency of the controlling neuron varies between 0 and 1 it will vary the output of the adapter between 5 and 25 nf. You can do this by setting c=20nf and d=5nf in the gain. Finally, we need to set the threshold to be in 0.5 nf increments. If you leave it with the default of 0.5 then it will never reach that value, and will never change the property. You can see the output of the modulated neuron below. Notice how the response of the membrane voltage changes even though the same stimulus is applied to it.


Figure 2. Modulation of neuron conductance using a property control node