import nxsdk.net.net from dft_loihi.visualization.plotting import Plotter from dft_loihi.dft.field import Field from dft_loihi.dft.kernel import SelectiveKernel from dft_loihi.inputs.simulated_input import GaussPiecewiseStaticInput from dft_loihi.dft.util import connect # set up the network net = nxsdk.net.net.NxNet() field_domain = [-5, 5] field_shape = 15 gauss_input1 = GaussPiecewiseStaticInput("input 1", net, domain=field_domain, shape=field_shape) gauss_input1.add_spike_rate(0, -2.5, 1.5, 100) gauss_input1.add_spike_rate(800, -2.5, 1.5, 100) gauss_input1.add_spike_rate(11200, -2.5, 1.5, 100) gauss_input1.add_spike_rate(800, -2.5, 1.5, 100) gauss_input1.add_spike_rate(0, -2.5, 1.5, 100) gauss_input1.create() gauss_input2 = GaussPiecewiseStaticInput("input 2", net, domain=field_domain, shape=field_shape) gauss_input2.add_spike_rate(0, 2.5, 1.5, 100) gauss_input2.add_spike_rate(800, 2.5, 1.5, 100) gauss_input2.add_spike_rate(11200, 2.5, 1.5, 100) gauss_input2.add_spike_rate(800, 2.5, 1.5, 100) gauss_input2.add_spike_rate(0, 2.5, 1.5, 100) gauss_input2.create()
homogeneous_input.add_spike_rate(0, 100) homogeneous_input.create() node = Node("node", net, number_of_neurons=neurons_per_node, tau_voltage=2, tau_current=10, self_excitation=0.08) connect(homogeneous_input, node, 0.5, mask="one-to-one") field_domain = [-5, 5] field_shape = 15 gauss_input = GaussPiecewiseStaticInput("input to field", net, domain=field_domain, shape=field_shape) gauss_input.add_spike_rate(0, 2.5, 1.5, 100) gauss_input.add_spike_rate(800, 2.5, 1.5, 300) gauss_input.add_spike_rate(0, 2.5, 1.5, 100) gauss_input.create() kernel = MultiPeakKernel(amp_exc=0.47, width_exc=2.5, amp_inh=-0.35, width_inh=3.85, border_type="zeros") field = Field("field", net, domain=field_domain,