## 2 Proposed Segmentation Methodology
### Adaptive Cylindrical Neighborhood Definition  
The way in which the neighborhood of a laser point is defined significantly affects the set of attributes computed for that point. In this research, a definition that considers both the three-dimensional relationships between irregularly-distributed points and the shapes of surfaces(especially, planes) is applied. The shapes of the surfaces on which associated points are located are incorporated into the neighborhood definition. This means that the adopted neighborhood definition considers, in taking into account the proximity of the points, only those points that are located on the same surface. Points on different surfaces, on the other hand, are not considered to be neighbors, even if they are spatially close. This definition increases the homogeneity among neighbors. Conceptually, the neighborhood definition starts by determining a cylinder whose axis is normal to the surface to which the point of interest belongs (refer to Figure 1). Significantly, the axis of this cylinder will be changed according to the orientation of the surfaces. It is for this reason that this neighborhood definition is referred to as the adaptive cylindrical neighborhood definition. The present research introduced an iterative procedure and considered the weights of points in order to make the neighborhood definition more reliable. At this stage, one should note that it is not necessary to directly determine the axis of the cylinder in this study. In other words, the cylinder will be determined from the plane fitting and a buffer threshold. More detailed explanation of the neighborhood definition procedure will be as follows. 1. Define the neighborhood by a sphere that is centered on the considered point. 2. Compute an initial fitted plane using the neighboring points determined in step 1. 3. Calculate the shortest Euclidean distances between the plane computed in step 2 and the associated points belonging to the neighborhood. 4. Construct a weight matrix while considering values of the distances calculated in step 3. 5. Re-compute a plane using the weight matrix and the neighboring points. 6. Repeat steps 3 to 5 until plane parameter convergence or the completion of a maximum number of iterations. 7. Determine the final neighborhood after discarding points (_i.e._, outliers) whose distances are higher than a determined threshold. 8. Apply steps 1 to 7 for every point in the dataset  
More specifically, the neighborhood definition starts by establishing a spherical neighborhood centered at each point (this neighborhood definition appears in [29]). In other words, the radius of the sphere centered on the considered point is determined to include a sufficient number of points to define reliable attributes, or \"plane parameters\". At this stage, we can consider point spacing, possibility of having outliers within those points (_i.e._, points that do not belong to the planar surface), and noise level within the datasets. The points in this spherical neighborhood are used to determine, through a least squares adjustment procedure, an initial fitted plane for the point in question. Since this research deals with airborne and terrestrial data, the datasets contain various planar patches with different slopes and aspects. An appropriate mathematical representation of such planar patches is, therefore, applied in this research, as seen in Equations (1) and (2):  
\[aX+bY+cZ=d \tag{1}\]  
\[a^{2}+b^{2}+c^{2}=1 \tag{2}\]  
Figure 1: Schematic concept of the adaptive cylinder neighborhood definition. where \((X,Y,Z)\) are the coordinates of a point, \((a,b,c)\) are the direction cosines of the surface normal vector of the plane, and \(d\) is the shortest Euclidean distance between the origin of the coordinate system and the plane. The result of the initial plane fitting using the points belonging to a spherical neighborhood is illustrated in Figure 2a. After the first plane is derived, the shortest Euclidean distances between the plane and the associated points are computed, as illustrated in Figure 2a.