Morpho: Calculations and Visualisations Related to Geometric Morphometrics

A toolset for Geometric Morphometrics and mesh processing. This includes (among other stuff) mesh deformations based on reference points, permutation tests, detection of outliers, processing of sliding semi-landmarks and semi-automated surface landmark placement.

AuthorStefan Schlager [aut, cre, cph], Gregory Jefferis [ctb]
Date of publication2016-09-13 12:10:26
MaintainerStefan Schlager <stefan.schlager@uniklinik-freiburg.de>
LicenseGPL-2
Version2.4.1.1
https://github.com/zarquon42b/Morpho

View on CRAN

Man pages

angle.calc: calculate angle between two vectors

angleTest: Test whether the direction of two vectors is similar

anonymize: Replace ID-strings of data and associated files.

applyTransform: apply affine transformation to data

areaSphere: compute the area of an n-dimensional hypersphere

areaSpherePart: compute the area of an n-dimensional hypersphere cap

armaGinv: calculate Pseudo-inverse of a Matrix using RcppArmadillo

arrMean3: calculate mean of an array

asymPermute: Assess differences in amount and direction of asymmetric...

barycenter: calculates the barycenters for all faces of a triangular mesh

bindArr: concatenate multiple arrays/matrices

boneData: Landmarks and a triangular mesh

CAC: calculate common allometric component

cExtract: extract information about fixed landmarks, curves and patches...

checkLM: Visually browse through a sample rendering its landmarks and...

classify: classify specimen based on between-group PCA or CVA or...

closemeshKD: Project coordinates onto a target triangular surface mesh.

colors: predefined colors for bone and skin

computeTransform: calculate an affine transformation matrix

covDist: calculates distances and PC-coordinates of covariance...

covW: calculate the pooled within groups covariance matrix

createAtlas: Create an atlas needed in placePatch

CreateL: Create Matrices necessary for Thin-Plate Spline

createMissingList: create a list with empty entries to be used as missingList in...

cSize: calculate Centroid Size for a landmark configuration

cutMeshPlane: cut a mesh by a hyperplane and remove parts above/below that...

cutSpace: separate a 3D-pointcloud by a hyperplane

CVA: Canonical Variate Analysis

deformGrid2d: visualise differences between two superimposed sets of 2D...

deformGrid3d: visualise differences between two superimposed sets of 3D...

equidistantCurve: make a curve equidistant (optionally up/downsampling)

exVar: calculate variance of a distribution stemming from prediction...

fastKmeans: fast kmeans clustering for 2D or 3D point clouds

find.outliers: Graphical interface to find outliers and/or to switch...

fixLMmirror: estimate missing landmarks from their bilateral counterparts

fixLMtps: estimate missing landmarks

getFaces: find indices of faces that contain specified vertices

getMeaningfulPCs: get number of meaningful Principal components

getPCtol: determine the minimum ratio for two subsequent eigenvalues to...

getPLSfromScores: compute changes associated with 2-Block PLS-scores

getPLSscores: compute 2-Block PLS scores for new data

getTrafo4x4: get 4x4 Transformation matrix

getTrafoRotaxis: compute a 4x4 Transformation matrix for rotation around an...

groupPCA: Perform PCA based of the group means' covariance matrix

histGroup: plot histogram for multiple groups.

icpmat: match two landmark configurations using iteratively closest...

invertFaces: invert faces' orientation of triangular mesh

kendalldist: Calculates the Riemannian distance between two superimposed...

line2plane: get intersection between a line and a plane

lineplot: plot lines between landmarks

list2array: converts a list of matrices to an array

mcNNindex: find nearest neighbours for 2D and 3D point clouds

mergeMeshes: merge multiple triangular meshes into a single one

mesh2grey: convert a colored mesh to greyscale.

mesh2ply: export mesh objects to disk

meshcube: calculate the corners of a mesh's bouning box

meshDist: calculates and visualises distances between surface meshes or...

meshPlaneIntersect: get intersections between mesh and a plane

meshres: calculate average edge length of a triangular mesh

mirror: mirror landmarks or triangular mesh in place

mirror2plane: mirror points or mesh on an arbitrary plane

Morpho-deprecated: deprecated functions of Morpho

Morpho-package: A toolbox providing methods for data-acquisition,...

name2factor: extract data from array names

NNshapeReg: Estimate the shape by averaging the shape of the nearest...

nose: landmarks and a triangular mesh representing a human nose

pcAlign: align two 3D-pointclouds/meshes by their principal axes

pcaplot3d: visualization of shape variation

PCdist: correlation between a reduced space and the original space

permudist: performs permutation testing for group differences.

permuvec: perfom permutation testing on angles and distances between...

placePatch: Project semi-landmarks from a predefined atlas onto all...

plotAtlas: visualize an atlas defined by createAtlas

plotNormals: plots the normals of a triangular surface mesh.

plot.slider3d: plot the result of slider3d

pls2B: Two-Block partial least square regression.

plsCoVar: Get the shape changes from pls2B associated with each latent...

ply2mesh: Import 3D surface mesh files

points2plane: projects a 3D coordinate orthogonally onto a plane

prcompfast: fast Principal Component Analysis (PCA)

predictPLSfromData: predict 2 Block-PLS from new data

predictPLSfromScores: predict data from 2-Block PLS-scores

predictShape.lm: Predict shapes based on linear models calculated from...

procAOVsym: Procrustes ANOVA for structures with object symmetry

ProcGPA: Workhorse function for procSym, responsible for Procrustes...

procSym: Procrustes registration

proc.weight: calculate weights inverse to the distances from the specified...

projRead: Project points onto the closest point on a mesh

qqmat: Q-Q plot to assess normality of data

quad2trimesh: converts a mesh containing quadrangular faces into one only...

r2morphoj: Export data to MorphoJ and Morphologika

ray2mesh: projects the vertices of a mesh along its normals onto the...

readallTPS: Import landmarks and outlines from TPS files

read.csv.folder: batch import data from files

read.fcsv: read fiducials from slicer4

readLandmarks.csv: import landmark data from csv files

read.lmdta: read dta files

read.mpp: Read saved pick-points from meshlab

read.pts: reads pts files

regdist: correlation between shape space and tangent space

RegScore: calulate regression scores for linear model

relaxLM: relax one specific landmark configuration against a reference

relWarps: calculate relative Warp analysis

render: plot or save the results of meshDist

retroDeform3d: symmetrize a bilateral landmark configuration

retroDeformMesh: symmetrize a triangular mesh

rotaxis3d: Rotate an object (matrix or mesh) around an arbitrary axis in...

rotaxisMat: calculate a rotation matrix around an arbitrary axis through...

rotmesh.onto: rotate ,scale and translate a mesh based on landmark...

rotonmat: rotate matrix of landmarks

rotonto: rotates, translates and scales one matrix onto an other using...

scalemesh: scale a mesh of class "mesh3d"

showPC: convert PCs to landmark configuration

slider3d: slides Semilandmarks along curves and surfaces in 3D by...

solutionSpace: returns the solution space (basis and translation vector) for...

sortCurve: sort curvepoints by using the subsequent neighbours

symmetrize: create a perfectly symmetric version of landmarks

tangentPlane: calculate the orthogonal complement of a 3D-vector

tps3d: thin plate spline mapping (2D and 3D) for coordinates and...

typprob: calculate typicality probabilities

updateNormals: Compute face or vertex normals of a triangular mesh

vecx: convert an 3D array into a matrix and back

vertex: some little helpers for vertex operations on triangular...

warpmovie3d: Creates a sequence of images showing predefined steps of...

write.fcsv: write fiducials in slicer4 format

write.pts: exports a matrix containing landmarks into .pts format

Files in this package

Morpho
Morpho/inst
Morpho/inst/NEWS.Rd
Morpho/inst/COPYRIGHTS
Morpho/inst/extdata
Morpho/inst/extdata/SCP1.ply
Morpho/inst/extdata/landmarks.pts
Morpho/tests
Morpho/tests/testthat.R
Morpho/tests/testthat
Morpho/tests/testthat/test-pls2B.r
Morpho/tests/testthat/test-mirror.r
Morpho/tests/testthat/test-relWarps.r
Morpho/tests/testthat/test-CVA.r
Morpho/tests/testthat/testdata
Morpho/tests/testthat/testdata/slider3d.rds
Morpho/tests/testthat/testdata/skullMir.rds
Morpho/tests/testthat/testdata/CVA.rds
Morpho/tests/testthat/testdata/pls-baseline.rds
Morpho/tests/testthat/testdata/rW.rds
Morpho/tests/testthat/test-slider3d.r
Morpho/src
Morpho/src/points2mesh.h
Morpho/src/permudistArma.h
Morpho/src/Makevars
Morpho/src/permudistArma.cpp
Morpho/src/tpsfx.cpp
Morpho/src/tweakU.cpp
Morpho/src/edgePlane.cpp
Morpho/src/asymPerm.cpp
Morpho/src/CubeStuff.h
Morpho/src/ang_calc.cpp
Morpho/src/armaGinv.h
Morpho/src/CubeStuff.cpp
Morpho/src/meshres.cpp
Morpho/src/doozers.h
Morpho/src/fastSubsetMeans.cpp
Morpho/src/asymPerm.h
Morpho/src/covPCA.cpp
Morpho/src/doozers.cpp
Morpho/src/points2mesh.cpp
Morpho/src/updateNormals.cpp
Morpho/src/barycenter.cpp
Morpho/src/addCube.h
Morpho/src/CVAdists.cpp
Morpho/src/armaGinv.cpp
Morpho/src/covPCA.h
Morpho/src/createL.cpp
Morpho/src/updateNormals.h
Morpho/src/face_zero.cpp
Morpho/src/CVAdists.h
Morpho/NAMESPACE
Morpho/data
Morpho/data/datalist
Morpho/data/nose.rda
Morpho/data/boneData.rda
Morpho/R
Morpho/R/procAOVsym.r
Morpho/R/typprob.r
Morpho/R/deformGrid2d.r
Morpho/R/difplot.lm.r
Morpho/R/closemeshKD.r
Morpho/R/plot.normals.r
Morpho/R/relwarps.r
Morpho/R/relax.lm.r
Morpho/R/armaGinv.r
Morpho/R/ProcGPA.r
Morpho/R/applyTransform.r
Morpho/R/Semislide.r
Morpho/R/line2plane.r
Morpho/R/cSize.r
Morpho/R/projRead.r
Morpho/R/scaleproc.r
Morpho/R/vecx.r
Morpho/R/solutionSpace.r
Morpho/R/mergeMeshes.r
Morpho/R/readallTPS.r
Morpho/R/list2array.r
Morpho/R/CVAdists.r
Morpho/R/name2.r
Morpho/R/obj2mesh.r
Morpho/R/regdist.raw.r
Morpho/R/eigenPCA.r
Morpho/R/read.pts.r
Morpho/R/meshcube.r
Morpho/R/histGroup.r
Morpho/R/createVarTable.r
Morpho/R/points2plane.r
Morpho/R/showPC.r
Morpho/R/calcTang_U.r
Morpho/R/CVA.crova.r
Morpho/R/classify.r
Morpho/R/write.pts.r
Morpho/R/PCmeaning.r
Morpho/R/orp.r
Morpho/R/asymPermu.r
Morpho/R/addo.r
Morpho/R/meshDist.r
Morpho/R/pcaplot3d.r
Morpho/R/deform.grid.r
Morpho/R/meshPlaneIntersect.r
Morpho/R/prcompfast.r
Morpho/R/tanplan.r
Morpho/R/place.patch.r
Morpho/R/angle.calc.r
Morpho/R/onUnload.r
Morpho/R/difplot.lm2D.r
Morpho/R/groupPCA.r
Morpho/R/fiducials.r
Morpho/R/calcGamma.r
Morpho/R/barycenter.r
Morpho/R/createMissingList.r
Morpho/R/groupPCAcrova.r
Morpho/R/calcTang_U_s.r
Morpho/R/equidistantCurve.r
Morpho/R/rotmesh.onto.r
Morpho/R/rotonmat.r
Morpho/R/mirror.r
Morpho/R/cutSpace.r
Morpho/R/quad2trimesh.r
Morpho/R/mesh2grey.r
Morpho/R/lineplot.r
Morpho/R/vertex.r
Morpho/R/meshDistZExport.r
Morpho/R/check.lm.r
Morpho/R/meshDistMatrix.r
Morpho/R/ray2mesh.r
Morpho/R/read.mpp.r
Morpho/R/ply2mesh.r
Morpho/R/meshres.r
Morpho/R/permudist.r
Morpho/R/file2mesh.r
Morpho/R/CAC.r
Morpho/R/pls2B.r
Morpho/R/ignoreNA.r
Morpho/R/permuvec.r
Morpho/R/proc.weight.r
Morpho/R/r2morphoj.r
Morpho/R/r2morphologika.r
Morpho/R/warpmovie.matrix.r
Morpho/R/colors.r
Morpho/R/gdif.r
Morpho/R/anonymize.r
Morpho/R/NNshapeReg.r
Morpho/R/Atlas.r
Morpho/R/CreateL.r
Morpho/R/fixLMtps.r
Morpho/R/fx.r
Morpho/R/PCdist.r
Morpho/R/find.outliers.r
Morpho/R/updateNormals.r
Morpho/R/fastKmeans.r
Morpho/R/mcNNindex.r
Morpho/R/mesh2ply.r
Morpho/R/RegScore.r
Morpho/R/kendalldist.r
Morpho/R/ang.r
Morpho/R/rot.proc.r
Morpho/R/covDist.r
Morpho/R/write.obj.r
Morpho/R/ComputeTransform.r
Morpho/R/tps3d.r
Morpho/R/read.lmdta.r
Morpho/R/rotaxis.r
Morpho/R/rotonto.r
Morpho/R/readLandmarks.csv.r
Morpho/R/predictShape.lm.r
Morpho/R/retrodeform.r
Morpho/R/bindArr.r
Morpho/R/crossp.r
Morpho/R/mesh2obj.r
Morpho/R/Morpho-package.R
Morpho/R/warpmovie.r
Morpho/R/read.obj.r
Morpho/R/exVar.r
Morpho/R/symmetrize.r
Morpho/R/slider3d.r
Morpho/R/pcAlign.r
Morpho/R/scalemesh.r
Morpho/R/cExtract.r
Morpho/R/angleTest.r
Morpho/R/read.csv.folder.r
Morpho/R/CVA.r
Morpho/R/conv2backf.r
Morpho/R/procSym.r
Morpho/R/qqmat.r
Morpho/R/fixLMmirror.r
Morpho/MD5
Morpho/DESCRIPTION
Morpho/man
Morpho/man/updateNormals.Rd Morpho/man/applyTransform.Rd Morpho/man/meshPlaneIntersect.Rd Morpho/man/line2plane.Rd Morpho/man/kendalldist.Rd Morpho/man/plsCoVar.Rd Morpho/man/CVA.Rd Morpho/man/deformGrid2d.Rd Morpho/man/mesh2grey.Rd Morpho/man/areaSpherePart.Rd Morpho/man/asymPermute.Rd Morpho/man/quad2trimesh.Rd Morpho/man/read.pts.Rd Morpho/man/write.pts.Rd Morpho/man/cutSpace.Rd Morpho/man/solutionSpace.Rd Morpho/man/invertFaces.Rd Morpho/man/mirror2plane.Rd Morpho/man/checkLM.Rd Morpho/man/plotNormals.Rd Morpho/man/rotaxis3d.Rd Morpho/man/rotonmat.Rd Morpho/man/typprob.Rd Morpho/man/retroDeformMesh.Rd Morpho/man/read.mpp.Rd Morpho/man/predictShape.lm.Rd Morpho/man/exVar.Rd Morpho/man/rotaxisMat.Rd Morpho/man/pcAlign.Rd Morpho/man/mergeMeshes.Rd Morpho/man/proc.weight.Rd Morpho/man/ply2mesh.Rd Morpho/man/prcompfast.Rd Morpho/man/barycenter.Rd Morpho/man/read.csv.folder.Rd Morpho/man/sortCurve.Rd Morpho/man/placePatch.Rd Morpho/man/pcaplot3d.Rd Morpho/man/procSym.Rd Morpho/man/readallTPS.Rd Morpho/man/ProcGPA.Rd Morpho/man/armaGinv.Rd Morpho/man/render.Rd Morpho/man/cSize.Rd Morpho/man/qqmat.Rd Morpho/man/pls2B.Rd Morpho/man/relaxLM.Rd Morpho/man/classify.Rd Morpho/man/predictPLSfromScores.Rd Morpho/man/cutMeshPlane.Rd Morpho/man/getTrafo4x4.Rd Morpho/man/vecx.Rd Morpho/man/r2morphoj.Rd Morpho/man/projRead.Rd Morpho/man/cExtract.Rd Morpho/man/readLandmarks.csv.Rd Morpho/man/mesh2ply.Rd Morpho/man/Morpho-package.Rd Morpho/man/name2factor.Rd Morpho/man/getPLSscores.Rd Morpho/man/find.outliers.Rd Morpho/man/points2plane.Rd Morpho/man/getPCtol.Rd Morpho/man/meshDist.Rd Morpho/man/tps3d.Rd Morpho/man/meshcube.Rd Morpho/man/mirror.Rd Morpho/man/covW.Rd Morpho/man/lineplot.Rd Morpho/man/angleTest.Rd Morpho/man/histGroup.Rd Morpho/man/deformGrid3d.Rd Morpho/man/Morpho-deprecated.Rd Morpho/man/angle.calc.Rd Morpho/man/showPC.Rd Morpho/man/meshres.Rd Morpho/man/retroDeform3d.Rd Morpho/man/plot.slider3d.Rd Morpho/man/read.lmdta.Rd Morpho/man/write.fcsv.Rd Morpho/man/list2array.Rd Morpho/man/rotmesh.onto.Rd Morpho/man/permuvec.Rd Morpho/man/createMissingList.Rd Morpho/man/equidistantCurve.Rd Morpho/man/bindArr.Rd Morpho/man/permudist.Rd Morpho/man/getFaces.Rd Morpho/man/groupPCA.Rd Morpho/man/PCdist.Rd Morpho/man/relWarps.Rd Morpho/man/procAOVsym.Rd Morpho/man/CreateL.Rd Morpho/man/closemeshKD.Rd Morpho/man/predictPLSfromData.Rd Morpho/man/vertex.Rd Morpho/man/fixLMtps.Rd Morpho/man/mcNNindex.Rd Morpho/man/computeTransform.Rd Morpho/man/CAC.Rd Morpho/man/ray2mesh.Rd Morpho/man/rotonto.Rd Morpho/man/boneData.Rd Morpho/man/read.fcsv.Rd Morpho/man/createAtlas.Rd Morpho/man/areaSphere.Rd Morpho/man/fixLMmirror.Rd Morpho/man/tangentPlane.Rd Morpho/man/warpmovie3d.Rd Morpho/man/RegScore.Rd Morpho/man/getPLSfromScores.Rd Morpho/man/symmetrize.Rd Morpho/man/scalemesh.Rd Morpho/man/getMeaningfulPCs.Rd Morpho/man/regdist.Rd Morpho/man/slider3d.Rd Morpho/man/colors.Rd Morpho/man/NNshapeReg.Rd Morpho/man/covDist.Rd Morpho/man/nose.Rd Morpho/man/fastKmeans.Rd Morpho/man/anonymize.Rd Morpho/man/plotAtlas.Rd Morpho/man/icpmat.Rd Morpho/man/getTrafoRotaxis.Rd Morpho/man/arrMean3.Rd

Questions? Problems? Suggestions? or email at ian@mutexlabs.com.

All documentation is copyright its authors; we didn't write any of that.