A method for combining disparate scans of a common three-dimensional surface, the method comprising: obtaining a first three-dimensional model including a first plurality of sets of three-dimensional points spatially related to one another by a first camera path; obtaining a second three-dimensional model including a second plurality of sets of three-dimensional points spatially related to one another by a second camera path; wherein the first camera path and the second camera path are not directly spatially related; registering one of the first plurality of sets of three-dimensional points to one of the second plurality of sets of three-dimensional points to place the first three-dimensional model and the second three-dimensional model in a shared coordinate system; generating a first surface mesh of the first three-dimensional model and a second surface mesh of the second three-dimensional model, wherein registering includes registering the first surface mesh to the second surface mesh, thereby providing a combined surface, selecting a first selected one of the first plurality of sets and a second selected one of the second plurality of sets that overlap on the combined surface, wherein at least one of the first selected one and the second selected one is a set of three-dimensional data closest to a centroid of the combined surface; registering the first selected one of the first plurality of sets and the second selected one of the second plurality of sets, thereby creating a virtual stitch graph that spatially relates the first plurality of sets and the second plurality of sets, thereby providing a combined model that includes the first plurality of sets and the second plurality of sets all spatially related by a global camera path; and refining the combined model with a global camera path optimization on the global camera path by minimizing the accumulation of errors along the length of the global camera path. obtaining a first three-dimensional model including a first plurality of sets of three-dimensional points spatially related to one another by a first camera path; obtaining a second three-dimensional model including a second plurality of sets of three-dimensional points spatially related to one another by a second camera path; wherein the first camera path and the second camera path are not directly spatially related; registering one of the first plurality of sets of three-dimensional points to one of the second plurality of sets of three-dimensional points to place the first three-dimensional model and the second three-dimensional model in a shared coordinate system; generating a first surface mesh of the first three-dimensional model and a second surface mesh of the second three-dimensional model, wherein registering includes registering the first surface mesh to the second surface mesh, thereby providing a combined surface, selecting a first selected one of the first plurality of sets and a second selected one of the second plurality of sets that overlap on the combined surface, wherein at least one of the first selected one and the second selected one is a set of three-dimensional data closest to a centroid of the combined surface; registering the first selected one of the first plurality of sets and the second selected one of the second plurality of sets, thereby creating a virtual stitch graph that spatially relates the first plurality of sets and the second plurality of sets, thereby providing a combined model that includes the first plurality of sets and the second plurality of sets all spatially related by a global camera path; and refining the combined model with a global camera path optimization on the global camera path by minimizing the accumulation of errors along the length of the global camera path.