Very Computer

euclidean skeleton vs medial axis

I am a bit confused on the difference between the euclidean skeleton and the medial axis for a 2d curve. Their definitions seem to be identical.

Euclidean skeleton: the set of points X equidistant from at least two points of the curve, provided the distances are global minima

Medial axis: the locus of the centers of all maximal discs contained in the shape. A maximal disc contained in the shape is any circle with its interior that is contained in the shape (i.e., has empty intersection with the exterior of the shape) such that the circle touches the boundary of the shape at two or more points

I am a bit confused on the difference between the euclidean skeleton and the medial axis for a 2d curve. Their definitions seem to be identical.
Euclidean skeleton: the set of points X equidistant from at least two points of the curve, provided the distances are global minima Medial axis: the locus of the centers of all maximal discs contained in the shape. A maximal disc contained in the shape is any circle with its interior that is contained in the shape (i.e., has empty intersection with the exterior of the shape) such that the circle touches the boundary of the shape at two or more points

Quote:

>So, is there any difference between the two?

The definitions are the same but the implementation is very different and so may be the results when performed on a real image made of finite pixels. The skeleton is typically generated by a sequential erosion, that takes off boundary pixels until no more can be removed without breaking the feature into parts. That produces a line of pixels that lies near (but not always exactly on) the midline. For a simple example consider a feature that is 6 pixels wide. Depending on which side you started the erosion, the skeleton would lie on either column 3 or 4, either of which is slightly wrong. The medial axis on the other hand produces a set of points (not pixels) so its location is exact. Of course, when it is time to represent it on the image, it still has to be reduced to pixels and so it may be displaced from the theoretical location but some consistent rules for rounding off can be used, or an antialiased line can be drawn. Also, while it is not part of the definition above, the medial axis transform is often represented with values along the line that are the radii of the inscribed circles at each location, so it contains more information about the original feature "thickness" than the skeleton does. For all sorts of reasons the medial axis is a better tool, but as a practical matter most real programs generate the skeleton because it is faster. Regardless of how the program generates the data, the name given to the result may be wrong (i.e., since "skeleton" is a more widely known term, that name may be used even if the result is the MAT).

Quote:> I am a bit confused on the difference between the euclidean skeleton and > the medial axis for a 2d curve. > Their definitions seem to be identical.

But if you look more closely, they aren't. Note that a maximal contained discs will touch the outline in at least *three* positions, whereas the skeleton definition only mentions two contatct points. And to be contained in a shape, you have to *have* a shape to begin with, i.e. that definition works *only* for closed curves without self-intersections or other nastinesses.

I.e.: you can build a Euclidean skeleton even of an unclosed, finite curve segment, but not a medial axis as given by your definition. --

> > I am a bit confused on the difference between the euclidean skeleton and > > the medial axis for a 2d curve. > > Their definitions seem to be identical.

> But if you look more closely, they aren't. Note that a maximal > contained discs will touch the outline in at least *three* positions,

Not according to the OP's definition -> "the circle touches the boundary of the shape at two or more points"

Quote:> whereas the skeleton definition only mentions two contatct points. > And to be contained in a shape, you have to *have* a shape to begin > with, i.e. that definition works *only* for closed curves without > self-intersections or other nastinesses.

> I.e.: you can build a Euclidean skeleton even of an unclosed, finite > curve segment, but not a medial axis as given by your definition.

By your definition the medial axis is the endpoints (or joints) of the skeletal curve (or curves) of a closed shape. I did notice that a the OP's definition specified 2d for the medial axis but not for skelaton - that does seem to be a real difference.

I am looking for a code to find the medial axis of shapes on arbitary surfaces.I know that an algorithm exists for finding the axis for shapes on two dimensional plane surface,I want a code that works for arbitary surfaces.

I would appreciate if someone can help me on this or atleast give a good reference where I can get to know the theory behind it,so that I can formulate my own code.