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
```