cell artifacts
Cell_Staining_Artifacts
Cell_Staining_Artifacts cell artifact plugin used to make a specified subpopulation's fraction of cells blurred, to mimic an out of focal plane effect. Cell_Staining_Artifacts Properties: fraction_bleached - Proportion of cell which will bleached for the specific subpopulation. Default value : 0.1 Range value : 0 to 1 fraction_unstained - Proportion of cell which will unstained for the specific subpopulation. Default value : 0.1 Range value : 0 to 1 bleaching_multiplier - Intensities of bleached cells are scaled by this factor. Default value : 5 Range value : 0 to Inf unstained_multiplier - Intensities of unstained cells are scaled by this factor. Default value : 0.1 Range value : 0 to 1 Usage:
 op=Cell_Staining_Artifacts();
 set(op,'fraction_bleached',1);
 set(op,'fraction_unstained',2);
 subpop{1}.add_cell_artifact(op);
Out_Of_Focus_Cells
Out_Of_Focus_Cells cell artifact plugin used to make a specified subpopulation's fraction of cells blurred, to mimic an out of focal plane effect. Out_Of_Focus_Cells Properties: fraction_blurred - Proportion of cell which will blured for the specific subpopulation. Default value : 0.1 Range value : 0 to 1 blur_radius - Blur radius in pixels. 1 is pretty small, chosen to produce a very slight smoothing effect on all cells. Default value : 10 Range value : 0 to Inf Usage:
 op=Out_Of_Focus_Cells();
 set(op,'fraction_blurred',1);
 set(op,'blur_radius',2);
 subpop{1}.add_cell_artifact(op);
composite
Default_Compositing
Default_Compositing compositing plugin used to manage the marker level overlap between the different objects (e.g. nucleus, mitochondria, etc...) within a cell. Default_Compositing Properties: container_weight - weight of the container (e.g. a cell) while the contained (e.g. nucleus, nuclear body) is given (1 - weight). Default value : 0 Range value : 0 to 1 Usage:
 subpop{2}.compositing=Default_Compositing();
 set(subpop{2}.compositing,'container_weight',0.3);
image artifacts
Add_Basal_Brightness
Add_Basal_Brightness image artifact plugin used to add a basal level of intensity to all pixels. Intensity saturates at 1. Add_Basal_Brightness Properties: basal_level - Intensity added to to all pixels [0 -none, 1- full]. Default value : 0.1 Range value : 0 to 1 Usage:
 op=Add_Basal_Brightness();
 set(op,'basal_level',0.1);
Linear_Image_Gradient
Linear_Image_Gradient image artifact plugin used to scale intensities by a linear gradient on image in random direction. The falloff in this direction can be linear,exponential or sigmoidal. The max and min value of the intensity scaling can be specified. Linear_Image_Gradient Properties: falloff_coefficient - Measures how quickly intensity falls off [0 - slow, 1 - immediately]. Default value : 0.1 Range value : 0 to 1 max_multiplier - Max value multiplying the input intensities Default value : 1 Range value : 0 to Inf min_multiplier - Min value multiplying the input intensities Default value : 0 Range value : 0 to Inf falloff_type - Functional form to calculate intensity fall-off Default value : 'Linear' Available Values: 'Linear','Exponential','Sigmoidal' Usage:
 op=Linear_Image_Gradient();
 set(op,'falloff_coefficient',0.1);
 set(op,'max_multiplier',1);
 set(op,'min_multiplier',0);
 set(op,'falloff_type','Linear');
Radial_Image_Gradient
Radial_Image_Gradient image artifact plugin used to sccale intensities by a radial gradient on image in random location. The falloff in this direction can be linear,exponential or sigmoidal. The max and min value of the intensity scaling can be specified. Radial_Image_Gradient Properties: falloff_radius - Distance (in pixels) over which radius falls off Default value : 100 Range value : 1 to Inf max_multiplier - Max value multiplying the input intensities Default value : 1 Range value : 0 to Inf min_multiplier - Min value multiplying the input intensities Default value : 0 Range value : 0 to Inf falloff_type - Functional form to calculate intensity fall-off Default value : 'Linear' Available Values: 'Linear','Gaussian','Exponential','Sigmoidal' Usage:
 op=Radial_Image_Gradient();
 set(op,'falloff_radius',100);
 set(op,'max_multiplier',1);
 set(op,'min_multiplier',0);
 set(op,'falloff_type','Linear');
markers
Angular_Marker_Gradient
Angular_Marker_Gradient marker plugin used to scale intensities by an angular gradient on image in random direction. Angular_Marker_Gradient Properties: center - Point with respect to which angles are measured Default value : 'Centroid' Available Values : 'Centroid','Furthest From Edge','Random' angular_width - Angular Width Of High Intesity Region Default value : 30 Range value : 0 to 360 falloff_type - Functional form to calculate intensity fall-off Default value : 'Linear' Available Values: 'Linear','Exponential','Sigmoidal' min_multiplier - Min value multiplying the input intensities Default value : 0 Range value : 0 to Inf max_multiplier - Max value multiplying the input intensities Default value : 1 Range value : 0 to Inf Usage:
  add_marker(subpop{2},'Myosin','Green');
 
 op=Angular_Marker_Gradient();
 set(op,'center','Furthest From Edge');
 set(op,'angular_width',30);
 set(op,'falloff_type','Exponential');
 set(op,'min_multiplier',0);
 
 subpop{2}.markers.Myosin.cytoplasm.AddOperation(op);
Cell_Density_Dependant_Marker_Level
Cell_Density_Dependant_Marker_Level marker plugin used to scale marker levels based on local cell density. Cell_Density_Dependant_Marker_Level Properties: increasing_or_decreasing - Increasing or Decreasing function of local cell density Default value : Increasing Available values : 'Increasing','Decreasing' falloff_radius - Distance (in pixels) over which intensity falls of characteristically Default value : 200 Range value : 0 to Inf falloff_type - Functional form to calculate marker level based on distance to other cells Default value : 'Gaussian' Available Values: 'Linear','Exponential','Gaussian' min_level - Min Level (theoretically, without saturation etc) that Marker could reach Default value : 0 Range value : 0 to Inf max_level - Max Level (theoretically, without saturation etc) that Marker can reach Default value : 1 Range value : 0 to Inf Usage:
  add_marker(subpop{2},'Density_Marker','Blue');
 
  op=Cell_Density_Dependant_Marker_Level();
  set(op,'max_level',2);
  set(op,'falloff_radius',200);
  set(op,'falloff_type','Gaussian');
  set(op,'increasing_or_decreasing','Decreasing');
 
  subpop{2}.markers.Density_Marker.nucleus.AddOperation(op);
Constant_Dependant_Marker_Level
Constant_Dependant_Marker_Level marker plugin used constant marker level dependant (linearly) on level of chosen marker on a specified region. Output level is slope*F(marker_shape|region)+intercept. F is the function (mean,median etc) calculated on marker restricted to region If x_(m,r) is the mean level in of marker m in region r, then this plugin sets the intensity of chosen marker in chosen region to be: slope*x_(m,r) + intercept Constant_Dependant_Marker_Level Properties: slope - Slope of linear transform. Slope in the equation above, negative sign means inverse relation Default value : 1 Range value : -Inf,Inf intercept - Intercept of linear transform. Intercept in equation above. This is the level the marker will have if the other marker x_(m,r) is zero Default value : 0 Range value : -Inf,Inf marker - Chosen Marker (on shape)> The other marker i.e. m on which this marker depends Default value : - region - Region on which marker is calculated Default value : - func - Function calculated on specified marker over specified region. Returns a single number Default value : 'Mean' Available values : 'Mean','Median','Max','Min' Usage:
  %The level of this marker in a cell is inversely correlated with the
  %presence of the Red 'menv' marker. This is achieved using the
  %'Constant_Dependant_Marker_Level' plugin.
  %It sets the marker level in to a constant, with the value of this
  %constant being varying with the mean level of another marker.
 
  op=Constant_Dependant_Marker_Level();
 
  %If x_(m,r) is the mean level in of marker m in region r, then
  %this plugin sets the intensity of chosen marker in chosen region to
  %be: slope*x_(m,r) + intercept
  %slope in the equation above, negative sign means inverse relation
  set(op,'slope',-2.5);
 
  %Intercept in equation above. This is the level the marker will have
  %if the other marker x_(m,r) is zero
  set(op,'intercept',0.9);
 
  %The other marker i.e. m on which this marker depends
  set(op,'marker',subpop{1}.markers.menv.cytoplasm);
 
  %The region on which m is calculated i.e. r
  set(op,'region',subpop{1}.objects.cytoplasm);
  set(op,'func','Mean');
 
  %The last three lines specify that the mean level of the menv marker
  %measured on the cytoplasmic region will be used to determine the
  %level of GFP.
 
  subpop{1}.markers.GFP.cytoplasm.AddOperation(op);
Constant_Marker_Level
Constant_Marker_Level marker plugin used to set a constant marker level intensity for all pixels in a cell. This level is sampled from a normal distribution of specifiable mean and variation Constant_Marker_Level Properties: mean_level - Mean Marker Level[0-low, 1-High] Default value : 0.5 Range value : 0 to 1 sd_level - Standard Deviation [0- all cells have same level, Inf- uniform sampling] Default value : 0.2 Range value : 0 to Inf Usage:
 %Set a constant marker level (uniform across entire object, but varying
 %from cell to cell)
 op=Constant_Marker_Level();
 
 %The marker level for a cell is sampled from a normal distribution with
 %this mean
 set(op,'mean_level',0.7);
 %This standard deviation
 set(op,'sd_level',0.1);
 
 %Once the operation is defined, we add it to the queue
 subpop{1}.markers.Actin.cytoplasm.AddOperation(op);
Distance_To_Edge_Marker_Gradient
Distance_To_Edge_Marker_Gradient marker plugin used to scale marker levels based on distance to edge of shape Distance_To_Edge_Marker_Gradient Properties: falloff_radius - Characteristic distance from edge (in pixels) for intensity change Default value : 10 Range value : 0 to Inf falloff_type - Functional form to calculate level fall-off Default value : 'Gaussian' Available values : 'Linear','Gaussian','Exponential' increasing_or_decreasing - Increasing or Decreasing function of distance to edge Default value : 'Increasing' Available values : 'Increasing','Decreasing' Usage:
 %Add Radial Gradient
 %Have the intensity fall off rapidly with the distance to the edge
 op=Distance_To_Edge_Marker_Gradient();
 
 %pixels over which intensity falls off by 1/e
 set(op,'falloff_radius',10);
 
 %the intensity fall off functional form
 set(op,'falloff_type','Gaussian');
 
 %Intensity decreases with distance to the edge
 set(op,'increasing_or_decreasing','Decreasing');
 
 subpop{1}.markers.Myosin.cytoplasm.AddOperation(op);
Distance_To_Shape_Marker_Gradient
Distance_To_Shape_Marker_Gradient marker plugin used to scale marker level based on distance to other objects Distance_To_Shape_Marker_Gradient Properties: distance_to - Marker levels are scaled based on distance to this shape Default value : - falloff_radius - Distance over which intensity falls off characteristically (e.g. 1/e) Default value : 10 Range value : 0 to Inf falloff_type - Functional form to calculate level fall-off Default value : 'Gaussian' Available values : 'Linear','Gaussian','Exponential' increasing_or_decreasing - Increasing or Decreasing function of distance to edge Default value : 'Increasing' Available values : 'Increasing','Decreasing' Usage:
 %We want the first marker to essentially cluster near the center of the
 %cell, and die out before the edge of the cell. Since the cells in this
 %subpopulation are spherical, this can be
 %parametrized in terms of the distance to the nucleus.
 %Add Radial Gradient (scaling of intensity at a pixel decreases with
 %distance of that pixel to the nucleus)
 op=Distance_To_Shape_Marker_Gradient();
 
 %The number of pixels over which intensity falls by 1/e
 set(op,'falloff_radius',10);
 
 %The intensity fall off functional form
 set(op,'falloff_type','Gaussian');
 %Whether intensity increases or decreases based on the distance
 set(op,'increasing_or_decreasing','Decreasing');
 
 %Distance is measure wrt the nucleus
 set(op,'distance_to',subpop{1}.objects.nucleus);
 subpop{1}.markers.Actin.cytoplasm.AddOperation(op);
Linear_Marker_Gradient
Linear_Marker_Gradient marker plugin used to scale intensities by a linear gradient on image in random direction. The falloff in this direction can be linear,exponential or sigmoidal. The max and min value of the intensity scaling can be specified Linear_Marker_Gradient Properties: falloff_coefficient - Measures how quickly intensity falls off [0 -slow, 1- immediately] Default value : 0.1 Range value : 0 to 1 max_multiplier - Max value multiplying the input intensities Default value : 1 Range value : 0 to Inf min_multiplier - Min value multiplying the input intensities Default value : 0 Default value : 0 to Inf falloff_type - Functional form to calculate intensity fall-off Default value : 'Linear' Available values : 'Linear','Exponential','Sigmoidal' Usage:
 %Add Linear Gradient
 op=Linear_Marker_Gradient();
 
 %Set how quickly intensity falls off (0 slow, 1 immediately)
 set(op,'falloff_coefficient',0.1);
 
 %Max value multiplying the input intensities
 set(op,'max_multiplier','1');
 
 %Distance is measure wrt the nucleus
 set(op,falloff_type,'Linear');
 
 %Add the operation to the object marker
 subpop{1}.markers.Actin.cytoplasm.AddOperation(op);
Locally_Dependant_Marker_Level
Locally_Dependant_Marker_Level constant marker level dependant (linearly) on level of chosen marker on a specified region. Output level is slope*F(marker_shape|region)+intercept. F is the function (mean,median etc) calculated on marker restricted to region. Locally_Dependant_Marker_Level Properties: slope - Slope of linear transform [0 -slow, 1- immediately] Default value : 1 Range value : -Inf to Inf intercept - Intercept of linear transform Default value : 0 Range value : -Inf to Inf marker - Chosen Marker (on shape) Default value : - Usage:
 %Marker 1
 add_marker(subpop{2},'Myosin','Red');
 (...)
 %Marker 2
 add_marker(subpop{2},'Actin','Green');
 
 %In this case we have the green marker depend on the the red one, and
 %avoid it. This is done at a pixel level. If I is the intensity of the
 %red marker at a pixel then the intensity of the green marker is:
 %slope*I+intercept (where slope and intercept are specified below). A
 %negative value of the slope implies supression.
 
 op=Locally_Dependant_Marker_Level();
 
 %The red marker strongly supresses the green one.
 set(op,'slope',-100);
 set(op,'intercept',0.8);
 set(op,'marker',subpop{2}.markers.Myosin.cytoplasm);
 subpop{2}.markers.Actin.cytoplasm.AddOperation(op);
Microenvironmental_Marker_Level
Constant marker level determined by position of cell Microenvironmental_Marker_Level Properties: length_scale - Scale of Noise [2- long length scale, 6- short]]. The length scale over which spatial correlation exists for the microenvironment. Default value : 2 Range value : 2 to 6 frequency_falloff - Frequency Falloff [0 (Only lowest frequency) - 1 (All frequencies)]]. Each higher frequency component amplitude is smaller by this scaling factor. Default value : 0.5 Range value : 0 to 1 noise_type - The type of variation in micro-environment. Turbulent causes sharper transitions. Default value : 'Standard 1/f' Available values : 'Standard 1/f','Turbulent' Usage:
 op=Microenvironmental_Marker_Level();
 
 %This plugin first generates a semi-random (with some spatial 
 %correlations) 'micro-environment' intensity over the image. 
 %Then, the level of the the marker is proportional to the intensity
 %of the micro-environment at the location of the cell.
 
 %The length scale over which spatial correlation exists for the
 %microenvironment. (2 means variations at the length of image, 6 is high
 %frequency variation)
 set(op,'length_scale',3);
 
 %Each higher frequency component amplitude is smaller by this scaling 
 %factor
 set(op,'frequency_falloff',0.8);
 
 %The type of variation in micro-environment. Turbulent causes sharper 
 %transitions
 set(op,'noise_type','Turbulent');
 
 %Once the operation is defined, we add it to the queue
 subpop{1}.markers.menv.cytoplasm.AddOperation(op);
Perlin_Texture
Perlin_Texture marker plugin used to scales the intensity by a randomly generated texture function. The parametrization of the texture is a variation on the one used by Lehmussola et al in Proceedings of the IEEE, Vol. 96, No. 8. (16 July 2008), pp. 1348-1360, doi:10.1109/JPROC.2008.925490 Perlin_Texture Properties: add_or_multiply - Should the noise be additive OR multiplicative Default value : 'Multiply' Available values : 'Add','Multiply' amplitude - Amplitude of Noise [0-low, 1-High] Default value : 0.5 Range value : 0 to 1 length_scale - Scale of Noise [2 - long length scale, 5-short]] Default value : 2 Range value : 2 to 6 frequency_falloff - Frequency Falloff [0 (Only lowest frequency) - 1 (All frequencies)]] Default value : 0.5 Range value : 0 to 1 noise_type - The type of variation in perlin. Default value : 'Standard 1/f' Available values : 'Standard 1/f','Turbulent' Usage:
 %Perlin Texture (scale the intensity from the last step by a noisy 
 %texture, to make it look more realistic)
 op=Perlin_Texture();
 
 %The amplitude of the noise (0 is not noise, and you probably don't
 %want to go much beyond 1, since intensities are in the [0-1] range)
 set(op,'amplitude',0.3);
 
 %This describes the length scale over which intensity varies. 2 is low
 %wave-length (coarse variation) and 6 is very fine high frequency
 %(fine variation)
 set(op,'length_scale',5);
 
 %Each higher frequency component amplitude is smaller by this scaling
 %factor
 set(op,'frequency_falloff',0.5);
 
 %The type of noise. Turbulent causes sharper transitions
 set(op,'noise_type','Turbulent');
 
 subpop{1}.markers.Actin.cytoplasm.AddOperation(op);
Rescale_Marker_Levels
Rescale_Marker_Levels marker plugin used to rescale marker linearly levels to lie within a specified range. Rescale_Marker_Levels Properties: min_intensity - Minimum Intensity After Rescaling Default value : 1 Range value : 0 to 1 max_intensity - Maximum Intensity After Rescaling Default value : 1 Range value : 0 to 1 Usage:
 %Rescale Marker Level
 op=Rescale_Marker_Levels();
 
 %Minimum Intensity After Rescaling
 set(op,'min_intensity',0.5);
 
 %Maximum Intensity After Rescaling
 set(op,'max_intensity',0.9);
 
 subpop{1}.markers.Actin.cytoplasm.AddOperation(op);
Turbulent_Texture
Turbulent_Texture marker plugin used to add a turbulent texture effect which "shuffles" the pixels to give the appearance of turbulence. Is only useful if the existing levels are non-uniform. The parametrization of the texture is a variation on the one used by Lehmussola et al in Proceedings of the IEEE, Vol. 96, No. 8. (16 July 2008), pp. 1348-1360, doi:10.1109/JPROC.2008.925490 Turbulent_Texture Properties: max_displacement - Turbulent noise is essentially a rearrangment of pixels. This parameter specifies the max distance a pixel can be moved. Default value : 10 Range value : 0 to 50 length_scale - Scale of Noise [2 - long length scale, 5-short]] Default value : 3 Range value : 2 to 6 frequency_falloff - Scale of Noise [2 - long length scale, 5-short]] Default value : 0.5 Range value : 0 to 1 smooth_edges - Smooth the intensity at formerly FG pixels, now in BG? Default value : 'No' Available values : 'Yes','No' Usage:
 %Create the impression of turbulence using the turbulent
 %texture which semi-randomly moves pixels around locally, as might 
 %happen in a turbulent fluid.
 op=Turbulent_Texture();
 
 %This is the max distance in pixels that a pixel can be moved
 set(op,'max_displacement',7);
 
 %This describes the length scale over which intensity varies. 2 is low
 %wave-length (coarse variation) and 6 is very fine high frequency
 %(fine variation)
 set(op,'length_scale',5);
 
 %Each higher frequency component amplitude is smaller by this scaling
 %factor
 set(op,'frequency_falloff',0.8);
 
 subpop{1}.markers.Actin.cytoplasm.AddOperation(op);
placement
Clustered_Placement
Clustered_Placement placement plugin used to for cell clusters Clustered_Placement Properties: number_of_clusters - Number Of Clusters Of Cells in Image Default value : 2 Range value : 0 to 500 clustering_probability - Probability that a cell will be placed close to a cluster (otherwise position is random) Default value : 0.9 Range value : 0 to 1 cluster_width - Positions are selected with gaussian probability distributions of this width (in pixels) centered at the clusters Default value : 200 Range value : 1 to Inf boundary - Boundary Of Image Inside Which No Cells Will be Centered in pixels Default value : 100 Range value : 0 to Inf Usage:
 %Set the Model Placement
 %Placement refers to the position of cell in an image.
 %Cells in different subpopulations can display different patterns of
 %placement (e.g, one type of cells may be clustered or placed randomly)
 %Placement for cells in a subpopulation are specified through the
 %placement property in subpopulation, which you need to set the the
 %appropriate placement model.
 %Models for placments are classes of type SimuCell_Placement_Model, and
 %are implemented via plugins (usually placed in the 'plugins/placement/'
 %directory).
 %Here we choose to have cells placed close to form cluster, and so choose
 %the 'Clustered_Placement' model.
 subpop{1}.placement=Clustered_Placement();
 
 %Number of clusters of cells in image
 set(subpop{1}.placement,'number_of_clusters',10);
 
 %Positions are selected with gaussian probability
 %distributions of this width (in pixels) centered at the clusters.
 set(subpop{1}.placement,'cluster_width',200);
 
 %The boundary is the number of pixels around the edge of the image where
 %no cells are placed.
 set(subpop{1}.placement,'boundary',100);
 
 %Probability that the cell is part of the cluster, non-clustered cells are
 %placed randomly.
 set(subpop{1}.placement,'clustering_probability',0.8);
Nearby_Placement
Nearby_Placement placement plugin used so cells are placed to be close to existing cells. Nearby_Placement Properties: clustering_probability - Probability that a cell will be placed close to a cluster (otherwise position is random). Default value : 0.9 Range value : 0 to 1 distance_to_existing - Positions are selected with Poisson probability distributions with this mean distance. Default value : 200 Range value : 1 to Inf boundary - Boundary Of Image Inside Which No Cells Will be Centered in pixels. Default value : 100 Range value : 0 to Inf Usage:
 %Set the Model Placement
 %Placement refers to the position of cell in an image.
 %Cells in different subpopulations can display different patterns of
 %placement (e.g, one type of cells may be clustered or placed randomly)
 %Placement for cells in a subpopulation are specified through the
 %placement property in subpopulation, which you need to set the the
 %appropriate placement model.
 %Models for placements are classes of type SimuCell_Placement_Model,
 %and are implemented via plugins (usually placed in the 
 %'plugins/placement/' directory).
 %Here we choose to have cells placed close to existing cells, and so
 %choose the 'Nearby_Placement' model.
 subpop{1}.placement=Nearby_Placement();
 
 %The placement models follow the typical model specification
 %(see SimuCell_Model, Parameter), and the user settable parameters
 %can be found in the plugin file. These parameters follow the standard
 %set framework.
 %For this model, probability of a pixel being picked is dependent on 
 %its distance to the nearest existing cell. The functional form of this
 %dependence is the probability density function of a poisson 
 %distribution with mean specified by the 'distance_to_existing' below
 set(subpop{1}.placement,'distance_to_existing',15);
 
 %The boundary is the number of pixels around the edge of the image
 %where no cells are placed.
 set(subpop{1}.placement,'boundary',100);
 
 %Probability that the cell is part of the cluster, non-clustered 
 %cells are placed randomly.
 set(subpop{1}.placement,'clustering_probability',0.8);
Random_Placement
Random_Placement placement plugin used so position cells randomly in image but avoiding a boundary region. Random_Placement Properties: boundary - Boundary Of Image Inside Which No Cells Will be Centered in pixels. Default value : 100 Range value : 0 to Inf Usage:
 %Set the Model Placement
 %Placement refers to the position of cell in an image.
 %Cells in different subpopulations can display different patterns of
 %placement (e.g, one type of cells may be clustered or placed randomly)
 %Placement for cells in a subpopulation are specified through the
 %placement property in subpopulation, which you need to set the the
 %appropriate placement model.
 %Models for placements are classes of type SimuCell_Placement_Model, and
 %are implemented via plugins (usually placed in the 'plugins/placement/'
 %directory).
 %Here we choose to have cells placed close to existing cells, and so
 %choose the 'Random_Placement' model.
 subpop{1}.placement=Random_Placement();
 
 %The boundary is the number of pixels around the edge of the image where
 %no cells are placed.
 set(subpop{1}.placement,'boundary',100);
shape
Centered_Cytoplasm_Model
Centered_Cytoplasm_Model cytoplasm model plugin creating an elliptical cell centered around an other object (typically a nucleus). shape.The model for the shape itself is a variation on the one used by Lehmussola et al in Proceedings of the IEEE, Vol. 96, No. 8. (16 July 2008), pp. 1348-1360, doi:10.1109/JPROC.2008.925490 Centered_Cytoplasm_Model Properties: radius - Average Cell Radius Default value : 15 Range value : 0 to Inf eccentricity - Measure of Non-Uniformity: 0=spherical, 1=straight line Default value : 0.5 Range value : 0 to 1 randomness - Measure of Non-Uniformity: 0=elliptical, 1=random Default value : 0.1 Range value : 0 to 1 centered_around - The cytoplasm is centered around this (usually a nucleus) Default value : - Usage:
 %Create a new Object 'cytoplasm'
 add_object(subpop{2},'cytoplasm');
 
 %Set the Centered_Cytoplasm_Model model
 subpop{2}.objects.cytoplasm.model=Centered_Cytoplasm_Model;
 
 Set the parameters
 set(subpop{2}.objects.cytoplasm.model,'radius',60);
 set(subpop{2}.objects.cytoplasm.model,'eccentricity',0.6);
 set(subpop{2}.objects.cytoplasm.model,'randomness',0.2);
 
 %The cytoplasm is drawn around the nucleus
 set(subpop{2}.objects.cytoplasm.model,'centered_around',...
 subpop{2}.objects.nucleus);
Cytoplasm_Model
Cytoplasm_Model cytoplasm model plugin creating an elliptical cell shape. The model for the shape itself is a variation on the one used by Lehmussola et al in Proceedings of the IEEE, Vol. 96, No. 8. (16 July 2008), pp. 1348-1360, doi:10.1109/JPROC.2008.925490 Cytoplasm_Model Properties: radius - Average Cell Radius Default value : 15 Range value : 0 to Inf eccentricity - Measure of Non-Uniformity: 0=spherical, 1=straight line Default value : 0.5 Range value : 0 to 1 randomness - Measure of Non-Uniformity: 0=elliptical, 1=random Default value : 0.1 Range value : 0 to 1 Usage:
 %Create a new Object 'cytoplasm'
 add_object(subpop{2},'cytoplasm');
 
 %Set the Cytoplasm_Model model
 subpop{2}.objects.cytoplasm.model=Cytoplasm_Model;
 
 Set the parameters
 set(subpop{2}.objects.cytoplasm.model,'radius',60);
 set(subpop{2}.objects.cytoplasm.model,'eccentricity',0.6);
 set(subpop{2}.objects.cytoplasm.model,'randomness',0.2);
Fluid_Shape
Fluid_Shape cytoplasm model plugin creating an elliptical cell, which turns fluid to avoid overlap. Fluid_Shape Properties: radius - Average Cell Radius Default value : 30 Range value : 0 to Inf eccentricity - Measure of Non-Uniformity: 0=spherical, 1=straight line Default value : 0.5 Range value : 0 to 1 randomness - Measure of Non-Uniformity: 0=elliptical, 1=random Default value : 0.1 Range value : 0 to 1 Usage:
 %Create a new Object 'cytoplasm'
 add_object(subpop{2},'cytoplasm');
 
 %Set the Fluid_Shape model
 subpop{2}.objects.cytoplasm.model=Fluid_Shape;
 
 Set the parameters
 set(subpop{2}.objects.cytoplasm.model,'radius',60);
 set(subpop{2}.objects.cytoplasm.model,'eccentricity',0.6);
 set(subpop{2}.objects.cytoplasm.model,'randomness',0.2);
Centered_Nucleus_Model
Centered_Nucleus_Model nucleus model plugin creating an elliptical nucleus at the center of another shape (usually cytoplasm). The model for the shape itself is a variation on the one used by Lehmussola et al in Proceedings of the IEEE, Vol. 96, No. 8. (16 July 2008), pp. 1348-1360, doi:10.1109/JPROC.2008.925490 Centered_Nucleus_Model Properties: radius - Average Cell Radius. Default value : 30 Range value : 0 to 100 eccentricity - Measure of Non-Uniformity: 0=spherical, 1=straight line. Default value : 0.5 Range value : 0 to 1 randomness - Measure of Non-Uniformity: 0=elliptical, 1=random. Default value : 0.05 Range value : 0 to 1 centered_around - The nucleus is drawn at the center of this object (usually a cytoplasm). Default value : - Usage:
 %Create a new Object 'nucleus'
 add_object(subpop{2},'nucleus');
 
 %Set the Centered_Nucleus_Model model
 subpop{2}.objects.nucleus.model=Centered_Nucleus_Model;
 
 Set the parameters
 set(subpop{2}.objects.nucleus.model,'radius',60);
 set(subpop{2}.objects.nucleus.model,'eccentricity',0.6);
 set(subpop{2}.objects.nucleus.model,'randomness',0.2);
 
 %The nucleus is drawn at the center of the cytoplasm
 set(subpop{2}.objects.nucleus.model,'centered_around',...
 subpop{2}.objects.cytoplasm);
Nucleus_Model
Nucleus_Model nucleus model plugin creating an elliptical nucleus shape. The model for the shape itself is a variation on the one used by Lehmussola et al in Proceedings of the IEEE, Vol. 96, No. 8. (16 July 2008), pp. 1348-1360, doi:10.1109/JPROC.2008.925490 Nucleus_Model Properties: radius - Average Nuclear Radius Default value : 15 Range value : 1 to Inf eccentricity - Measure of Non-Uniformity: 0=spherical, 1=straight line Default value : 0.5 Range value : 0 to 1 randomness - Measure of Non-Uniformity: 0=elliptical, 1=random Default value : 0.1 Range value : 0 to 1 Usage:
 %Create a new Object 'nucleus'
 add_object(subpop{2},'nucleus');
 
 %Set the Nucleus_Model model
 subpop{2}.objects.nucleus.model=Nucleus_Model;
 
 Set the parameters
 set(subpop{2}.objects.nucleus.model,'radius',60);
 set(subpop{2}.objects.nucleus.model,'eccentricity',0.6);
 set(subpop{2}.objects.nucleus.model,'randomness',0.2);
SLML_Nucleus_Model
SLML_Nucleus_Model nuclear shape model built using a model described via an SLML file. For a description of the SLML models see: T. Zhao and R.F. Murphy, Automated Learning of Generative Models for Subcellular Location: Building Blocks for Systems Biology. Cytometry 71A:978-990 (2007). SLML_Nucleus_Model Properties: radius - Average Nuclear Radius Default value : 15 Range value : 1 to Inf filename - path to an SLML file Default value : - Usage:
 %Create a new Object 'nucleus'
 add_object(subpop{2},'nucleus');
 
 %Set the Nucleus_Model model
 subpop{2}.objects.nucleus.model=SLML_Nucleus_Model;
 
 Set the parameters
 set(subpop{2}.objects.nucleus.model,'radius',60);
 set(subpop{2}.objects.nucleus.model,'filename','data/slml/nucleolus.mat');
Lipid_Droplet_Model
Lipid_Droplet_Model shape model plugin modeling lipid droplets (radius, number and arrangement (i.e. clustered or not) can be specified). Lipid_Droplet_Model Properties: droplet_radius - Radius (in pixels) of lipid droplets Default value : 3 Range value : 0 to Inf number_of_droplets - Average number of droplets Default value : 5 Range value : 0 to Inf number_of_clusters - 0- random placement, otherwise number of droplet clusters Default value : 0 Range value : 0 to Inf cytoplasm - Droplets will be placed inside this shape Default value : - cytoplasm - Droplets will avoid this shape Default value : - Usage:

Microtubule_Fibre_Model
Microtubule_Fibre_Model shape model plugin modeling microtubule fibre Microtubule_Fibre_Model Properties: number_of_threads - Number of threads Default value : 100 Range value : 1 to Inf persistance_length - Distance (in pixels) between splits Default value : 3 Range value : 1 to Inf dist_outside - Distance outside Default value : 0 Range value : 0 to Inf fraction_allowed_outside - Fraction allowed outside Default value : 0 Range value : 0 to 1 cytoplasm - Microtubule Fibre will be placed inside this shape Default value : - cytoplasm - Microtubule Fibre will avoid this shape Default value : - Usage:
 add_object(subpop{1},'fiber');
 subpop{1}.objects.fiber.model=Microtubule_Fibre_Model;
 set(subpop{1}.objects.fiber.model,'nucleus',subpop{1}.objects.nucleus,...
     'cytoplasm',subpop{1}.objects.cytoplasm