SpineCreator Annotations
SpineCreator stores information about the 2D layout of networks, the 3D layout of neurons, the 2D routing of inputs and projections, and python scripts used to generate some ConnectionList data, as Annotations using the new SpineML Annotations tags. Annotations about an object (population/projection etc…) are stored inside that tag, and SpineCreator will respect existing Annotations in the tags it modifies. In order for other software to be built that can utilise the SpineCreator information we present a guide to the tags and information that can be stored in Annotations through SpineCreator.
Population
An annotations tag within a Population stores the following information.
<LL:Annotation>
<SpineCreator>
<xPos value="-11.2353"/>
<yPos value="12.5792"/>
<animSpeed value="0.2"/>
<aspectRatio value="1.66667"/>
<colour red="0" green="0" blue="0"/>
<size value="1"/>
<tag value="2"/>
<x3D value="0"/>
<y3D value="0"/>
<z3D value="0"/>
<is_visualised value="0"/>
</SpineCreator>
</LL:Annotation>
xPos
Contains |
Description |
@value::float |
The 2D X position of the Population |
yPos
Contains |
Description |
@value::float |
The 2D Y position of the Population |
animSpeed
Contains |
Description |
@value::float |
The speed that a moved Population follows the mouse cursor |
aspectRatio
Contains |
Description |
@value::float |
The ratio of the width to the height of the Population icon |
colour
Contains |
Description |
@red::unit |
The red component of the Population icon colour (0:255) |
@green::unit |
The green component of the Population icon colour (0:255) |
@blue::unit |
The blue component of the Population icon colour (0:255) |
size
Contains |
Description |
@value::float |
The size of the Population icon |
tag
Contains |
Description |
@value::int |
Not currently used by SpineCreator |
x3D
Contains |
Description |
@value::int |
The initial 3D X offset for drawing the neurons in the Population in 3D space |
y3D
Contains |
Description |
@value::int |
The initial 3D Y offset for drawing the neurons in the Population in 3D space |
z3D
Contains |
Description |
@value::int |
The initial 3D Z offset for drawing the neurons in the Population in 3D space |
Projection
An annotations tag within a Projection stores the following information.
<LL:Annotation>
<SpineCreator>
<DrawOptions style="0" showlabel="0"/>
<start x="9.27878" y="7.23497"/>
<curves>
<curve>
<C1 xpos="9.4914" ypos="7.23497"/>
<C2 xpos="9.4914" ypos="7.22533"/>
<end xpos="9.56297" ypos="7.22533"/>
</curve>
</curves>
</SpineCreator>
</LL:Annotation>
DrawOptions
Contains |
Description |
@style::int |
Identifies the style used to draw the Projection in SpineCreator |
@showlabel::bool |
Used to indicate if a label describing the Projection type should be displayed |
start
Contains |
Description |
@x::float |
The X start point of the bezier curves used to describe the 2D form of the Projection |
@y::float |
The Y start point of the bezier curves used to describe the 2D form of the Projection |
curves
Contains |
Description |
curve [1:…] |
Container for the bezier curve points used to describe the 2D form of the Projection |
curve
Contains |
Description |
C1 [1] |
Bezier cubic curve C1 control point (See Qt documentation for QPainterPath::cubicTo for more details) |
C2 [1] |
Bezier cubic curve C2 control point (See Qt documentation for QPainterPath::cubicTo for more details) |
end [1] |
Bezier cubic curve end point (See Qt documentation for QPainterPath::cubicTo for more details) |
C1
Contains |
Description |
@xpos::float |
X location of C1 bezier point |
@ypos::float |
Y location of C1 bezier point |
C2
Contains |
Description |
@xpos::float |
X location of C2 bezier point |
@ypos::float |
Y location of C2 bezier point |
end
Contains |
Description |
@xpos::float |
X location of end bezier point |
@ypos::float |
Y location of end bezier point |
An annotations tag within a Input stores the following information.
<LL:Annotation>
<SpineCreator>
<start x="9.21702" y="5.48872"/>
<curves>
<curve>
<C1 xpos="8.94197" ypos="6.10971"/>
<C2 xpos="8.94197" ypos="6.10971"/>
<end xpos="8.66691" ypos="6.7307"/>
</curve>
</curves>
</SpineCreator>
</LL:Annotation>
For descriptions of these tags please refer to the Projection section
ConnectionList
An annotations tag within a ConnectionList stores the following information.
<SpineCreator>
<Script text="#!/usr/bin/python #PARNAME=size #LOC=1,1 #PARNAME=scale #LOC=2,1 #PARNAME=inhib #LOC=3,1 #HASWEIGHT def connectionFunc( srclocs, dstlocs, size, scale, inhib ): ..."/>
<Config weightProperty="w"/>
</SpineCreator>
Script
Contains |
Description |
@text:string |
The text describing a script for generating a ConnectionList of connectivity |
Config
Contains |
Description |
@weightProperty:string |
A reference to the WeightUpdate Property name where an ExplictList is created by the Python script |
SpineCreator Project file
SpineCreator stores the details of the xml files that compose the current Project in a file with the .proj extension. The format of this files is as follows:
<SpineCreatorProject>
<Network>
<File name="model.xml"/>
</Network>
<Components>
<File name="LIN_adap.xml"/>
<File name="LIF_det.xml"/>
<File name="LIF_det1.xml"/>
<File name="LIFposneg.xml"/>
<File name="LIF1.xml"/>
</Components>
<Layouts>
<File name="none.xml"/>
<File name="hexagonal.xml"/>
</Layouts>
<Experiments>
<File name="experiment0.xml"/>
<File name="experiment1.xml"/>
</Experiments>
<AdditionalFiles>
<File name="luminances.json"/>
<File name="external.xsl"/>
</AdditionalFiles>
</SpineCreatorProject>
SpineCreatorProject
Contains |
Description |
Network [1] |
Contains the SpineML Network for the project |
Conponents [1] |
Contains the SpineML Components for the project |
Layouts [1] |
Contains the SpineML Layouts for the project |
Experiments [1] |
Contains the SpineML Experiments for the project |
AdditionalFiles [1] |
List of non-SpineML files for the project |
Network
Contains |
Description |
File [1] |
The network file name |
Components
Contains |
Description |
File [1:…] |
The component file names |
Layouts
Contains |
Description |
File [1:…] |
The layout file names |
Experiments
Contains |
Description |
File [1:…] |
The experiment file names |
AdditionalFiles
Contains |
Description |
File [1:…] |
Additional file name |
File
Contains |
Description |
@name:string |
The name of a file |