Developing Building Blocks¶
This section explains the generation of new and more complex
An example of such a
BuildingBlock can be found in the Building Block documentation, as well as in the respective advanced tutorials such as the
threeway network or the
Every building block inherits from the class
BuildingBlocks which has attributes
Recommended practices for creating custom
BuildingBlocks are as follow:
Keep the class initialization as concise as possible.
Create a generation function which implements the desired connectivity.
_set_tagsas you expand the network and its functionality; it really helps to keep track of the properties of individual groups.
When running the network, add the newly generated
BuildingBlockas well as all the
sub_blocksthe network depends on.
There is a fundamental difference between the attributes
_groupsis a dictionary containing the objects specific to that
groupsis a property of the
BuildingBlockclass which returns all
_groupsincluded in the
When overwriting an existing population in one of the
sub_blocks._groups, remember to re-initialize all the
monitorsregarding that population. Which will now be specific to the parent class.
Have fun developing your own
BuildingBlocks and advancing neuroscience! :)