Physics¶
Some of the underlying physics of the system.
Tension balance¶
The model assumes that any given image of a cell colony is quasi-static. This means that we can perform a force balance at every node in the colony. The force balance per node can be written as:
where n is a node, e_n are the edges connected to node n, t is the tension of edge i connected to node n and v is the local tangent vector of edge i connected to node n. This can be formulated as a system of equations:
where G is the matrix of coefficients and gamma is the matrix of edge tensions. Since the system of equations is overdetermined, we can apply a normalization constraint (average tension is 1) to get
The quality of the tension inference can be determined by tension residuals per node and the condition number of the tension matrix. DLITE uses the same underlying physics, but formulates the system of equations as an unconstrained optimization problem with an objective function defined as
This includes a regularizer to reduce sensitivity to poorly conditioned systems of equations. Further, we use initial guesses of edge tensions from the previous time point. The inferred tensions are then normalized to 1. We use Scipy’s Basinhopping global optimization routine to obtain solutions at the first time point and the unconstrained optimizer L-BFGS-B to infer solutions at all subsequent time points.
Pressure balance¶
Given that the colony is quasi-static, we can perform a pressure balance across every edge in the colony. This pressure balance can be written as:
where \(p_i\) and \(p_j\) are the 2 cells connected to edge \(e\). \(t\) and \(r\) are the tension and radius of edge \(e\). The system of equations for every edge can be formulated as a matrix:
where G_p is the matrix of coefficients, p is the matrix of pressures and q is the matrix of edge tensions/edge radii. Since the system of equations is over-determined, this can be solved by adding a normalization constraint (average pressure is 0) as:
In DLITE, we formulate this as an optimization problem with an objective function
This is solved as an unconstrained optimization problem using initial guesses from the previous time point.