RE: [MORPHMET] Re: semilandmarks in biology

2018-11-08 Thread Benedikt Hallgrimsson
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 

Re: [MORPHMET] Re: Conceptual clarification of plotting shape deformation grids in geomorph

2018-11-08 Thread Igor Talijančić


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