# C3 VFC: A Method for Tracing and Quantification of Microglia in 3D Temporal Images
## 2 Background on Vector Field Convolution  
Vector field convolution (VFC) was proposed as an external force field for an active contour method used in image segmentation. The basic idea was to compute vectors that pointed at image edges and then to diffuse such forces across the image via tensor convolution. The resultant VFC fields are robust to noise and to the initialization of an active contour [32]. The convolution-based approach was also used to reconstruct a skeleton for neuron images in [33] by acquiring a VFC medialness map, an enhanced medial-axis image, which they used to create a graph minimum spanning tree. However, these methods rely on finding the correct scale to accurately reconstruct the image, but result in disjointed segments due to intensity inhomogeneity and noisy images. The authors attempted to reconnect the disjointed segments using a graph-connectivity algorithm that was based on the orientation and distance of the segments from one another [34; 35]. Attempting to reconnect disjointed segments in glia images based on orientation and distance result in incorrect connections due to the complexity of branches within one cell and between other intra-cell branches.  
Our method, C3 VFC, utilizes VFC in an open curve tracing methodology to find the critical points and centerline, or skeleton, of multiple objects within 3D videos. This technique, based on VFC, is an enabling image analysis technology that paves the way for reliable microglia reconstruction.  
In [32], the open curve is a parametric active contour model that is deformed toward edges in the image, controlled by the external and internal energy. The external force guides the active contour towards the edges using image features. The internal force is guided by the qualities of the contour, such as smoothness or tautness. The contour is represented as a set of contour points \(\mathbf{v}(s)=[x(s),y(s),z(s)]\) and the initial points are parameterized between \(s\in[0,1]\). The initialized snake contour is evolved by minimizing an energy functional:  
\[E=\int_{0}^{1}[\frac{1}{2}(\alpha|\mathbf{v}^{\prime}(s)|^{2}+\beta|\mathbf{v }^{\prime\prime}(s)|^{2})+E_{ext}(\mathbf{v}(s))]ds \tag{1}\]  
where \(\alpha\) and \(\beta\) are the parameters for controlling smoothness and bending of the contour, respectively. In [32], the authors defined the external energy, \(E_{ext}\), with the vector field convolution force, \(\mathbf{f}_{pc}(\mathbf{v})\).  
An active contour model for open splines needs to be constrained so that the points along the contour do not drag into itself and vanish. For every iteration, the curve is updated where the set of contour points may shrink or grow. For a vector field that points towards the medial axis of an object, the intensity inhomogeneity within the object may cause parts of the medial axis to have a greater pull on the vector field. However, constraining the end points of a contour for a non-continuous structure, such as a microglia, typically involves splitting an object into multiple parameterized contours, or branches. In [21], the authors constrained the open curve snake by evolving the contour one point, or seed, at a time, controlling the elasticity and connection of all seed points to each other, which, if used in larger data sets, could be computationally expensive. Other open curve snake methods improved on this work by automatically initializing fewer, more accurate, seed points to evolve the seeds toward each other following the gradient vector field [36; 37; 38]. These methods largely rely on finding seeds that are already initialized on the centerline.