Performing a GPA with sliding semilandmarks on surfaces

As with curve semilandmarks, the gpagen function requires that the user identify which landmarks are to be treated as surface semilandmarks:

data("scallops")
scallops$surfslide
##       [,1]
##  [1,]   17
##  [2,]   18
##  [3,]   19
##  [4,]   20
##  [5,]   21
##  [6,]   22
##  [7,]   23
##  [8,]   24
##  [9,]   25
## [10,]   26
## [11,]   27
## [12,]   28
## [13,]   29
## [14,]   30
## [15,]   31
## [16,]   32
## [17,]   33
## [18,]   34
## [19,]   35
## [20,]   36
## [21,]   37
## [22,]   38
## [23,]   39
## [24,]   40
## [25,]   41
## [26,]   42
## [27,]   43
## [28,]   44
## [29,]   45
## [30,]   46



This takes the form of a simple vector (above) that lists the surface semilandmarks. This matrix is specified under the surfaces argument as shown here:

GPA <- gpagen(scallops$coorddata,curves = scallops$curvslide, surfaces = scallops$surfslide, print.progress = FALSE)

plotAllSpecimens(GPA$coords)
rglwidget()