Secretion Plugin Reference
FieldSecretor Methods
Secretion Modes
1. secreteInsideCell(cell, concentration: float) -> bool
– secretion will occur
on every one of the given cell’s pixels.
concentration
determines how much to increase the amount of the field
present at that pixel.
2. secreteInsideCellConstantConcentration(cell, concentration: float) -> bool
– secretion will occur
on every one of the given cell’s pixels.
The concentration will be fixed and uniform across all pixels.
3. secreteInsideCellAtBoundary(cell, concentration: float) -> bool
– secretion takes place in
pixels that are part of the cell’s boundary.
4. secreteInsideCellAtBoundaryOnContactWith(cell, concentration: float, cell_types: list) -> bool
- secretion takes place in
pixels that are part of the cell’s boundary (i.e., its outermost pixels).
Secretion only happens on pixels that are in contact with cells listed in cell_types
.
5. secreteOutsideCellAtBoundary(cell, concentration: float) -> bool
– secretion takes place in
pixels that are outside the cell but touching its boundary.
6. secreteOutsideCellAtBoundaryOnContactWith(cell, concentration: float, cell_types: list) -> bool
- secretion takes place in
pixels that are outside the cell but touching its boundary.
Secretion only happens on pixels that are in contact with cells listed in cell_types
.
7. secreteInsideCellAtCOM(cell, concentration: float) -> bool
– secretion at
the center of mass of the cell
Uptake Modes
Important: Uptake works as follows: when available concentration is greater than
max_amount
, thenmax_amount
is subtracted fromcurrent_concentration
, otherwise we subtractrelative_uptake*current_concentration
. Typically,max_amount
is >=1.0 whilerelative_uptake
is between 0 and 1.0.
1. uptakeInsideCell(cell, max_amount: float, relative_uptake: float) -> bool
– uptake will occur
on every one of the given cell’s pixels.
2. uptakeInsideCellAtBoundary(cell, max_amount: float, relative_uptake: float) -> bool
– uptake takes place in
pixels that are part of the cell’s boundary.
3. uptakeInsideCellAtBoundaryOnContactWith(cell, max_amount: float, relative_uptake: float, cell_types: list) -> bool
- uptake takes place in
pixels that are part of the cell’s boundary (i.e., its outermost pixels).
Uptake only happens on pixels that are in contact with cells listed in cell_types
.
4. uptakeOutsideCellAtBoundary(cell, max_amount: float, relative_uptake: float) -> bool
– uptake takes place in
pixels that are outside the cell but touching its boundary.
5. uptakeOutsideCellAtBoundaryOnContactWith(cell, max_amount: float, relative_uptake: float, cell_types: list) -> bool
- uptake takes place in
pixels that are outside the cell but touching its boundary.
Uptake only happens on pixels that are in contact with cells listed in cell_types
.
6. uptakeInsideCellAtCOM(cell, max_amount: float, relative_uptake: float) -> bool
– uptake at
the center of mass of the cell
Tracking Total Amount Secreted or Uptaken
The below methods can be used to get a FieldSecretorResult object, which will have a property called tot_amount
that contains the summary of the secretion/uptake operation.
Just add “TotalCount” to the name of the same method you used above.
The arguments remain the same.
secreteInsideCellTotalCount(...)
secreteInsideCellConstantConcentrationTotalCount(...)
secreteInsideCellAtBoundaryTotalCount(...)
secreteInsideCellAtBoundaryOnContactWithTotalCount(...)
secreteOutsideCellAtBoundaryTotalCount(...)
secreteOutsideCellAtBoundaryOnContactWithTotalCount(...)
secreteInsideCellAtCOMTotalCount(...)
and similarly for uptake:
uptakeInsideCellTotalCount(...)
uptakeInsideCellAtBoundaryTotalCount(...)
uptakeInsideCellAtBoundaryOnContactWithTotalCount(...)
uptakeOutsideCellAtBoundaryTotalCount(...)
uptakeOutsideCellAtBoundaryOnContactWithTotalCount(...)
uptakeInsideCellAtCOMTotalCount(...)