Generalities

Can I contact you?

Of course ! Please distinguish the following cases:

  1. Bug/Request. You found a bug or would like to implement a new feature: please fill a new “issue”, describe the problem/context as much as you can.
  2. Bare help You do not understand something. If you can find the answer in the help pages and/or vignette, please contact me. I will answer you and add it to the doc. If you expect me to fix all your problems and answer all your questions, read the next bullet.
  3. Collaboration. If you would like us to work together, drop me a line directly: bonhomme.vincent@gmail.com. If you finish your PhD in 3 weeks and you need me for all the morphometrics inside, I’m afraid all I have to offer is my shoulder :-s
  4. Improve Momocs. I’m always looking for help for improving Momocs: code review, polish, improvement, English presentation, datasets, etc. Feel free to commit directly on GitHub or drop me a line.

How to access all methods for a given class?

Try methods(class="your_class"), eg methods(class="Opn")

How to access methods defined for a particular function?

methods("your_function"), eg `methods(“fgProcrustes”)

How can I access the help for a particular method?

Try ?method, eg ?coo_center

How can I access the code for a particular method?

Try Momocs:::method.class (no brackets), eg Momocs:::coo_center.default

Architecture

Is there a bigger plan for Momocs?

Yes: MomX.

Why do you use so extensively the pipe %>% and more generally the tidyverse?

Because I believe it is the present and the future, provides a very solid and consistent design, fixes most of what I did not like much in R. If you do not like the pipe in particular, just do not use it.

Why does Momocs uses lists instead of arrays for coordinates?

Arrays are fine but list are better. Particularly when the number of coordinates is not homogeneous between shapes which is often the case if you do non landmark-based morphometrics. Also, with arrays you are more or less limited to apply family; with lists, the tydy data_frames are very close and so is the entire functional programming family brough by purrr.

Morphometrics

Can I just use Momocs for morphometrics and do the stats elsewhere?

Sure. as_df may help if you want to continue within R. And if you want to exit R, you can save Coe objects with export but do not expect my blessing for such dirty ideas.

Why there are so many old school approaches in Momocs?

If you think of tfourier, rfourier, npoly, etc. just because some still use them but I agree they should retire for good (the methods, not the people using them).

File import

How do I import morphometric data generated by tpsDig, ImageJ, StereoMorph, etc.?

See Momit and if something is not working there, I will fix it and thank you.

How do I import outlines from .jpg?

See ?import_jpg. You must have masks of your silhouette, eg an area of black pixels on a white background. It’s better if your mask is centered, ie if the center of the image falls within the black area. If you have bizzarre silhouette or errors, check for the black-white frontier, particularly for isolated pixels, connected to the mask by their diagonal. See below (. for white, * for `black), the last black pixel on the second line will cause troubles. Any rotational variation of this pixel “diagonally” connected will also cause troubles. You can remove them with “dilation/erosion” of a selection of black pixels within any image editor.

.........
...**.*..
..****...
...**....
.........

How do I import outlines and landmarks?

Momecs+Momit will fix this but so far you can digitize your landmarks in ImageJ and save then as .txt coordinates. This must result in pairs of images with .jpg and .txt, with exactly matching filenames. Then use tie_jpg_txt.