Routine Name: planarconnect Description: Establishes synaptic connections between groups of elements based on the x-y positions of the elements. This routine sets up the connections by adding SPIKE messages between the source and destination objects. Usage: planarconnect source_elements destination_elements \ -relative \ -sourcemask {box, ellipse} x1 y1 x2 y2 \ -sourcehole {box, ellipse} x1 y1 x2 y2 \ -destmask {box, ellipse} x1 y1 x2 y2 \ -desthole {box, ellipse} x1 y1 x2 y2 \ -probability p source_elements A wildcarded list of elements which are the sources of the SPIKE messages. These must be of class "spiking" and are usually spikegen or randomspike objects. destination_elements A wildcarded list of elements which are the destinations of the SPIKE messages. These must be synchans or objects derived from synchan. -relative This option means that connections will be set up based on the locations of destination objects relative to source objects. If this option is not selected, the absolute locations of source and destination elements will be used to determine whichconnections are to be set up. -sourcemask {box, ellipse} x1 y1 x2 y2 -- This specifies a rectangular or elliptical region from which source elements are to be taken. If the "box" option is used, then x1 and y1 are the minimum x and y values of the region while x2 and y2 are the maximum x and y values of the region. If the "ellipse" option is used, then the source region is an ellipse with x1 and y1 representing the center of the ellipse while x2 and y2 represent the lengths of the principal axes in the x and y directions respectively. Note that to choose a circular region x2 and y2 must be equal. Note also that one or the other of {box, ellipse} MUST be chosen; leaving both of them out will generate an error. Finally, one can choose multiple source regions by having multiple -sourcemask options. The same conventions are followed for the next three options. -sourcehole {box, ellipse} x1 y1 x2 y2 -- This specifies a rectangular or elliptical region NOT to include in the source region(s). You can exclude multiple regions by having multiple -sourcehole options. -destmask {box, ellipse} x1 y1 x2 y2 -- This specifies a rectangular or elliptical region to which SPIKE messages will be sent. -desthole {box, ellipse} x1 y1 x2 y2 -- This specifies a rectangular or elliptical region NOT to include in the destination region(s). -probability p -- This option causes connections to be made with a probability p, which must be in the range [0,1]. This allows probabilistically-connected networks to be set up. Example: [From the "Orient_tut" simulation:] planarconnect /retina/recplane/rec[]/input \ /V1/horiz/soma[]/exc_syn \ -relative \ -sourcemask box -1 -1 1 1 \ -destmask box {-V1_SEPX * 2.4} \ {-V1_SEPY * 0.6} \ { V1_SEPX * 2.4} \ { V1_SEPY * 0.6} Notes: This routine calculates distance using only the x and y coordinates of the element positions. It is convenient for objects laid out in planar arrays but ignoring the z direction is somewhat unrealistic. volumeconnect is almost identical with planarconnect except that it uses the positions of elements in three dimensions to specify whether connections are made or not. The weights and delays of the connections set up by this command are typically specified using the planarweight and planardelay commands, although they can be set up by hand. See also: volumeconnect, planarweight, planardelay; Chapter 18 of the Book of GENESIS (2nd ed.) has a lengthy discussion on this and related commands.