28
28
*/
29
29
package net .imglib2 .mesh ;
30
30
31
+ import net .imglib2 .mesh .alg .InertiaTensor ;
31
32
import org .apache .commons .math3 .geometry .euclidean .threed .Vector3D ;
32
33
33
34
import net .imglib2 .RealPoint ;
34
35
import net .imglib2 .mesh .alg .hull .ConvexHull ;
35
36
import net .imglib2 .mesh .util .MeshUtil ;
37
+ import org .apache .commons .math3 .linear .EigenDecomposition ;
38
+ import org .apache .commons .math3 .linear .RealMatrix ;
36
39
37
40
/**
38
41
* Static utilities that compute various shape descriptors of a mesh.
@@ -44,6 +47,8 @@ public class MeshStats
44
47
* Computes the volume of the specified mesh.
45
48
*
46
49
* @return the volume in physical units.
50
+ * @implNote op names='geom.size', label='Geometric (2D): Size',
51
+ * priority='9999.'
47
52
*/
48
53
public static double volume ( final Mesh mesh )
49
54
{
@@ -88,6 +93,8 @@ public static double volume( final Mesh mesh )
88
93
* the input mesh.
89
94
* @return the mesh surface area.
90
95
* @author Tim-Oliver Buchholz (University of Konstanz)
96
+ * @implNote op names='geom.boundarySize', label='Geometric (3D): Surface Area',
97
+ * priority='10000.'
91
98
*/
92
99
public static double surfaceArea ( final Mesh mesh )
93
100
{
@@ -115,6 +122,8 @@ public static double surfaceArea( final Mesh mesh )
115
122
* @param mesh
116
123
* the input mesh.
117
124
* @return the mesh solidity value.
125
+ * @implNote op names='geom.solidity', label='Geometric (3D): Solidity',
126
+ * priority='10000.'
118
127
*/
119
128
public static double solidity ( final Mesh mesh )
120
129
{
@@ -133,6 +142,8 @@ public static double solidity( final Mesh mesh )
133
142
* @param convexHull
134
143
* the convex hull of the input, if it has been pre-calculated.
135
144
* @return the mesh solidity value.
145
+ * @implNote op names='geom.solidity', label='Geometric (3D): Solidity',
146
+ * priority='10000.'
136
147
*/
137
148
public static double solidity ( final Mesh mesh , final Mesh convexHull )
138
149
{
@@ -151,6 +162,8 @@ public static double solidity( final Mesh mesh, final Mesh convexHull )
151
162
* @param mesh
152
163
* the input mesh.
153
164
* @return the mesh convexity value.
165
+ * @implNote op names='geom.convexity', label='Geometric (3D): Convexity',
166
+ * priority='10000.'
154
167
*/
155
168
public static double convexity ( final Mesh mesh )
156
169
{
@@ -169,6 +182,8 @@ public static double convexity( final Mesh mesh )
169
182
* @param convexHull
170
183
* the convex hull of the input, if it has been pre-calculated.
171
184
* @return the mesh convexity value.
185
+ * @implNote op names='geom.convexity', label='Geometric (3D): Convexity',
186
+ * priority='10000.'
172
187
*/
173
188
public static double convexity ( final Mesh mesh , final Mesh convexHull )
174
189
{
@@ -188,6 +203,8 @@ public static double convexity( final Mesh mesh, final Mesh convexHull )
188
203
* @param mesh
189
204
* the input mesh.
190
205
* @return the mesh sphericity value.
206
+ * @implNote op names='geom.sphericity', label='Geometric (3D): Sphericity',
207
+ * priority='10000.'
191
208
*/
192
209
public static double sphericity ( final Mesh mesh )
193
210
{
@@ -214,6 +231,8 @@ public static double sphericity( final Mesh mesh )
214
231
* the input mesh.
215
232
* @return the mesh compactness value.
216
233
* @author Tim-Oliver Buchholz (University of Konstanz)
234
+ * @implNote op names='geom.compactness', label='Geometric (3D): Compactness',
235
+ * priority='10000.'
217
236
*/
218
237
public static double compactness ( final Mesh mesh )
219
238
{
@@ -237,6 +256,7 @@ public static double compactness( final Mesh mesh )
237
256
* @param input
238
257
* the input mesh.
239
258
* @return the centroid of the mesh.
259
+ * @implNote op names='geom.centroid', priority='10000.'
240
260
*/
241
261
public static RealPoint centroid ( final Mesh input )
242
262
{
0 commit comments