## 2 Development of the System for Point-Data Pre-Processing
### Module 4--Fuzzy-Based Reduction of Point Data  
This module (Figure 6(a)) represents the most sophisticated segment of the presented system. The developed approach is based on improvement of the existing decision-making procedures by application of fuzzy logic and introduction of an additional parameter--_maximum allowed deviation_. The approach is integrated into three sampling-based methods for point data reduction--the chordal method, straightness method, and spatial method [19, 21, 40]. To eliminate the problems which stem from the specific values of decision-critical input parameters entered by the user, and create a more user-friendly system, a new, synthetic parameter was introduced  
Figure 6: (**a**) Algorithm of the developed module for point data reduction based on fuzzy logic. (**b**) Algorithm of the fuzzy-logic-based point data reduction by method of straightness. under the name _reduction coefficient_ (_RC_), and its maximum allowed value was defined as _maximum allowed reduction coefficient_ (_MARC_). For all three methods the RC parameter was derived based on method-specific parameters (which is given a detailed explanation within method descriptions to follow), and an additional input parameter _maximum reduction error (MRE)_, _i.e._, the maximum allowed reduction error (_MARE_), introduced to allow the maximum reduction error to be controlled. Detailed descriptions of software procedures for the method of straightness is given below, while for other two integrated methods--spatial and chordal--they can be found in [41] and [42], respectively. The straightness method for reduction of point data (the mathematical background of the method is explained by relations (3) and (4) and illustrated in Figure 7) is based on two parameters \(\Phi\) and \(\Psi\)[40]. These parameters, together with parameter _MRE_, were used as input variables for the fuzzy logic system used for decision-making. The only difference being that \(\Phi\) and \(\Psi\) were used not as two independent parameters, but rather as a sum of values. Such approach was allowed by the fact that both parameters were compared against the same reference value--_the defined level of straightness_ (_DLS_). This means that by simply defining the boundary values for fuzzy system input, \(\Phi\leq DLS\) and \(\Psi\leq DLS\), the fuzzy rules can be fed the sum \(\Phi+\Psi\) as a single parameter. For sake of simplicity, this parameter is further on denoted as \(\Omega\). The procedure for fuzzy logic-based reduction is illustrated in Figure 6(b) and comprises the following: _MARE_ is defined to allow the software application to compute _MARC_, set of points is selected for computation of parameters (an array of four consecutive points) and parameters \(\Phi\) and \(\Psi\) are computed, _i.e._, their sum \(\Omega=\)\(\Phi+\Psi\). Preliminary elimination of the second point in sequence is performed in order to calculate the _MRE_. Based on the computed parameters, and the fuzzy rules defined, _RC_ is computed. By comparing the _RC_ against the predefined _MARC_, a decision is made whether to eliminate or to retain the analyzed point. In case that the second point in the array is eliminated, the new set for analysis is composed of points 1, 3 and 4 from the previous set, and the next point in the scanned array, while in the case when no elimination occurred, the new set is composed of points 2, 3, and 4 from the previous set, and the next point in the scanned array. After the last point in the scanned array has been selected, and the first run of the reduction procedure is finished, a change of direction in the selected point set is performed which means that the last point in the scanned array of the last run, becomes the first point in the next run, which makes the process of  
Figure 7: Principle of point data reduction based on straightness [40]. reduction more even. The process is re-iterated on a reduced scanned point array until it is possible to eliminate at least one point in a single run.