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()