RE: [MORPHMET] Re: semilandmarks in biology
Dear Colleagues, So I’ve been wondering whether to wade into this issue.. There seems to be an undercurrent here of mathematics vs biology, but I suspect that the real issue here is probably morphometric theory versus the pragmatic compromises necessary when using morphometric tools to answer biological questions. Others on this thread have thought (and written) much more deeply about the interface of morphometric theory and biology than I have, but for what it’s worth, here are my two cents on this issue. Fundamentally, what is most important is that quantifications of morphology capture relevant biological variation while avoiding artifacts that can skew or mislead interpretation. That matters much more to than whether there is real homology or not. I'm not even sure what "real homology" for landmark coordinate data means in a biological sense, even for Type 1 landmarks. The "identity" or homology of landmarks tends to become messy pretty quickly when the underlying developmental biology is examined closely. I think Paul O'Higgins gave a great talk once on that basic theme if I remember correctly. Chris Percival also did a nice analysis showing how apparently obviously homologous landmarks that occur at intersections of major components of the face can drift in terms of the origin of the underlying tissue during development. So, I think we may sometimes get too hung up on this ideal that the points that we place on morphological structures actually represent something real. They are simply intended to quantify morphology within the context of a biological question. It's not landmarks but rather the patterns of variation that an analysis generates are the objective basis of study and those patterns are only objective within the context of a biological question. The key issue is avoiding artifacts that can influence biological interpretation. In terms of this discussion, clearly semi-landmarks present one kind of challenge where one has to be careful about artifacts. Another, perhaps more currently relevant challenge, however, is the quantification of variation in volumetric images or surfaces that have been nonlinearly registered to an atlas. In this case, one can place landmarks anywhere and recover the corresponding location in every specimen or image. That correspondence is a sort of homology and those landmarks are not slid around like semi-landmarks. However, they are not placed by an observer as distinct observations either. These kinds of points behave fairly similarly to manually placed points (albeit without measurement error and with artifacts that appear as one tries to register increasingly dissimilar shapes). However, I think that, driven by the needs of the biological questions, we are increasingly going to be using this kind of automated quantification of morphology in morphometric analyses, so we need to think carefully about how to validate such data. My own bias here is that appropriate validations address how well (and this can be defined contextually) such quantifications measure the biological effects of interest rather than how well they simulate the behavior of manually placed landmarks. I suppose this is an argument for biological pragmatism, but I hope some find this useful. Benedikt -Original Message- From: Adams, Dean [EEOBS] Sent: Wednesday, November 7, 2018 6:48 AM To: andrea cardini ; morphmet@morphometrics.org Subject: RE: [MORPHMET] Re: semilandmarks in biology Folks, I think it is important to recognize that the example in Andrea’s earlier post does not really address the validity of sliding semilandmark methods, because all of the data were simulated using isotropic error. Thus, the points called semilandmarks in that example were actually independent of one another at the outset. Yet a major reason for using semilandmark approaches is the fact that points along curves and surfaces covary precisely because they are describing those structures. Thus, this interdependence must be accounted for before shapes are compared between objects. The original literature on semilandmark methods makes this, and related issues quite clear. What that means is that evaluating semilandmark methods requires simulations where the points on curves are simulated with known input covariance based on the curve itself (difficult, but not impossible to do). But using independent error will not accomplish this. The result is that treating fixed landmarks as semilandmarks can lead to what some feel are unintended outcomes, just as treating semilandmarks as fixed points are known to do (illustrated nicely in Figs 1-4 of Gunz et al. 2005). But both are mis-applications of methods, not indictments of them. As to the other points in the thread (the number of semilandmark points, etc.), earlier posts by Jim, Philipp, and Mike have addressed these. Dean Dr. Dean C. Adams Director of Graduate Education, EEB Prog
Re: [MORPHMET] Re: Conceptual clarification of plotting shape deformation grids in geomorph
Dear colleagues, thank you so much for your guidelines regarding proper code syntax of the shape visualization of trajectory analysis! Thank you so much! Sincerely, Igor Dana srijeda, 7. studenoga 2018. u 14:53:47 UTC+1, korisnik Dean Adams napisao je: > > Igor, > > > > The components, $means contain the least squares means from the linear > model implemented in trajectory analysis. These can be visualized relative > to some reference (e.g., the overall mean shape), using ‘plotRefToTarget’. > Note that the $means must first be converted to a 2D array using > ‘arrayspecs.’ > > > > An example is below (see also relevant help files). > > > Best, > > > Dean > > > > ## > > data(plethodon) > > Y.gpa <- gpagen(plethodon$land) > > gdf <- geomorph.data.frame(Y.gpa, species = plethodon$species, site = > plethodon$site) > > TA <- trajectory.analysis(coords ~ species*site, data=gdf, iter=199) > > > > new <- arrayspecs(TA$means,p=12,k=2) > > ref <-mshape(Y.gpa$coords) > > plotRefToTarget(ref,new[,,1]) > > ## > > > > Dr. Dean C. Adams > > Director of Graduate Education, EEB Program > > Professor > > Department of Ecology, Evolution, and Organismal Biology > > Iowa State University > > www.public.iastate.edu/~dcadams/ > > phone: 515-294-3834 > > > > *From:* Igor Talijančić > > *Sent:* Monday, November 5, 2018 4:26 AM > *To:* MORPHMET > > *Cc:* mlco...@gmail.com > *Subject:* [MORPHMET] Re: Conceptual clarification of plotting shape > deformation grids in geomorph > > > > Hello everyone, > > Just a question regarding the plotting of deformation grinds of the > trajectory analysis (e.g. pupfish or plethodon data). Can shape.predictor > function be used for visualizing TA$pc.means since TA$pc.data corresponds > to PC scores obtained for Y.gpa$coords? > > > > Thank you for your given time and consideration. > > > > Sincerely, > > Igor > > > Dana srijeda, 25. srpnja 2018. u 14:42:41 UTC+2, korisnik javiersantos3 > napisao je: > > Hello Carmelo and Mike, > > > > Thanks for the quick response! I see things now clearer, especially with > the examples you have both provided. Sometimes one gets disoriented in the > abstractness of shape space and coding ;-P Thanks again! > > > > > > Best wishes, > > Javier > > > > > -- > > *From:* Mike Collyer > *Sent:* Wednesday, July 25, 2018 2:29:38 PM > *To:* Javier Santos > *Cc:* Morphomet Mailing List > *Subject:* Re: Conceptual clarification of plotting shape deformation > grids in geomorph > > > > Javier, > > > > First your plotting question. The plot.trajectory.analysis function is an > S3 generic plot function, which means you can modify the plot as you like. > You do this easiest with the points function. Here is an example, using > the help page example, which hopefully makes sense for you: > > > > data(plethodon) > > Y.gpa <- gpagen(plethodon$land) > > gdf <- geomorph.data.frame(Y.gpa, species = plethodon$species, site = > plethodon$site) > > > > TA <- trajectory.analysis(coords ~ species*site, data=gdf) > > summary(TA, angle.type = "deg") > > plot(TA) > > # Augment plot with the following code > > points(TA$pc.data, pch=19, col = "blue”) # turn all points blue > > points(TA$pc.data, pch=19, col = TA$groups) # change points to different > colors, by group > > One can modify plots as desired but you might need to learn how to use > graphical parameters in order to do it. See the help for the function, > par, to know how to do that. > > > > Second, since PC scores are Procrustes residuals (coordinates) projected > onto PC axes, there is a direct correspondence between an observation’s set > of coordinates and its PC scores. If you perform trajectory analysis, the > $means object has the coordinates for the means (trajectory points). You > simply have to rearrange the values with arrayspecs to generate deformation > grids. The $pc.data is a matrix of PC scores whose rows correspond to the > coordinates in the gpagen object. For example, TA$pc.data[5,] is a set of > PC scores for Y.gpa$coords[,,5]. > > > > Finally, for your last question, the function shape.predictor does exactly > what you seek. The help page has examples that should help you (on e > specifically for allometry). > > > > Cheers! > > Mike > > > > On Jul 25, 2018, at 7:17 AM, Javier Santos wrote: > > > > Hello Morphometricians, > > > > I was hoping someone could clarify the concept of plotting shape > deformation grids from the geomorph output. I am confused at the moment > because the output of most functions (eg. trajectory.analysis()) gives PC > values or regression scores, while most of the plotting functions I know > (eg. plotRefToTarget(), plotTangentSpace(), plotAllSpecimens()) require LM > coordinates. I am sure that the conceptual framework to plot the shape > deformation grids corresponding from the PC/regression values of the > functions' output should no