2
$\begingroup$

I have a 3D shape in a 3D binary image. Therefore, I have a list of all of the x,y,z points. If I am to analyze this shape for various identification, such as "sphericity", volume, surface area, etc., what are some of the choices do I have here?

$\endgroup$
  • 1
    $\begingroup$ Can you be more specific? Your problem domain will often inform good features/descriptors. $\endgroup$ – bjoernz Feb 10 '12 at 16:38
  • $\begingroup$ I want to check the following features against the shape that I got: sphericity, smoothness, compact, volume, and surface area. Something like this. For instance, checking for sphericity. A perfect sphere shape should yield 100% sphericity value, while some other random shapes will yield other values < 100%. Does that explain a bit? ^^; $\endgroup$ – Karl Feb 10 '12 at 17:08
  • $\begingroup$ Does it have noise or the only error is discretization? $\endgroup$ – mirror2image Feb 12 '12 at 16:15
  • $\begingroup$ In this question, assume that all noises do not exist. $\endgroup$ – Karl Feb 14 '12 at 4:59
2
$\begingroup$

To approximate the volume ($V_{counted}$) you need to count all the voxels.

To roughly approximate the surface area ($A_{approx}$) count all the voxels that have an "empty" voxel as a neighbor. (Have a look at Marching cubes or Marching tetrahedrons for more inspiration and a more detailed discussion on how to determine a surface element).

In order to determine the sphericity I would calculate the minimal bounding box$^1$, take the largest axis and regard it as the diameter: $V_{calc} = \frac{4}{3}\pi r^3$

Since your features ($f_{vol}$, $f_{area}$, $f_{sphere}$, $\dots$) should be in the interval $[0, 1]$ (or 0% - 100%) you simply need to divide the smaller value by the larger value:

$f_{vol}(V_{counted}, V_{ref}) = \frac{\min(V_{counted}, V_{ref})}{\max(V_{counted}, V_{ref})}$

$f_{area}(A_{approx}, A_{ref})$ and $f_{sphere}(V_{counted}, V_{calc})$ accordingly.

$f_{compactness} \tilde{=} f_{sphere}$, since a sphere is the most compact volume.

I hope you can understand, what I am trying to say, and hopefully the answer you are looking for is somewhere in here.

$^1$ if your data is not aligned, you may have to align it first (PCA).

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.