TL;DR
This paper presents a method to compute circular area and spherical volume invariants of surfaces using boundary integrals, enabling efficient analysis of 3D shapes without ambient space discretization.
Contribution
It introduces a boundary integral approach for computing surface invariants, extending to higher dimensions and applicable to triangulated meshes, with potential applications in anthropology.
Findings
Provides analytical formulas for invariants on triangulated meshes
Enables computation without ambient space discretization
Applicable to feature detection on 3D surfaces
Abstract
We show how to compute the circular area invariant of planar curves, and the spherical volume invariant of surfaces, in terms of line and surface integrals, respectively. We use the Divergence Theorem to express the area and volume integrals as line and surface integrals, respectively, against particular kernels; our results also extend to higher dimensional hypersurfaces. The resulting surface integrals are computable analytically on a triangulated mesh. This gives a simple computational algorithm for computing the spherical volume invariant for triangulated surfaces that does not involve discretizing the ambient space. We discuss potential applications to feature detection on broken bone fragments of interest in anthropology.
| Mesh size | Radius | |||||
|---|---|---|---|---|---|---|
| (# triangles/#vertices) | ||||||
| 45,360/22,678 | 0.19s | 0.69s | 2.5s | 6.1s | 10.3s | 16.8s |
| 90,722/45,359 | 0.67s | 2.1s | 8.9s | 26.2s | 40.7s | 66.7s |
| 181,444/90,720 | 2.0s | 7.8s | 32.8s | 83.3s | 151.4s | 268.4s |
Peer Reviews
No public reviews on file for this paper yet. If you reviewed it on a platform where reviews are public (OpenReview, ICLR, NeurIPS, ICML), you can paste yours below so the community can read it here.
Code & Models
Videos
No videos yet. Explain this paper in a talk, walkthrough, or lecture? Add one.
\symAMSb
03F
Computation of Circular Area and Spherical Volume Invariants via Boundary Integrals
Riley O’Neill, Pedro Angulo-Umana, Jeff Calder, Bo Hessburg, Peter J. Olver, Chehrzad Shakiban, and Katrina Yezzi-Woodley
Department of Mathematics, University of St. Thomas
School of Mathematics, University of Minnesota
Department of Anthropology, University of Minnesota
Abstract.
We show how to compute the circular area invariant of planar curves, and the spherical volume invariant of surfaces, in terms of line and surface integrals, respectively. We use the Divergence Theorem to express the area and volume integrals as line and surface integrals, respectively, against particular kernels; our results also extend to higher dimensional hypersurfaces. The resulting surface integrals are computable analytically on a triangulated mesh. This gives a simple computational algorithm for computing the spherical volume invariant for triangulated surfaces that does not involve discretizing the ambient space. We discuss potential applications to feature detection on broken bone fragments of interest in anthropology.
Funding: The authors are grateful to the National Science Foundation for support under grant NSF-DMS:1816917, the University of St. Thomas Center for Applied Math, and a University of Minnesota Grant in Aid award. Source Code: https://github.com/jwcalder/Spherical-Volume-Invariant
1. Introduction
The aim of this paper is to facilitate the computation of certain integral invariants that have been proposed for applications in digital image processing, namely, the circular area and spherical volume invariants, as defined below. We show that both can be efficiently evaluated by reducing them to boundary integrals — line or surface integrals, respectively, — plus an additional term that depends only on the local surface geometry, thus enabling them to be computed directly from the curve or surface image data.
More specifically, given a Jordan plane curve with interior , at each point in the curve , the value of the (local) circular area invariant of radius at is defined as the area (Lebesgue measure) of the region given by the intersection of the interior of the curve with a disk of radius centered at the point , denoted :
[TABLE]
The circular area is clearly invariant under Euclidean motions of the curve, of course assuming one relates the base points accordingly. The ability of the local circular area invariant to uniquely characterize the curve up to Euclidean motion is discussed in detail in [9]. See Figure 1a for an illustration. For sufficiently smooth curves, e.g. , the circular area invariant is related to the curvature at the point by the asymptotic expansion [9]
[TABLE]
A global invariant can be obtained by averaging over the curve:
[TABLE]
where length denotes the length of .
Similarly, given a closed surface bounding a domain , we define the spherical volume invariant at each point to be the volume of the solid region given by intersecting the interior of the surface with a sphere of radius centered at the point :
[TABLE]
as illustrated in Figure 1b. Again, invariance under three-dimensional Euclidean motions is clear. For surfaces, the spherical volume invariant is related to the mean curvature of the surface via the expansion
[TABLE]
where is the mean curvature of at , and is a surface. The spherical volume invariant has proven useful for feature extraction [39, 32, 33], and a further analysis of the shape of the region provides a robust estimation of the second fundamental form — see [33] and Subsection 3.2. Again, one can produce the corresponding global spherical volume invariant by integrating the local invariant over the entire surface.
These quantities clearly extend to the corresponding hyperspherical volume invariant of closed hypersurfaces in . Our main result is the general formula (3.13) that expresses this integral invariant in terms of a hypersurface integral over . In the planar case, with , our general formula reduces to a useful formula (2.3) or (3.15) for the circular area invariant in terms of a suitable line integral over the curve . For surfaces in dimensional space, it reduces to the key formula (3.16) for the spherical volume invariant in terms of a surface integral over . Our results apply to Lipschitz codimension submanifolds, which allows to be a triangulated mesh, as is often used to approximate surfaces in practice. These new formulas are simple and fast to implement on a triangulated mesh. In particular, our method does not require discretizing the ambient three dimensional space off the surface, as was done using octrees and the Fast Fourier Transform in [32]. Similar ideas can be used to evaluate other integral invariants, although a number of them are already expressed in terms of integrals of the type sought after here.
This paper was motivated by an ongoing project to analyze and reassemble broken bone fragments, a problem of significant interest in anthropology, paleontology, and surgery, building on earlier work of two of the authors on planar and surface jigsaw puzzle reassembly, [20, 18]. A recent undergraduate REU project, [38], has successfully applied the circular area integral invariant to planar jigsaw puzzle reassembly, following [20]. Indeed, one can easily envision modifying the circular area invariant in order to incorporate designs (writing, pictures, texture) that may appear on the puzzle pieces, potentially relying on some form of digital inpainting algorithm, [6, 7, 11, 12], to extend the design in the circular region on one side of the curve to the other, after which it could be compared to other potential matches, or, alternatively use of texture information to effect the reconstruction, as advocated in [35, 34].
Another potential application of these invariants is the detection of fracture edges, meaning ridges delineating the boundaries between original surfaces of the bone and break surfaces. Paleoanthropologists and zooarchaeologists study human biological and behavioral evolution and are interested in fracture edges because they provide valuable information about the agent of fragmentation [13, 17, 30], which may be, for example, humans, large carnivores, trampling, geological processes, or hydraulic action [26, 21]. Determining the agent of fragmentation is essential for reconstructing how archaeological sites were formed. Fracture edges can also be used to find bones that refit, which aids in the identification of taxa and skeletal elements of vertebrates found at sites [4]. We propose to detect fracture edges by thresholding the spherical volume invariant, and demonstrate by showing results of detecting fracture edges on bone fragments in Section 5.
The circular area and spherical volume invariants are particular cases of the general theory of integral invariants, [19, 23, 31], which have also been successfully applied to a variety of image processing problems. See [16] for applications of the moving frame method to their classification and signature construction under basic group actions, e.g., Euclidean and equi-affine geometries. Distance histograms underly the widely used methods of shape contexts, [5], and shape distributions, [28]. Histograms based on various geometric invariants (lengths, areas, etc.) play a fundamental role throughout a broad range of modern image processing algorithms, including shape representation and classification, [2, 37], image enhancement, [37, 36], the scale-invariant feature transform (SIFT) [22, 29], its affine-invariant counterpart (ASIFT), [40], and object-based query methods, [8].
1.1. Outline
In Section 2 we give a simple formula for the circular area invariant in terms of a line integral. In Section 3 we study the spherical volume invariant, and show how to use the Divergence Theorem to convert the volume integral into a surface integral, yielding a new formula for the invariant. Furthermore, in Subsection 3.2, we show how to extend our methods to estimate the principal curvatures of the surface by adapting the methods based on Principal Component Analysis (PCA) on local neighborhoods developed in [33]. Finally, in Section 5 we discuss numerical implementations and present the results of numerical experiments on real data. We use the Euclidean norm on throughout, leaving the investigation of more general norms to a future project.
2. The Circular Area Invariant
As a warmup, we consider the local circular area invariant (1.1). We assume is the oriented boundary of an open bounded domain with Lipschitz boundary. Consider a point with . Consider the vector field
[TABLE]
and notice that . By the Divergence Theorem, we can express the circular area invariant as
[TABLE]
where denotes the unit outward normal to the curve in the first line integral and to the circular boundary in the second. Let us parametrize the circular boundary of the disk by , so that
[TABLE]
Let be the angles at which the curve intersects the disk , assuming for the moment there are only 2 intersections and that lies inside the disk for . Now, the second term in (2.1) is
[TABLE]
Therefore, our formula for the circular area invariant is
[TABLE]
Notice this only involves integration along the curve . The contour integral is a correction from the flat setting where is a line and , since in this case and on .
It is straightforward to generalize (2.3) to more than two intersections of and . If the intersections occur at angles , and lies inside the disk111We ignore any intersection point where, nearby, remains on one side or the other of the boundary of the disk. for for . Then we have
[TABLE]
3. The Spherical Volume Invariant
Having established a formula in the simple case of the two dimensional circular area invariant, we now turn to the spherical volume invariant (1.4). The argument used in Section 2 is not practical in three dimensions, since the integration over in (2.1) becomes a surface integral, which defeats the point of reducing the calculation to an integral on the boundary surface.
We thus take a slightly different approach. Since the resulting formula will be applicable in all dimensions , we proceed in general. We assume our hypersurface is the boundary of an open and bounded set with Lipschitz boundary. Without loss of generality, we take , and set to be the ball of radius centered at . The hyperspherical invariant at is thus
[TABLE]
Define the vector field
[TABLE]
For any divergence free vector field , whereby , we can express via the Divergence Theorem as
[TABLE]
where denotes the outward normal to in the first term, and to in the second. The first term is an integral over the surface , as we seek, while the second is an integral over , which is undesirable.
Now, the idea is to choose the vector field so that the second term vanishes, yielding our formula. Noting that on , we see that must satisfy
[TABLE]
We will construct as for a harmonic function . Then (3.4) is equivalent to the Poisson problem
[TABLE]
If we look for a smooth solution of (3.5) then the compatibility condition
[TABLE]
must hold. This would require modifying the boundary condition away from , which is impractical, since the set could be arbitrarily small, and is dependent on the particular point chosen on the surface.
Instead of seeking to satisfy the compatibility condition (3.6), we relax the requirement that is smooth but continue to impose the boundary condition in (3.5). We allow to have a singularity at the origin, and thus consider the Poisson problem
[TABLE]
on the punctured ball. A solution to the latter boundary value problem is given by
[TABLE]
where is the measure of the unit ball in , and
[TABLE]
is the fundamental solution of Laplace’s equation. Thus, we are effectively circumventing the compatibility condition (3.6) by placing a point source at the origin. Due to the singularity of , the argument leading to (3.3) is no longer valid, and we need to proceed more cautiously.
First, we note that, for any ,
[TABLE]
Let . By the Divergence Theorem and the boundary condition in (3.7) we have
[TABLE]
where denotes –dimensional Hausdorff measure. Therefore
[TABLE]
All that is left is to send , and we state the consequence as a theorem.
Theorem 1**.**
Let be open and bounded with Lipschitz boundary . Let and assume the limit
[TABLE]
exists. Then we have
[TABLE]
A few remarks are in order.
Remark 2**.**
Notice the integrand in (3.13) has a singularity at . Since is only assumed to be Lipschitz, the singularity may not be integrable, and so we define the integral via its principal value
[TABLE]
which exists thanks to (3.11) and (3.12). If then we have
[TABLE]
and so the kernel singularity is integrable on the dimensional surface.
Remark 3**.**
If the surface is differentiable at then , and thus
[TABLE]
Since a Lipschitz surface is differentiable almost everywhere, the formula (3.14) holds at almost every point of .
Remark 4**.**
If the surface is a triangulated mesh and is a vertex of the mesh, then
[TABLE]
at all points in the vertex polygon associated to (i.e., the triangles adjacent to ), and where denotes the unit normal to the triangle containing . Thus, the kernel is integrable on triangulated meshes. Moreover, exists, and (3.13) holds, for every . In Subsection 3.1, we derive an explicit formula for on a triangulated mesh in terms of the vertex polygon of .
Remark 5**.**
The limit (3.12) defining may fail to exist at a point of non-differentiability of a Lipschitz hypersurface . Consider, for example, and take the curve to be the graph of the Lipschitz function
[TABLE]
Take the interior of to be the epigraph . Then the limit (3.12) does not exist at , since along the sequence we have .
Remark 6**.**
Finally, let us note that in dimension , the formula (3.13) reads
[TABLE]
In dimension , it becomes
[TABLE]
3.1. An analytic expression for on a triangulated mesh
We give here an analytic expression for , defined in (3.12), when is a vertex of a triangulated mesh surface in . Let us assume we have made a translation and rotation so that the vertex under consideration is and the unit outward normal vector at the origin is . Of course, there is no well-defined normal at the vertex itself, and so should chosen to be “close” to the nearby unit normals, in that it approximates the normal to the smooth surface represented by the mesh. For example, it could be the normalized average of the normals to the triangles in the vertex polygon; another possibility is that it is the normal to the least squares approximating plane to the vertices adjacent to .
The computation of involves only the vertex triangles that are adjacent to the vertex . See Figure 2 for a depiction of these triangles and the area of the sphere we wish to compute. Since the outward normal at is , we will also assume that the outward unit normal vector to each vertex triangle satisfies222We will exclude “bizarre” vertices where this assumption does not hold under any reasonable choice of the normal at . . Finally, in view of the definition (3.12) of , we may extend the vertex triangles to in the radial direction, and compute
[TABLE]
where is the region above the (extended) vertex triangles in the -direction.
We work in spherical coordinates
[TABLE]
The edges of the vertex triangles containing the origin will be called vertex edges, and we let be their corresponding spherical angles. We order the vertex edges and triangles so that
[TABLE]
and, for convenience, set with azimuthal angle . The vertex triangles are similarly ordered, so that has vertex edges and . Observe that the vertex edges of are ordered so that form a left-handed frame, keeping in mind that, by the preceding assumption, the normal points downwards.
Each vertex triangle intersects the unit sphere along a curve
[TABLE]
connecting to . In terms of the intersection curves we can compute
[TABLE]
where
[TABLE]
We can find an explicit formula for . Indeed, the face is described by the plane
[TABLE]
Therefore, the intersection curve (3.19) satisfies
[TABLE]
and hence
[TABLE]
Noting the identity
[TABLE]
we have
[TABLE]
Since
[TABLE]
we can simplify the preceding formula to read
[TABLE]
We note that is the two-argument function, which gives the angle in radians between the positive -axis and the ray from the origin to the point , returning values in the interaval . Integrating yields
[TABLE]
This yields the following explicit formula:
[TABLE]
Unwrapping the definitions we have
[TABLE]
It follows that
[TABLE]
We also note that
[TABLE]
where is any point along the edge .
3.2. Principal component analysis on local neighborhoods
The spherical volume invariant of a surface in is a robust estimator of its mean curvature, due to the asymptotic expansion given in (1.5). However, it gives no information about other differential geometric quantities of interest, such as the second fundamental form, the individual principal curvatures, the Gauss curvature, or the directions of principal curvature.
To capture additional geometric information, we follow [33] and analyze the shape of the region . In particular, it is suggested in [33] to perform principal component analysis (PCA) on this region, that is, we compute the eigenvalues of the symmetric matrix333Here we take to be a column vector.
[TABLE]
where
[TABLE]
is the centroid of , cf. (1.4). Assuming is sufficiently smooth, it was shown in [33] that the eigenvalues of have the asymptotic expansions
[TABLE]
where are the principal curvatures of the surface at the point , and, in the last formula, the term gives the mean curvature
[TABLE]
Moreover, the first two corresponding eigenvectors are approximately tangent to the surface, and, assuming we are at a non-umbilic point, offer an approximation of the directions of principal curvatures, while is approximately normal to the surface and is an approximation of the unit normal. Thus, the matrix provides a robust estimation of the second fundamental form of at a non-umbilic point .
Let us now show how to compute the matrix via surface integrals, as we did for the spherical volume invariant in Theorem 1. While these results are mainly of interest in dimension , we carry out the derivation for an arbitrary dimension . Noting that
[TABLE]
it suffices to compute the first two moments
[TABLE]
in terms of which the entry of is given by
[TABLE]
The computation of and in terms of surface integrals is relatively straightforward, compared to the computation of . In what follows, denote the standard basis vectors in , and is the Kronecker delta.
Lemma 7**.**
Let us abbreviate . Then, for any , we have
[TABLE]
and
[TABLE]
Proof.
Without loss of generality, we may assume . Then and we write . We first prove (3.34). Define the vector field
[TABLE]
By the Divergence Theorem,
[TABLE]
On the spherical portion of the boundary , we have and so
[TABLE]
since on . This completes the proof of (3.34).
We now prove (3.35). Define the vector field
[TABLE]
By the Divergence Theorem, we have
[TABLE]
On the portion of the boundary
[TABLE]
which completes the proof. ∎
4. Implementation
Let us next discuss how to compute the surface integrals from Theorem 1 and Lemma 7 on a surface given as a triangulated mesh, which is often the case in practice. The integrals we wish to compute all have the form
[TABLE]
for various choices of kernel function . We adopt the convention that if , and hence rewrite (4.1) as simply
[TABLE]
Let denote the triangles in the triangulated surface . Then we can write
[TABLE]
We show in Sections 4.1 and 4.2 that the triangular integrals appearing in the summation can be computed analytically for all of the kernels used in this paper. Let us note that on the right hand side of (4.3), we need only sum over triangles that have non-empty intersection with . However, it is computationally expensive to perform a range search to find all such triangles, especially for large meshes. In our implementation, we instead perform a depth first search on the triangle graph of the mesh, starting at any triangle adjacent to , and terminating when all triangles in the connected component of containing are found. While the depth first search has linear complexity and is very fast in practice, it will fail to find any additional connected components of that do not contain . On the other hand, this may be a desirable property of the algorithm, especially if one is primarily interested in the local geometry of the mesh.
4.1. Analytic integration over triangles
Let us show how all the integrals considered in this paper can be computed analytically over triangles . For simplicity, we take , write , and consider a triangle .
For the spherical volume invariant, for any triangle with the surface integral (3.13) from Theorem 1 requires us to compute
[TABLE]
Since is constant over the triangle , we have
[TABLE]
where is any point belonging to , such as its centroid or one of its vertices, while denotes the surface area of . The remaining integrand is known as a hypersingular kernel, and arises, for instance, in the boundary element method for solving partial differential equations [3]. The integral of this hypersingular kernel over any planar triangle can be computed analytically [27] provided , which we may freely assume since when . For convenience, we recall the analytic formula, which is rather tedious and derived in [27], in Appendix A.
For PCA on local neighborhoods, the integrals we need to compute from Lemma 7 correspond to
[TABLE]
Since and are constant over , we just need to compute the quantities
[TABLE]
Let us denote the vertices of by . The first integrand in (4.5) is linear, and so the integral can be computed analytically with the three point stencil
[TABLE]
For , we compute the integral in barycentric coordinates
[TABLE]
Computing
[TABLE]
and
[TABLE]
we have
[TABLE]
If we were to denote the vertices by , say, then (4.7) would have the simple form
[TABLE]
and similarly for (4.6).
4.2. Boundary triangles
For triangles that have a non-empty intersection with the boundary of the ball , the integral over cannot be computed analytically. To determine whether a triangle intersects , we compute
[TABLE]
and check whether . To compute , it is sufficient to check the vertices of the triangle, since is convex. The computation of is more tedious, since the minimum distance may occur interior to . To compute we orthogonally project the origin onto the plane containing the triangle , calling the projection . If , then . If , then we find the closest point to the projection , and therefore by the Pythagorean Theorem.
To compute the integral over such boundary triangles, we fix a maximum desired side length and recursively bisect the triangle along the line segment connecting the midpoint of its longest side with the opposing vertex. We stop the bisection procedure on a given subtriangle if , or the maximum side length of , denoted , falls below . See Figure 3 for an illustration of the bisection process. We compute the integration over analytically if , or with the approximation
[TABLE]
if , where are the vertices of . We note the approximation error is bounded by
[TABLE]
where
[TABLE]
denotes the oscillation of the function over the triangle . Now, let so that
[TABLE]
Note that is reduced throughout the bisection procedure, since the diameter of triangles that intersect is decreasing. Since the triangles in (4.10) belong to , the error in computing (4.2) is bounded by
[TABLE]
where denotes the surface area of . We assume that for the mesh , there exists a constant , independent of and , such that
[TABLE]
Therefore, our approximation error is at most
[TABLE]
where is defined in (4.10). We note the volume growth assumption (4.12) is convenient, in that it leads to a simple form for the integration error (4.13). However, the analysis below can be easily carried out with other assumptions in place of (4.12), if needed. The volume growth assumption is true for smooth surfaces, with small, and hence for any triangulated mesh that well-approximates a smooth surface.
The application of (4.13) depends on the context. For the spherical volume invariant, we have
[TABLE]
where . For any triangle with maximum side length less than and satisfying , we have
[TABLE]
Thus, from (4.10) can be chosen as . Since the spherical volume invariant scales with , it is reasonable to select an error tolerance and ask that the integration error is bounded by . Thus, invoking (4.13) we find that should be selected so that and
[TABLE]
Note that we are discarding the constant in (4.12), since we are only interested in how should scale with and . If so that , this condition can be approximated by . In particular, the triangle refinement is more important for small radii , and for sufficiently large , no refinement is needed.
For PCA on local neighborhoods, we have two integrals to compute. The first (3.34) corresponds to
[TABLE]
Since is not Lipschitz, the oscillation bound is at best
[TABLE]
provided . Thus, from (4.10) can be chosen as . Inspecting (3.31), we see that it is reasonable to ask that the integration error is bounded by , for an error tolerance parameter . Combining this with (4.13) the restriction on becomes .
The second integral (3.35) required by PCA on local neighborhoods corresponds to
[TABLE]
As before, we bound the oscillation by
[TABLE]
provided , and so . By (3.31) we see that it is natural to bound the integration error by , yielding again the condition .
5. Numerical experiments
We now present the results of numerical experiments using our method to compute the spherical volume invariant for triangulated surfaces arising from standard images, and for real experimental data arising from a project to classify and reassemble broken bone fragments in an archaeological context. For brevity, we will not discuss the much simpler case of curves and the circular area invariant. Our code is written in C and can be run from Matlab via the MEX interface, and from Python via an extension module. The code is available for download on GitHub: https://github.com/jwcalder/Spherical-Volume-Invariant
We first consider the standard test case of the Stanford dragon [14]. Figure 4 shows the spherical volume invariant for radii computed on the dragon. In Figure 4, and in all other plots below (unless otherwise specified), the colors indicate the values of the spherical volume invariant, with red indicating the lowest value and blue corresponding to the highest. For the dragon, and all other experiments, we used an error tolerance of for bisecting boundary triangles. In the case of the dragon, the maximum triangle bisection depth was 8 and the maximum number of sub-triangles in any refinement was 57.
We mention that the original version of the Stanford dragon exhibits some non-manifold geometry. In particular, there are stray vertices not connected to triangles, and some edges are shared by more than 2 triangles. On such meshes, our method can produce unpredictable results, such as negative values for volumes, since Theorem 1 no longer holds. This can be easily remedied by cleaning the mesh with any standard mesh software package before running our code, or obtaining the mesh from a reliable algorithm, such as isosurfacing. For our experiment with the Stanford dragon reported in Figure 4, we obtained a version of the Stanford dragon in PWN (Points with Normals) format from [1], and converted to a clean triangulated mesh using the code provided in [1].
Our method is computationally efficient for large meshes. Table 1 shows the wall-clock times444“Wall-clock” time refers to the actual amount of time taken to perform the operation, as opposed to CPU time, which is often used to refer to how much time the processor spent on the job. for computing the spherical volume invariant with our method on the dragon for various radii. We also include results for lower resolution versions of the dragon for comparison. We can see the complexity of our method scales quadratically with the radius , as expected. These CPU times are comparable to the FFT methods reported in [33]. We note FFT methods require coarsely discretizing the ambient space, resulting in larger numerical errors.
Let us next compute the spherical volume invariant on broken bone fragments that have been scanned and digitized for anthropological applications, as outlined in the introduction. Figure 5 shows the spherical volume invariant plotted over bone fragments at different radii, demonstrating how varying the radius allows one to change the scale of detected features. Here, the values of the spherical volume invariant are normalized with a power-law correction , with unless otherwise stated, to maximize contrast for visualization. We note that for larger radii in Figure 5, the spherical volume appears to be discontinuous at distance from a sharp fracture edge, which may be a desirable feature, depending on the application. This is due to our use of the connected component of in computations, which fails to explore the opposite side of the fragment if does not intersect the fracture edge. We also computed the principal curvatures via PCA on local neighborhoods. Figure 6 shows the Gauss curvature and Figures 7 and 8 show the two principal curvatures for some of the fragments. We did not include figures for mean curvature, since they are identical to those in Figure 5 for the spherical volume invariant, except with the colors reversed.
We can detect fracture edges by thresholding the spherical volume invariant. Edge points are taken as those with spherical volumes less than one standard deviation below the mean spherical volumes for the whole fragment. Figure 9 shows the results of fracture edge detection on several bone fragments and the Stanford Dragon. This simple approach gives a rough outline of most fracture edges. In future work, we plan to investigate automated algorithms for choosing the thresholds as well as the prospect of using the spherical volume invariant with more sophisticated edge detection methods, such as active contours [10] on surfaces, or graph-cut segmentation algorithms [24, 25, 15].
6. Conclusion
In this paper, we showed how to compute a class of integral invariants, including the circular area invariant and the spherical volume invariant, in terms of line and surface integrals over the bounding curve and surface. The method is computationally efficient to implement on a triangulated mesh, since it involves simply integrating a function over the mesh triangles, which, when the triangle lies inside the ball, can be done explicitly. In particular, it does not require discretizing the ambient three dimensional space. We showed how to numerically implement the integration accurately and efficiently, and presented the results of some numerical experiments with real data.
Acknowledgements: The bone fragments depicted are from an adult elk (Cervus canadensis) femur that was broken by adult male spotted hyena (Crocuta crocuta) named Scruffy who resides at the Milwaukee County Zoo. The femur was disarticulated and defleshed prior to being fed to the hyena. All fragments were scanned with a DAVID white light scanner that was made available by the Evolutionary Anthropology Labs at the University of Minnesota. The authors also gratefully acknowledge discussions with Martha Tappen, Jacob Elafandi, and Jacob Theis.
Appendix A Analytic formula for a hypersingular integral
Here, for the reader’s convenience, we recall the analytic formula from [27] for the hypersingular integral
[TABLE]
where is a planar triangle in , such that . (We note that [27] includes analytic formulas for several such triangular hypersingular integrals involving other negative integer powers of .) Let denote the plane containing and the unit outward normal vector to and . In what follows, we take the triangle to be an open subset of , i.e., .
Let denote the orthogonal projection of the origin onto the plane . Let be the vertices of , given with positive orientation; for convenience of notation we write . Define
[TABLE]
where is the interior angle of at the vertex .
Let denote the oriented edge of the triangle from to . Associated with each edge , we construct an orthonormal basis for the plane with origin , taken in the direction of the edge , and chosen so that is an orthonormal basis for . Let
[TABLE]
be the planar coordinates of the vertex in the basis . By definition, , , and , since the vertices and lie along the line spanned by . We denote the common values as
[TABLE]
Finally, set , noting that , since . We then define
[TABLE]
using the branch of with values in . Finally, the hypersingular integral (A.1) is given by
[TABLE]
The reference list from the paper itself. Each links out to its DOI / PubMed record.
- 1[1] Pwn 2ply: Converter from pwn format to ply format. https://www.mathworks.com/matlabcentral/fileexchange/56709-pwn 2ply . Accessed: 2019-03-26.
- 2[2] M. Ankerst, G. Kastenmüller, H.-P. Kriegel, and T. Seidl. 3d shape histograms for similarity search and classification in spatial databases. Advances in Spatial Databases . R.H. Güting, D. Papadias, F. Lochovsky, eds., Lecture Notes in Comp. Sci., vol. 1651, Springer–Verlag, New York, 1999, pp. 207–226.
- 3[3] P. K. Banerjee and R. Butterfield. Boundary element methods in engineering science , volume 17. Mc Graw-Hill London, 1981.
- 4[4] L. E. Bartram Jr and C. W. Marean. Explaining the “klasies pattern”: Kua ethnoarchaeology, the die kelders middle stone age archaeofauna, long bone fragmentation and carnivore ravaging. Journal of Archaeological Science , 26(1):9–29, 1999.
- 5[5] S. Belongie, J. Malik, and J. Puzicha. Shape matching and object recognition using shape contexts. IEEE Trans. Pattern Anal. Mach. Intell. 24 (2002) 509–522.
- 6[6] A. Bertozzi, S. Esedoḡlu, and A. Gillette. Inpainting of binary images using the Cahn–Hilliard equation. IEEE Trans. Image Process. 16 (2007) 285–291.
- 7[7] A. Bugeau, M. Bertalmío, V. Caselles, and G. Sapiro. A comprehensive framework for image inpainting. IEEE Trans. Image Process. 19 (2010) 2634–2645.
- 8[8] E. ¸Saykol, U. Güdükbaya, and O. Ulusoya. A histogram-based approach for object-based query-by-shape-and-color in image and video databases. Image Vision Comput. 23 (2005) 1170–1180.
