Karl
Karl

Reputation: 5733

Tools for 3D shape analysis

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 a shape for various identification, such as "sphericity", "spiky"-ness, volume, surface area, etc., what are some of the choices do I have here?

Upvotes: 3

Views: 688

Answers (1)

Rethunk
Rethunk

Reputation: 4113

Could you post a sample shape? Do you have a complete set of points on the surface and interior of the shape? Are the points evenly spaced? Is this synthetic data, or perhaps a point cloud from a 3D scan?

A few ideas:

  1. Calculate the 3D convex hull of the points. This will give you the outer "envelope" of the points and is useful for comparison with other measurements. For example, you can compare the surface area of the convex hull to the surface area of the outer surface points.
  2. Find the difference between "on" voxels in the convex hull and "on" voxels in the raw point set. You can then determine how many points are different, whether there is one big clump, etc. If the original shape is a doughnut, the convex hull will be a disk, and the difference will be the shape of the hole.
  3. To calculate spikiness, you can think of comparing the Euclidean distance between two points (the "straight line" distance) and the shortest distance on the outer surface between those two points.
  4. Compare the surface area of the raw data to the surface area after a 3D morphological "close" operation or some other smoothing operation.
  5. To suggest a type of volume calculation, we'd need to know more about the point set.
  6. Consider the Art Gallery Problem to 3D. Are there points on the surface not visible to certain points in the interior? Is the shape convex or star convex?

A good reference for geometric algorithms is Geometric Tools for Computer Graphics by Schneider and Eberly. It's pricey new, but you can probably find a cheap used copy in good condition at addall.com. I suspect you'll find all the answers you want and more in that book. http://www.amazon.com/Geometric-Computer-Graphics-Morgan-Kaufmann/dp/1558605940

One of the authors maintains a site on the same subject: http://www.geometrictools.com/

Another good textbook is Computational Geometry in C by Joseph O'Rourke. http://www.amazon.com/Computational-Geometry-Cambridge-Theoretical-Computer/dp/0521649765/ref=sr_1_1?s=books&ie=UTF8&qid=1328939654&sr=1-1

Upvotes: 1

Related Questions