We adapt \(\alpha \) -shapes [1]}, [2]} to develop a more flexible method for quantifying stripe–interstripe curviness in zebrafish patterns. As we discussed in §REF , \(\alpha \) -shapes provide a means of describing the boundary of a point cloud and are a generalization of its convex hull; see Figure REF . Here our point cloud consists of the coordinates of \(X^\text{d}\)  cells associated with each interstripe cluster from Step 4. One interstripe at a time, we construct an \(\alpha \) -shape and extract the coordinates of the \(X^\text{d}\)  cells lying on its boundary using the built-in MATLAB functions alphaShape and boundaryFacets (with holes suppressed). This leads to a sequence of coordinates \((\textbf {X}^\text{d,bnd}_i)_{i=1,...,N^\text{bnd}}\)  that are the vertices of our \(\alpha \) -shape, wrapping around the interstripe. We next find the first index \(k\)  in this sequence with \(x\) -coordinates equal to the maximum \(x\) -coordinates in the sequence. Because we sort the list of \(X^\text{d}\)  cells with respect to their \(x\) -coordinates in Step 4 before clustering into interstripes, this index splits the boundary \(X^\text{d}\)  cells in a way that captures the top and bottom boundaries of the interstripe: specifically, we consider the sequences \((\textbf {X}^\text{d,bnd}_i)_{i=1,...,k}\)  and \((\textbf {X}^\text{d,bnd}_i)_{i=k,...,N^\text{bnd}}\) . To complete the process, we remove the cells in both of these sequences that fall within 100 \(\mu \) m (inclusive) of the right or left boundaries of the domain and renumber indices as neededUsing 100 \(\mu \) m here is a choice that we do not investigate further. Excluding this small region near the right and left boundaries of the pattern is fairer to both models. In particular, because we crop CA domains lengthwise in Step 1, they could potentially be at a disadvantage when computing curviness, since ABM domains have the benefit of unaltered periodic boundary conditions in \(x\) . In addition to helping us separate cell coordinates into upper and lower boundaries, cropping the region of the pattern for which we compute interstripe curviness by 200 \(\mu \) m puts both models on equal footing.. This last step ensures that we have excluded the right and left boundaries of our \(X^\text{d}\)  point cloud. The result is two sequences of cell coordinates tracing out the top and bottom boundaries of the interstripe in question.
