maspack.geometry
Class ICPRegistration
java.lang.Object
maspack.geometry.ICPRegistration
public class ICPRegistration
- extends java.lang.Object
Method Summary |
void |
addAxisFlips(java.util.LinkedList<RotationMatrix3d> flips,
RotationMatrix3d R,
Vector3d axis,
int n)
|
RotationMatrix3d[] |
computeFlips(Vector3d sig)
|
double |
computeInertia(Matrix3d J,
Vector3d c,
PolygonalMesh mesh)
|
static void |
computeOBBFromPCA(OBB obb,
MeshBase mesh)
Use PCA to determine the OBB for a mesh. |
static double |
computePCA(Matrix3d J,
Vector3d c,
MeshBase mesh)
Based on "Non-rigid Transformations for Musculoskeletal Model", by Petr
Kellnhofer. |
boolean |
isDualDistancingEnabled()
|
void |
registerICP(AffineTransform3d X,
PolygonalMesh mesh1,
PolygonalMesh mesh2,
ICPRegistration.Prealign align,
int[] npar)
|
void |
registerICP(AffineTransform3d X,
PolygonalMesh mesh1,
PolygonalMesh mesh2,
int... npar)
|
void |
registerInertia(AffineTransform3d X,
PolygonalMesh mesh1,
PolygonalMesh mesh2)
|
void |
registerPCA(AffineTransform3d X,
PolygonalMesh mesh1,
PolygonalMesh mesh2)
|
void |
setDualDistancingEnabled(boolean enable)
|
Methods inherited from class java.lang.Object |
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
myProfiling
public static boolean myProfiling
myDistanceTime
public static double myDistanceTime
myAdjustTime
public static double myAdjustTime
myPCATime
public static double myPCATime
ICPRegistration
public ICPRegistration()
isDualDistancingEnabled
public boolean isDualDistancingEnabled()
setDualDistancingEnabled
public void setDualDistancingEnabled(boolean enable)
computePCA
public static double computePCA(Matrix3d J,
Vector3d c,
MeshBase mesh)
- Based on "Non-rigid Transformations for Musculoskeletal Model", by Petr
Kellnhofer.
registerPCA
public void registerPCA(AffineTransform3d X,
PolygonalMesh mesh1,
PolygonalMesh mesh2)
addAxisFlips
public void addAxisFlips(java.util.LinkedList<RotationMatrix3d> flips,
RotationMatrix3d R,
Vector3d axis,
int n)
computeFlips
public RotationMatrix3d[] computeFlips(Vector3d sig)
computeOBBFromPCA
public static void computeOBBFromPCA(OBB obb,
MeshBase mesh)
- Use PCA to determine the OBB for a mesh.
computeInertia
public double computeInertia(Matrix3d J,
Vector3d c,
PolygonalMesh mesh)
registerInertia
public void registerInertia(AffineTransform3d X,
PolygonalMesh mesh1,
PolygonalMesh mesh2)
registerICP
public void registerICP(AffineTransform3d X,
PolygonalMesh mesh1,
PolygonalMesh mesh2,
int... npar)
registerICP
public void registerICP(AffineTransform3d X,
PolygonalMesh mesh1,
PolygonalMesh mesh2,
ICPRegistration.Prealign align,
int[] npar)