DOI: 10.5061/dryad.v41ns1s6t
title: Data-driven quasiconformal morphodynamic ﬂows

description: Temporal imaging of biological epithelial structures yields shape data at
 discrete time points, leading to a natural question: how can we
 reconstruct the most likely path of growth patterns consistent with these
 discrete observations? We present a physically plausible framework to
 solve this inverse problem by creating a framework that generalises
 quasiconformal maps to quasiconformal flows. By allowing for the
 spatio-temporal variation of the shear and dilation fields during the
 growth process, subject to regulatory mechanisms, we are led to a type of
 generalised Ricci flow. When guided by observational data associated with
 surface shape as a function of time, this leads to a constrained
 optimization problem. Deploying our data-driven algorithmic approach to
 the shape of insect wings, leaves and even sculpted faces, we show how
 optimal quasiconformal flows allow us to characterise the morphogenesis of
 a range of surfaces. 
description: # Data-driven quasiconformal morphodynamic ﬂows
 [https://doi.org/10.5061/dryad.v41ns1s6t](https://doi.org/10.5061/dryad.v41ns1s6t) ## Contributors * Salem Mosleh: The University of Maryland Eastern Shore. * Gary Choi: The Chinese University of Hong Kong * L. Mahadevan: Harvard University ## Description of the data and file structure In each dataset, there are 30 times steps arranged into subfolders containing the vertices, faces, landmark indices, and other derivative quantities defining the mesh at a given timestep. The units of measurement in the dataset are dimensionless since each dataset is normalized according to its total area in the analysis.  There are two preprocessing Mathematica notebooks, one for planar and one for 3D surface data. After preprocessing, which generates extra files in the mesh folders, you can run the Python code for planar and surface meshes with and without landmarks (each case has a different script). After this runs and saves the resulting files in the "Run Results" folder, the Mathematica files can plot results for the planar and surface cases separately.  The primary datasets used in the paper (see accompanying paper for further details and the corresponding figure for an illustration of the dataset) are:  "disc_shear" - A planar disc undergoing simple shear, expanding along the x-axis.  "buckeye_butterfly" - Data generated from images of developing butterfly wings as described in the text, taken from the reference below. This data is planar  "hawk_moth" - Data generated from images of developing moth wings as described in the text, taken from the reference below. This data is planar "leaves" - 3D Data generated from growing avocado leaves, taken from the reference below. The datasets "leaves_long1,2" and "leaves_short" differ in the number of time points taken from the dataset. "david_to_sphere" - Synthetic 3D data showing a face (Michelangelo's David) deforming into a sphere. There are different versions differing in the mesh resolution.  "expanding_sphere - A sphere that expands by a factor or 2.  "rotating_cylinder" - Synthetic 3D data of a rotating cylinder.  "sphere_ellipsoid" - A sphere expanding along an axis to form an ellipsoid.  "Wigly_Cylinder" - A cylinder undulating along its length (the z-axis) and deforming according to the Ricci flow or deforming into a cylinder.   "Old" - Contains datasets that have not been used in the final analysis. These differ in the number of vertices used and other details from the datasets that were used.  Datasets with similar names (*_1k*, *_1.5k*, etc.) represent variation in the number of vertices (1k = 1000 vertices).  ### Files and variables #### File: Mesh\_Data.zip **Description:** The meshes are here. Each folder contains around 30 subfolders for the different times. The data is saved as .txt or csv.   The data, which starts in the .txt format, is converted in Mathemtica to .csv, which is the only form used in subsequent analysis in Python and visualization in Mathemtica.  Vertex positions are arranged into number_of_vertices X d, where d is 2 for planar datasets and 3 for 3D datasets. The variable number_of_vertices will be the number of all the vertices for "vertices.csv", "vertices_deformed.csv" (corresponding vectors on next timestep), "normal_deformed_intersection" (corresponding vectors on next timestep generated by normal intersection), and "normal.csv" (normal vectors). Others arrays will have a smaller number of vertices depending on the context, "landmark_displacement.csv" gives the displacement for landmark points, whose indices in the "vertices.csv" array is given in "landmark.txt". Similarly for "boundary_indices.csv" and corresponding "boundary_normal.csv". "faceAreas.csv", "Cgaussian.csv", "Cmean.csv", "CurvatureTensors.csv": Give the area, Gaussian, mean, and components of the curvature tensor for each triangle.  "faces.csv" gives for each triangle the corresponding indices of the vertices that make it up. This contains the same data as "faces.txt" and "facesnew" "GaussianFilter.csv"is a Gaissuan filter used to smooth out data across different triangles. It is number_of_faces * number_of_faces matrix (see text for more details). "facesNeibs.csv"  gives for each face the indices of the neighboring faces (as they appear in the "faces.csv" array).  "principal_curv1,2" and "principal_dir1,2" are the principal curvatures and directions at each vertex, which are used the calculation of the Gaussian and mean curvatures and "CurvatureTensors.csv" "distance.csv" is the distance between the surfaces at time t and t+1, in the normal direction to the surface at time t.  "boundary_T.txt" and "boundary_TxN.txt" are the boundary tangents and boundary normal along the surface.  "gradCostMat.csv" is a matrix used in gradient computations as described in the manuscript.  ## Code/software The software runs in Mathematica 13 and python 3.9 ## Access information Other publicly accessible locations of the data: * [https://github.com/salem-harvard/Quasi-conformal-Flows](https://github.com/salem-harvard/Quasi-conformal-Flows) Data was derived from the following sources: * Nijhout HF, Cinderella M, Grunert LW. 2014 The development of wing shape in Lepidoptera: mitotic density, not orientation, is the primary determinant of shape. Evol. Dev. 16, 68–77 * Derr J, Bastien R, Couturier É, Douady S. 2018 Fluttering of growing leaves as a way to reach flatness: experimental evidence on Persea americana. J. R. Soc. Interface 15, 20170595