Learn R Programming

Morpho (version 2.6)

mirror: mirror landmarks or triangular mesh in place

Description

mirror landmarks or triangular mesh in place

Usage

mirror(x, icpiter = 50, subsample = NULL, pcAlign = FALSE,
  mirroraxis = 1, initPC = TRUE, initCenter = TRUE, mc.cores = 2)

# S3 method for matrix mirror(x, icpiter = 50, subsample = NULL, pcAlign = FALSE, mirroraxis = 1, initPC = TRUE, initCenter = TRUE, mc.cores = 2)

# S3 method for mesh3d mirror(x, icpiter = 50, subsample = NULL, pcAlign = FALSE, mirroraxis = 1, initPC = TRUE, initCenter = TRUE, mc.cores = 2)

Arguments

x

k x 3 matrix or mesh3d

icpiter

integer: number of iterations to match reflected configuration onto original one

subsample

integer: use only a subset for icp matching

pcAlign

if TRUE, the icp will be preceeded by an alignment of the principal axis (only used if icpiter > 0), currently only works for 3D data.

mirroraxis

integer: which axis to mirror at

initPC

logical: if TRUE the data will be prealigned by its principal axes.

initCenter

logical: if TRUE and initPC=FALSE, x will be translated to its centroid before mirroring.

mc.cores

use parallel processing to find best alignment to original shape.

Value

returns the reflected object

Details

reflect a mesh configuration at the plane spanned by its first 2 principal axis, then try to rigidily register the reflected configuration onto the original one using iterative closest point search to establish correspondences.

Examples

Run this code
# NOT RUN {
data(boneData)
boneMir <- mirror(boneLM[,,1],icpiter=50,mc.cores=2,mirroraxis=3)
## 2D Example:
if (require(shapes)) {
gorfMir <- mirror(gorf.dat[,,1],mirroraxis=2,pcAlign=TRUE,icpiter = 0)
plot(gorfMir,asp = 1)
points(gorf.dat[,,1],col=3)
}
# }
# NOT RUN {
## now mirror a complete mesh
require(rgl)
skullMir <- mirror(skull_0144_ch_fe.mesh,icpiter=10,subsample = 30,
                   mc.cores=2,mirroraxis=3,pcAlign=TRUE)
###compare result to original
wire3d(skull_0144_ch_fe.mesh,col=3)
wire3d(skullMir,col=2)
# }

Run the code above in your browser using DataLab