Maps ---- Maps, such as orientation or ocular dominance maps, can be applied to populations of cells to set attributes of those cells. Maps are applied to a population based on the size of the area assigned to the population. Maps can be written to a text file for inspection by setting the parameter *write_as_text* to a file name (any string other than "null" or "NULL"). Orientation *********** The following parameters govern the orientation map. Default values are specified in parentheses. Note, the phase shifts below refer to some fraction of a full cycle (0 to 360 deg), and the unit of ``deg`` here does **not** refer to the 0-180 degree orientation scale. [This can be confusing, and perhaps a range of 0.0 to 1.0 should be used instead.]:: name orimap # Name to identify this map [exit] type ori # Type of map, determines the orientation pattern [exit] ncol_x 2 # Number of orientation columns along x-axis [2] ncol_y 2 # Number of orientation columns along y-axis [ncol_x] phase_x 0.0 # (0-360 deg) shift pinwheels along x-axis [0.0] phase_y 0.0 # (0-360 deg) shift pinwheels along y-axis [0.0] phase_p 0.0 # (0-360 deg) rotate ori around pinwheel [0.0] write_as_text null # Filename to write map to a text file [null] A particular algorithm for assigning orientations (from 0 to 180) is implied by the ``type`` parameter. This should be described here. Direction ********* Currently, the orientation map sets a value that is interpreted as a direction, but only covers directions from 0-180. When forming direction selective (DS) cells, the direction can be changed by using a flag parameter, as follows:: map_dir_flag ori # "ori", "ori_invert", "ori_alt_z", ... where values have the following meaning: * ``ori`` - use the orientation map value for the reference direction * ``ori_invert`` - add 180 deg to the orientation map value * ``ori_alt_z`` - alternate between ori and ori+180 for z=[0,1]. This allows the construction of multiple sheets of cells with opponent directions, consistent with the underlying orientation map. Ocular Dominance **************** The following defines an ocular dominance map:: name odmap # Name to identify this map [exit] type ocdom # Type of map [exit] ncol_x 4 # Number of OD columns in X-direction phase_x 1.0 # (0-360 deg) Phase of OD map on X-axis write_as_text null # Filename to write map to a text file [null] Receptive Field Position ************************ The following map defines how to align receptive field positions when an ocular dominance map is used:: name rfxmap # Name to identify this map [exit] type rfx # Type of map ncol_x 4 # Number of OD columns in X-direction phase_x 1.0 # Phase of OD map on X-axis (deg) Spatial Frequency ***************** The following defines a spatial frequency map:: name sfmap # ID for reference type sf # Type of map ncol_x 28.6 # Number of ori columns in X-direction ncol_y 14.3 # Number of ori columns in Y-direction phase_x 180.0 # Phase of orimap on X-axis phase_y 180.0 # Phase of orimap on Y-axis sf_min 1.0 # Minimum SF value sf_max 3.0 # Maximum SF value renorm 1 2 3 4 5 6 3 1 # Target shape for SF distribution renorm_rule # 0-centered, 1-uniform random distribution renorm_seed 5551212 # For random uniform renormalization renorm_plot NULL # Set a non-NULL string for filename to append plots round_to_unit 1 # Adjust column to integer number of units write_as_text null # Filename to write map to a text file [null] The optional parameter *renorm* allows the user to specify the shape of a target SF distribution using a list of numbers. The sequence of N values that follows *renorm* specifies the amount of weight given to each of N contiguous regions that are evenly spaced along the SF axis from *sf_min* to *sf_max*. The *renorm_rule* can be set to 0 to limit SF values to distinct bands, or to 1 to allow a more uniform distribution.