Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
10 changes: 6 additions & 4 deletions bmtk/simulator/popnet/popnetwork.py
Original file line number Diff line number Diff line change
Expand Up @@ -28,10 +28,6 @@
from bmtk.simulator.popnet import utils as poputils
from bmtk.simulator.popnet.sonata_adaptors import PopEdgeAdaptor

from dipde.internals.internalpopulation import InternalPopulation
from dipde.internals.externalpopulation import ExternalPopulation
from dipde.internals.connection import Connection


class Population(object):
def __init__(self, pop_id):
Expand Down Expand Up @@ -59,6 +55,8 @@ def record(self):
return True

def build(self):
from dipde.internals.internalpopulation import InternalPopulation

params = self._nodes[0].dynamics_params
self._dipde_obj = InternalPopulation(**params)

Expand Down Expand Up @@ -94,6 +92,8 @@ def firing_rate(self, value):
self.build(value)

def build(self, firing_rate):
from dipde.internals.externalpopulation import ExternalPopulation

if firing_rate is not None:
self._firing_rate = firing_rate

Expand Down Expand Up @@ -132,6 +132,8 @@ def add_edge(self, edge):
self._edges.append(edge)

def build(self):
from dipde.internals.connection import Connection

edge = self._edges[0]
self._dipde_conn = Connection(self._src_pop._dipde_obj, self._trg_pop._dipde_obj, edge.nsyns, edge.delay,
edge.syn_weight)
Expand Down
15 changes: 9 additions & 6 deletions bmtk/simulator/popnet/popsimulator.py
Original file line number Diff line number Diff line change
Expand Up @@ -24,11 +24,6 @@
import logging
from six import string_types

from dipde.internals.internalpopulation import InternalPopulation
from dipde.internals.externalpopulation import ExternalPopulation
from dipde.internals.connection import Connection
import dipde

from bmtk.simulator.core.simulator import Simulator
from . import config as cfg
from . import utils as poputils
Expand Down Expand Up @@ -203,12 +198,14 @@ def set_recurrent_connections(self):
self.__connection_list.append(self.__create_connection(source_pop, target_pop, edge))

def run(self, tstop=None):
from dipde import Network

# TODO: Check if cells/connections need to be rebuilt.

# Create the network
dipde_pops = [p.dipde_obj for p in self._graph.populations]
dipde_conns = [c.dipde_obj for c in self._graph.connections]
self._dipde_network = dipde.Network(population_list=dipde_pops, connection_list=dipde_conns)
self._dipde_network = Network(population_list=dipde_pops, connection_list=dipde_conns)

if tstop is None:
tstop = self.tstop
Expand All @@ -220,16 +217,22 @@ def run(self, tstop=None):
self.io.log_info("Finished simulation.")

def __create_internal_pop(self, params):
from dipde.internals.internalpopulation import InternalPopulation

# TODO: use getter methods directly in case arguments are not stored in dynamics params
# pop = InternalPopulation(**params.dynamics_params)
pop = InternalPopulation(**params.model_params)
return pop

def __create_external_pop(self, params, rates):
from dipde.internals.externalpopulation import ExternalPopulation

pop = ExternalPopulation(rates, record=False)
return pop

def __create_connection(self, source, target, params):
from dipde.internals.connection import Connection

return Connection(source, target, nsyn=params.nsyns, delays=params.delay, weights=params.weight)

def __record_rates(self):
Expand Down