TITLE: Enhancing lithic analysis: Introducing 3D-EdgeAngle as a semi-automated 3D digital method to systematically quantify stone tool edge angle and design
AUTHORS: Lisa Schunk, Anja Cramer, Konstantin Bob, Ivan Calandra, Guido Heinz, Olaf Jöris, Joao Marreiros

[DESCRIPTION]
This protocol describes a method ("3D-EdgeAngle") to measure edge angles on 3D models. The method is semi-automated and script based. 3D-EdgeAngle illustrates an objective way of measuring the edge angle at cross sections along the entire tool edge in defined steps and also allows measurements at different distances perpendicular to the edge. Depending on the scale of analysis, three parameters can be controlled accordingly. Within this protocol, all steps, starting from the acquisition of the 3D data to the statistical analysis, are described. Although the method is script based, 3D-EdgeAngle can also be executed manually. The protocol illustrates both versions. The scripts applied to perform the edge angle measurements are incorporated in the protocol as Zenodo links.

[STEPS]
SECTION: Samples
1. To demonstrate the applicability of the method, three samples have been selected:

1x experimental flake (EAP-flake)
1x Keilmessser (BU-072)
1x calibrated standard angle (WEM-60; gauge block) 
SECTION: Sample documentation
2.  Sample documentation is separated into two part: generating the 3D model via scanning and processing the 3D model.
SECTION: Definition of the edge
3. Surface curve

With a closed 3D model as a basis, some preparatory steps are necessary before calculating the edge angle: the digitalisation of the edge. The following step is manually done in GOM Inspect (GOM Software 2018, Hotfix 1, Rev. 111729, build 2018-08-22).
 
The edge of interest for calculating the edge angle needs to be defined. This step has to be done manually to reach the intended accuracy. Therefore, a "surface curve" has been added to each 3D model. This means, a polyline was defined by tracking the edge of the object as precisely as possible and later exported in an IGES-format.

  
SECTION: Samples
1.1. Experimental flake 

- made of Baltic flint (Southern Sweden, secondary deposit:  ; knapped by Frank Moseler)   
- one edge of the tool is in the distal part marginally, unifacially retouched

   
   
SECTION: Samples
1.2. Keilmesser

- artefact from the Late Middle Palaeolithic site of Buhlen, Germany   
- made of silicified schist 
- the tool has one distinct, retouched active edge characterised by the scare of a lateral tranchet blow 

 

  
SECTION: Sample documentation
2.1. 3D scanning 

The three samples were scanned with an AICON smartScan-HE R8 from the manufacturer Hexagon (software version OptoCat 2018R1), featuring a blue light LED and two black and white cameras with 8 megapixels each. The S-150 FOV (field of view) used has a point-to-point distance of 33 µm.  
 

 


The following settings have been used to scan the samples:

I. Turning on the system
Before using the AICON smartScan-HE R8 the system had to be warmed up for one hour in advance. 

II. Calibaration
The scanner was calibrated with the appropriate calibration plate. Accuracy was reached when the deviation of the calibration was  ≤ 7.5 µm for the FOV 150. 

III. Placing the sample
Each sample was placed in the middle of the turntable. Polystyrene was used to keep the samples in place. All three samples were scanned in an upright position. The sample holder (polystryrene) was covered with a black cloth.  

  
  
Note that for the calibrated standard angle some extra target marks on the sample were needed to make the aligning between the single scans possible. Thus, adhesive paper tags with symbols were placed on the calibrated standard angle. Despite ungreasing the metal surface of the sample, the adhesive paper tags showed a tendency to peel off after a period of time.    

  
IV. Acquisition settings  
"Automatic " was chosen as a scanning mode. This means, based on the rotation of the turntable, the scans get aligned. 
A new project was created named with the following structure "objectnumber_FOV_yyyymmdd".
The software offers the possibility to use clip planes to define parts of the FOV that will not be considered during the processing of the 3D model (i.e. the turntable and the sample holder). Thus, clip planes were defined, eliminating everything visible below the sample (Z-axis). For doing so, the software needs to be taught where the rotation axis is relative to the object and scanner. 
For initialising the scanning process, the number of grabs per scan (= different shutter times for an HDR scan) was selected with 4. The HDR-factor was set to manual so that the shutter time per grabs needed to be defined (light exposure). Different exposure times were selected between the grabs, guaranteeing that every part of the sample was sufficiently exposed for at least one of the grabs. The gain was 1x. 

  
  
V. Data acquisition
The number of scans per rotation (i.e. 360°) was defined with ten. For all scans, the chosen light settings stayed the same. After these ten scans, the sample was turned so that the previously covered parts of the samples were visible. A new 360° rotation with ten scans was performed. Sometimes, individual scans needed to be done before the turn of the sample could take place (when the alignment was not possible otherwise). After these two full rotations, the samples were scanned with as many single scans as needed to cover the entire surface of the samples adequately by moving the sample. 
Approximately 20 to 27 scans per tool were needed to create a closed model. 

  
VI. Alignment 
After acquiring the scans, the alignment was started. After starting the process, the software calculates a RMS (root mean square) value, which was ≤ 7.5 µm × deviation.

    
VII. Data processing 
The single 3D data (raw data) was opened in full resolution. The 3D data was cleaned by using the editing tools avaiable in the software. Doing so, scanned data not belonging to the actual sample could be removed (e.g. background). After this, the data was aligned again (see step VI.). In a final step, the cleaned 3D data was merged in full resolution. The raw data was saved and the 3D model was exported  in an STL-format. 


 
SECTION: Sample documentation
2.2. Editing of the 3D model 

One prerequisite for the application of 3D-EdgeAngle method is a closed 3D model. Thus, the 3D model in the STL-format was edited in the free software GOM Inspect 2018 (2018 Hotfix 2, Rev. 111729). 
 

The following steps were completed for each sample:

I. Import 3D model 
The file was imported and opened as a STL-format, as new part. As "target element" type "mesh" was chosen. 
In the right docking area, all information about the mesh could be seen.

II. Preparation 3D model 
Within the editing menu, individual points, which are not entirely connected to the 3D mesh were selected and deleted (edit -> selection in 3D -> other selections -> select patches by number of points -> max. percentage 5.0%;  edit -> delete selected points).

  
Then, existing holes in the mesh were filled by selecting all points of elements of the mesh (mesh turns red and number of holes can be checked in information;  operations -> mesh-> close holes -> automatically/interactively -> chose the max. hole size + max. number of edges).
 
    

After doing this step once, mesh errors were additionally eliminated (operations -> mesh -> other -> eliminate mesh errors).  
Depending on the number of holes these two steps were repeated until zero holes were left.  

III. Alignment 
In a final step, the samples were orientated (e.g., in case of the artefact the sample was orientated accoring to its technological features) following these steps: operations -> alignment -> manual alignment -> set matrix (first XYZ-rotation, then XYZ-translation)). 

IV. Export 
Each project was saved individually as a GOM Inspect file (*.ginspect). Moreover, each 3D model was again exported as STL. 

 

SECTION: Sections
5. Construction of the sections 

The "reference curve" is used for only one purpose, which is the definition of the sections. The sections are the cross profiles originating perpendicular from the "reference curve" and following the artefact surface for a defined length. These sections are also polylines as the vertical polylines along the edge and are always orientated in a 90° angle towards the "reference curve".  

To present 3D-EdgeAngle,  10 sections  per edge have been chosen as a parameter. In the manual version, however, the number of sections cannot be defined. Instead, the distance between the individual sections has to be determined. Thus, the distance has to be calculated.

To do so, the "reference curve" has to be converted into an "actual element". 

  
As soon as the "reference curve" is converted into an "actual element" , the length of the curve can be measured.  
 
  
The length in case of this "reference curve" is 82.29 mm. For ten sections in total, the lenght of the curve has to be divided by nine. Thus, the section distance is 9.14 mm.  

    
After the sections have been constructed, each section can be exported individually in an IGES format. 

   
SECTION: Calculation of the edge angle
6. a) 3-points procedure
The "3-points" measurement procedure is modelled on the  "caliper method" described by H. Dibble and M. Bernard in 1980.
 

Whereas the result of the "caliper method" is based on a measurement taken by a special modified calliper at a known distance from the edge of the artefact by using a formula, the "3-points" digital measurement is using the same topographical indices, here represented by 3 points. The first point is the intersection between the vertical polyline (the "surface curve") and the horizontal polyline (the section). The two other points are placed on the section, each on one surface, in a defined distance away from the intersection (see #6.1). Following this triangulation, the edge angle can be calculated between these three points.

 

b) 2-lines procedure
The "2-lines" measurement procedure takes the intersection between the two polylines, as described in #6a, as one point. Beginning with this point, it follows the section on both surfaces for a given distance. Until this step, the two procedures are identical. Unlike the previous procedure, these points on the section (blue dots on the figure below) are used as starting points for the definition of two constructed lines. The constructed lines have a defined length (see #6.1) and take the points as a centre from where they expand in both directions. The extremities of these lines are placed on the section (blue lines on figure below) Thus, the calculation of the edge angle takes the two lines and the intersection into account. 

   
c) best-fit procedure
The third way of calculating the edge angle, the "best-fit" procedure, is similar to the "2-lines" measurement. The difference is that the lines are constructed by finding the best fit along the defined length of the section. Therefore, the extremities of these lines are not necessarily placed on the section (blue lines on figure below).This has the advantage of reducing a possible error caused by small changes in the section direction. 
 
SECTION: Definition of the edge
4. 
 

Reference curve 

Since the surface curve, which is following the tool's edge, can be complex with several changes in direction, a second, so-called "reference curve" has to be defined. The reference curve is a smoothed version of the surface curve. As a sample distance, 1 mm has been selected. The filter radius for smoothening the curve is defined as high.  


  
  
Note that these settings have been chosen based on the resolution of the 3D model. Depending on the resolution/size/accuracy other parameters have to be selected. The "reference curve" has been exported in an IGES-format. 


4. 
 

Reference curve 

The first script defines the reference curve based on the surface curve. 
Available in open access on Zenodo: https://doi.org/10.5281/zenodo.7956767



SECTION: Sections
5.1. Transformation of the sections

With the next steps, the indivudal sections will be projected onto a 2D plane. This is not necessary for the calculation of the edge angles, but helpful in case of possible further analyses (e.g. curve sketching).

I. Convertion 
Since the "reference curve" was only created and used to define the sections, these steps are based on the original "surface curve" again.  
First, this "surface curve" needs to be converted into an "actual element". 


  
II. Point definition 
Three points need to be defined on each of the individual sections. The first point should be equal to the beginning of the section; the second equal to the end of the section. The third point should be somewhere between the first and the second point (~ middle of the section, but does not need to be precise). 

   
III. Alignment 
Each section plus the "surface curve" need to be aligned so that the orientation of the scanned tool is not inverted (in case of a lithic: orientated as a lithic would normally be looked at). This is done with the "3-2-1-alignment". 

  
IV. Definition of the intersection 
The intersection between the section and the "surface curve" needed to be defined. Thus, the distance between both elements was calculated in a first step. 

  
At the intersection, a point has been constructed (zooming in needed to place the point correctly). 
 
   
Finally, the constructed point at the intersection was set up as an origin of coordinates (thus, represents the digitalised surface curve on the section) .
 
  
V. Export
In a last step, the new orientated curve was exported in different formats.
The formats are: 
PNG 
IGES
ASCII
gom inspect project 

Note that these formats are not all needed to calculate the edge angle in a later step, but they can be useful for a quick visual control (PNG), additional analysis (e.g. curve sketching) etc. 
SECTION: Sections
5. Construction of the sections 

The second script defines the number of cross profiles originating perpendicular from the "reference curve" ( = sections). 
Available in open access on Zenodo: https://doi.org/10.5281/zenodo.7956767

SECTION: Sections
5.1. Transformation of the sections

In the third script, the individual sections are projected onto a 2D plane.
Available in open access on Zenodo: https://doi.org/10.5281/zenodo.7956767

SECTION: Calculation of the edge angle
6. The fourth and last script calculates the edge angle based on three different procedures:

a) "3-point" procedure
b) "2-lines" procedure
c) "best-fit" procedure

For details about the three measuring procedures see #6 in the MANUAL VERSION. 

The script exports the data as CSV files. 
Available in open access on Zenodo: https://doi.org/10.5281/zenodo.7956767
SECTION: Data analysis
7. Import and formating of the CSV files

To format and sort the data acquired with the GOM Insprect pro script (see step #6), an R script was written. 
This script reads all CSV files and imports them into single CSV files and single R files (one per sample).
 
Available in open access on Zenodo: https://doi.org/10.5281/zenodo.7961582. 

SECTION: Data analysis
7.1. Statistical evaluation  

A statistical analysis was then performed on the previously created three CSV files (see step #7). This step was done in the open-source software Python. 
 
Available in open access on Zenodo: https://doi.org/10.5281/zenodo.7961582. 
SECTION: Calculation of the edge angle
6.1. Parameter 

The parameters chosen for presenting the method are exemplary. In total, three different parameters are relevant for an edge angle calculation. One of these three is the number of sections defined along the tool’s edge, chosen here to be ten sections per tool. It is possible to choose a fixed number of equidistant sections per tool, as done here, or to define steps, e.g., every few millimetres. Additionally, the length of the sections have to be defined, which are 12 mm long in this case (see different options in the GitHub/Zenodo release: sections_SEC_NUM or sections_SEC_DIST).
Another parameter is the distance between the intersection and the points on the sections. In all three described measuring procedures, the intersection between the surface curve and the section determines one crucial point, but the other two points per measurement have to be defined numerically. Implemented as values in this study are 2 mm, 5 mm, and 10 mm. 
The last parameter is the lengths of the two constructed lines used in the "2-lines" and "best- fit" measuring procedures, which is here always 0.5 mm. 
 
SECTION: Data analysis
7. Import and formating of the CSV files

To format and sort the data acquired with the GOM Insprect pro script (see step #6), an R script was written. 
This script reads all CSV files and imports them into single CSV files and single R files (one per sample).
 
Available in open access on Zenodo: https://doi.org/10.5281/zenodo.7961582.

SECTION: Data analysis
7.1. Statistical evaluation  

A statistical analysis was then performed on the previously created three CSV files (see step #7). This step was done in the open-source software Python. 
 
Available in open access on Zenodo: https://doi.org/10.5281/zenodo.7961582. 
SECTION: Samples
1.3. Calibrated standard angle 

- made of certified steel 
- calibrated to 60°40' (60.67°)
- coated with oil to avoid corosion