# Brep (boundary representation): A declarative description of cell anatomy and position

Tagged as: brep, geometry, anatomy
written on 2013-03-04

The main idea of Brep 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 Brep 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 polynomial curve. Currently the types of polynomial curves supported are lines and angular displacements of the form L * cos (theta) * cos (phi) where theta and phi are chosen randomly from a given range of angles.

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 Brep as projections between layers.

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