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_amountis subtracted fromcurrent_concentration, otherwise we subtractrelative_uptake*current_concentration. Typically,max_amountis >=1.0 whilerelative_uptakeis 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(...)