Source code for bmtk.simulator.core.network_reader



[docs]class NodesReader(object): def __init__(self): self._has_internal_nodes = False self._has_virtual_nodes = False @property def name(self): raise NotImplementedError() @property def internal_nodes_only(self): return self._has_internal_nodes and not self._has_virtual_nodes @property def virtual_nodes_only(self): return self._has_virtual_nodes and not self._has_internal_nodes @property def mixed_nodes(self): return self._has_internal_nodes and self._has_virtual_nodes
[docs] def initialize(self, network): raise NotImplementedError()
[docs] @classmethod def load(cls, **properties): raise NotImplementedError()
[docs]class EdgesReader(object): unknown = 0 recurrent = 0 virtual = 1 mixed = 2 def __init__(self): self._connection_type = -1 @property def recurrent_connections(self): return self._connection_type == self.recurrent @property def virtual_connections(self): return self._connection_type == self.virtual @property def mixed_connections(self): return self._connection_type == self.mixed @property def source_nodes(self): raise NotImplementedError() @property def target_nodes(self): raise NotImplementedError()
[docs] def set_connection_type(self, src_pop, trg_pop): if src_pop.internal_nodes_only and trg_pop.internal_nodes_only: self._connection_type = self.recurrent elif src_pop.virtual_nodes_only and trg_pop.internal_nodes_only: self._connection_type = self.virtual else: self._connection_type = self.mixed
[docs] def initialize(self, network): raise NotImplementedError()