# Re: thinning operation

```I'm not sure whether it's impossible, but I do know that most thinning algorithms will shorten the line (especially
with variable width).  I've used the 'THIN' function and also implemented in IDL some algorithms published in
literature such as ones by Zhang and Suen.  What I've done about the line shortening effect is to return the end
pixels of each line.  This is done by extending points from the thinned line in the direction of the last two
pixels and comparing it to the original thick line.  If there was a pixel in the thick line, then extend the thin
line one pixel and keep going.  I described this in the journal:
Medical & Biological Engineering & Computing, November, 1998.
authors:  Spisz, T.S.; Fang, Y.; Reeves, R.H.; Seymour, C.K.; Bankman, I.N.; Hoh, J.H.;

By your questions and your previous question about 'LABEL_REGION', I'm guessing that you are trying to find the
length of certain things in an image.  I've published a couple papers on this in addition to the one I listed
above.

Hope this helps.

--tom spisz

---------------------------------------------------------------------------------
Julia wrote:

> What I mean is that if it is a curve line with variable width, how can
> I get the not-shorten skeleton. Do you mean it's impossible?
>
> Julia
>
> Craig Markwardt <craigmnet@cow.physics.wisc.edu> wrote in message news:<on66cw7420.fsf@cow.physics.wisc.edu>...
> > julia65201@usa.net (Julia) writes:
> >
> > > Hi, there,
> > >
> > > In IDL, the THIN function returns the "skeleton" of a bi-level image.
> > > But if it is a line, the reslut is shorter than the original one. How
> > > can I prevent that?
> >
> > Make sure your lines don't have ends?
> >
> > Craig
> >
> > :-)

```