In Geometric Morphometrics, landmarks are placed to define homologous points on the bodies of organisms. Typically, this involves placing landmarks at the intersection of tissues, where the point can be defined precisely by different users. Unfortunately, it is common that interesting components of shape variation occur in areas where standard landmarks cannot be defined because of the lack of appropriate anatomical structures. In this case, a special type of landmark called a sliding semilandmark can be used to define the outline of the body or the structure under study. Sliding semilandmarks do not define homologous points but tend to work well for describing biologically interesting variation along the outline of a form that would otherwise be missed if using only traditional landmarks. Sliding semilandmarks have the property that they can slide along the outline of the form that they define during the Procrustes alignment. For more information on their use and properties see:
-Bookstein, F. L. (1997). Landmark methods for forms without landmarks: Morphometrics of group differences in outline shape. Medical Image Analysis, 1(3), 225–243. https://doi.org/10.1016/S1361-8415(97)85012-8
-Gunz, P., & Mitteroecker, P. (2013). Semilandmarks: A method for quantifying curves and surfaces. Hystrix, the Italian Journal of Mammalogy, 24(1). https://doi.org/10.4404/hystrix-24.1-6292
In this tutorial, we will learn how to incorporate sliding semilandmarks in a geometric morphometric analysis using the R package Geomorph. The example involves studying body shape variation among populations of a relatively uncommon tetra,Pseudochalceus lineatus, that is endemic to Western Ecuador.
Let’s start by defining the working directory, where your input file is and where you will work. Note that the code below is for where I am setting up my working directory on my computer. You will need to modify the code to set the working directory where you want it on your own computer.
setwd(“C:/1awinz/R_work/pseudochalceus”)
Now let’s open the package Geomorph.
library(geomorph)
## Loading required package: RRPP
## Loading required package: rgl
## Loading required package: Matrix
## Warning: package 'Matrix' was built under R version 4.2.3
At this point, we are ready to read the data file using the following command. Note that the example data file is in tps format, a common format for saving landmark data in geometric morphometrics.
data <- readland.tps("00_Pseudochalceus_all_b.TPS", specID = "imageID")
##
## No curves detected; all points appear to be fixed landmarks.
Now you need to tell Geomorph which landmarks are the semilandmarks. Do this by defining them in a column vector. In this case, we have 13 sliding semilandmarks:
curves <- matrix(c(2, 3, 5, 6, 9, 10, 15, 16, 18, 19, 21, 22, 24), ncol = 1)
Part 2:
sliders <- define.sliders(curves, nsliders = 13)
Finally, we are ready for the Procrustes alignment. This is where all landmarks are aligned across all specimens in the study to eliminate variation in landmark position related to how the specimen was placed when photographed and its size. We can then plot the alignment, which will show the consensus configuration and how the position of the aligned landmarks varies among the specimens in the study. This variation illustrates how body shape varies among our specimens.
gpa <- gpagen(data, curves = sliders)
##
## Performing GPA
##
|
| | 0%
|
|================== | 25%
|
|=================================== | 50%
|
|======================================================================| 100%
##
## Making projections... Finished!
plot(gpa)
Now that the landmarks have been aligned, you can conduct a number of downstream analyses to examine how shape varies among your specimens.
Good luck with your research!