# A Novel 3D Topography Stitching Algorithm Based on Reflectance and Multimap
## 2 Materials and Methods
### New Reflectance-Based Stitching Algorithm  
The stitching algorithms aim to detect a high gradient but they are statistically less present in topographies than in images. A data type fulfilling the high gradient condition is a reflectance map, which is used in the new developed stitching algorithm. In this new algorithm, reflectance maps are obtained by simulating the reflectance on the surface topographies measured by the profilometers. The reflectance simulation is based on [PERSON]'s model [56]. Figure 2 shows a scheme representing the principle of reflectance: a light source, located at a (\(\theta\), \(\phi\)) position, is directed towards a surface and a camera receives the light reflected by the surface.  
\begin{table}
\begin{tabular}{c c c c c} \hline \hline \multirow{2}{*}{**Test Case ID**} & \multicolumn{2}{c}{**Stitching Size**} & \multirow{2}{*}{**Measurement**} & \multicolumn{2}{c}{**Objective Lens**} & \multirow{2}{*}{**Roughness Scales**} \\  & [X \(\times\) Y Pixels Per **Elementary Map**] & & & **Apparatus** & **Resolutions [\(\mu\)m]** \\ \hline \multirow{2}{*}{A} & 2 \(\times\) 2 & Interferometer, ZygoTM & \(\times\)50 & \multirow{2}{*}{Mesoscopic} \\  & [640 \(\times\) 480] & NewView 7300 & (0.219 \(\times\) 0.219) & \\ \hline \multirow{2}{*}{B} & 3 \(\times\) 3 & Focus variation & \(\times\)10 & \multirow{2}{*}{Macroscopic and \multirow{2}{*}{Microscopic}} \\  & [2040 \(\times\) 2040] & microscope, & & \\ \multirow{2}{*}{C} & 5 \(\times\) 5 & Focus variation & \multirow{2}{*}{\(\times\)20} & \multirow{2}{*}{Macroscopic} \\  & [1840 \(\times\) 1840] & microscope, & AliconaTM & \\ \multirow{2}{*}{D} & 10 \(\times\) 13 & Interferometer, & \(\times\)115 & \multirow{2}{*}{Microscopic} \\  & [640 \(\times\) 480] & BrukerTM ContourGT & (0.198 \(\times\) 0.198) & \\ \hline \hline \end{tabular}
\end{table}
Table 2: Measurement configurations for stitching test cases.  
The lighting and viewing angles influence the reflectance map. By lighting the surface at a high \(\theta\) angle, i.e., at a grazing angle, each peak is half-lighted on a side and half shaded on the other. This creates a high gradient region in the interface between lighted and shaded sides of each peak, as seen in the reflectance map shown in Figure 3. Based on this observation, the reflectance-based stitching algorithm was named _'rising sun stitching algorithm'_, as most objects (for example, buildings) are lighted on only one side at sunrise. As topography is composed of multiple peaks of various scales, this light and dark interface pattern is always present when computing the reflectance map. Moreover, numerical gradient on reflectance maps has a lower sensitivity to discretization error compared to numerical gradient on topographic map [57], as most computer vision-based 3D topography stitching algorithms do during registration. Reflectance maps are then suited for computer vision-based registration algorithms.  
However, as reflectance maps do not contain the third spatial component (i.e., \(z\)-axis component), they are not sufficient for 3D topography stitching. Therefore, the idea is to use a multimap registration algorithm: reflectance maps, computed from the elementary topographies to stitch, are used for the in-plane registration (with cross-correlation on reflectance maps), while the original topographic datasets make the out-of-plane registration possible. Then, the question is the selection of the most suited lighting and viewing angles for optimizing the stitching.  
Figure 3: Example of blasted TA6V surface topography (**a**) and an associated reflectance map (**b**).  
Figure 2: Scheme of reflectance principle—extracted from [57].