Polyline Reduction/Smoothing

Lossless Vectorisation
The raw WinTopo vectorisation engine will produce a lossless vector representation of the thinned raster image. It is lossless in that a vector is produced for every change in direction of a line of pixels, where it deviates from horizontal, vertical or 45 degree diagonal. Here is an example from the topomap sample raster:

23 Vectors

The lossless example shows that the resulting vector image can be rather angular, containing a lot of zig-zags from pixel to pixel. Usually it is desirable to suppress this zig-zagging, and so there is the Smooth option. This option is turned on by default. Here is the same sample raster with smoothing, but no other enhancement:

23 Vectors

Smoothing has the effect of adjusting the vector vertices (end points) so as to make the polyline run smoothly from pixel to pixel, yet retaining maximum accuracy. You will see from this that there are still 23 vectors produced for this sample.

Polyline Reduction
An alternative to the smoothing option is the Polyline Reduction option. This is used for suppressing the zig-zag effect of the lossless vectorisation, but also to reduce the quantity of vectors. The polyline reduction algorithm determines which sequences of vectors could be replaced with a single straight vector without compromising accuracy.
This is very useful where a large complex drawing is being converted which would otherwise generate a huge number of vectors, possibly too many for your CAD/GIS system to cope with. Polyline Reduction will usually reduce the drawing file size by 60% to 80%, depending on the particular drawing complexity.
Here is the same sample raster with PolyLine Reduction, but no other enhancement:

4 Vectors

You can see that 23 vectors have been reduced to just 4. This is very good, producing a vast reduction in output file size and still giving a good accuracy to the raster image.

However, you can see that some of the finer detail has been lost. To control how much detail is lost there is a Tolerance value which can be varied. The tolerance value represents the amount of deviation from the lossless vectorization which is permitted for polyline reduction. The deviation is measured in tenths (1/10) of pixel widths. So a tolerance of 10 means that the reduced vectors should stray no more than 1 pixel width from the lossless vectors.
The sample above was peformed with a polyline reduction tolerance of 12, which has allowed some vectors to pass close by, but not cover a few of the pixels. In order to ensure that all pixels are covered by a vector you need to drop the tolerance down to about 7 or 8.
Here is a sample with a tolerance of 7:

10 Vectors

You can see that the polyline reduction tolerance can be varied so as to trade off output file size reduction against fine detail accuracy. By default Polyline Reduction is turned on, and the tolerance is set to 8.

Polyline Reduction and Smoothing
Both the smoothing and the polyline reduction can operate together. This will usually produce the best results.

When both options are turned on Wintopo does the smoothing first, then passes the smothed vectors through the polyline reduction process. The advantage of this is that it allows you to drop the polyline reduction tolerance much lower, to increase accuracy, whilst still achieving a high level of output file size reduction.
Here is the same sample raster with both Smoothing and Polyline Reduction with a tolerance of 4:

9 Vectors

Finally, here is an example of smoothing with a higher polyline reduction tolerance of 12, where just 5 vectors are generated, but achieving better accuracy than the example with the same tolerance but no smoothing:

5 Vectors