You are looking at historical revision 31000 of this page. It may differ significantly from its current revision.

picnic

An implementation of a description language for models of geometric neural connectivity.

Usage

picnic [options...] [input files ...]

Documentation

The main idea of Picnic is to combine experimental data on cell morphology and synthetic cell geometry. Cell geometry is described as sets of 3D points and can be one of the following:

Neurolucida data
cylinders described by start point, end point, diameter
Synthetic geometry
points along a line, polynomial curve, or angular displacement

Cell placement can be defined by rectangular grids, regular tilings (e.g. bricks or hexagons), random point distributions. Connectivity currently is simply projections based on Euclidean distances between cell objects.

Layers

In Picnic terminology, a layer describes the placement of cell objects in 3D space. The placement is determined by a set of points, which can be generated by one of the following methods:

  1. sampling from typical distributions such as uniform or exponential
  2. point coordinates loaded from a file
  3. Regular grid defined by spacing in x, y and z direction
  4. Regular 2D tiling, such as hexagons or bricks with a given side length. In this case, position x and y coordinates are determined by the center point of each generated tile, and the z coordinate is set to zero.

A layer is defined by a point set described by one of the methods above, and one or more cell objects that are to be placed at positions determined by the point set. If there are less cell objects than there are points in the point set, then the cell objects are copied until an object is placed at each point.

Cell objects

A cell object consists of a bounding box and a set of connection points. The connection points can be loaded from a Neurolucida file, or can be sampled from the trajectory of a parametric curve.

The set of points that belong to a cell object can be further divided into compartments, e.g. dendrites and axon, which can be later used when specifying connectivity.

In addition, random perturbations can be applied to the points of a cell or one of its compartments.

Parallel fibers can then be described as lines with small random perturbations, and artificial Golgi cell morphologies can be desribed with angular displacements of their dendritic and axon points.

Projections

Once layers are defined with the different cell types, connectivity is specified in Picnic as projections between layers.

The single type of projection currently supported by Picnic is based on Euclidean distances between the points of the different cell object. Given a maximum distance, Picnic can determine all cell points in two layers that are close enough to be considered connected.

Model description language

About this egg

Author

Ivan Raikov

Version history

1.0
Initial release

License

Copyright 2012-2014 Ivan Raikov and the Okinawa Institute of Science and Technology.

This program is free software: you can redistribute it and/or modify
it under the terms of the GNU General Public License as published by
the Free Software Foundation, either version 3 of the License, or (at
your option) any later version.

This program is distributed in the hope that it will be useful, but
WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
General Public License for more details.

A full copy of the GPL license can be found at
<http://www.gnu.org/licenses/>.