Filter löschen
Filter löschen

Disabling transformation in Matlab Procrustes analysis

1 Ansicht (letzte 30 Tage)
Grace Hu
Grace Hu am 19 Mär. 2024
Beantwortet: Suraj Kumar am 25 Mär. 2024
Matlab's procrustes function has the options to calculate Procrustes distance when scaling and reflection are disabled. Is it possible to also disable transformation? Or is my only option to add transform.c back to the optimal procrustes shape and manually calculate the procrustes distance?
For more background, I'm comparing two groups of 2D points from patients performing a matching task at multiple time points. I want to analyze how their ability to scale, rotate, transform, etc. improves over time by comparing the procrustes scores when each of these functionalities are disabled.
Thanks!

Antworten (1)

Suraj Kumar
Suraj Kumar am 25 Mär. 2024
Hi Grace,
In the "procrustes” function, translation cannot be directly disabled using parameters; however, as a workaround you can subtract "transform.c" from the transformed component to undo the effects of translation.
Here's the code fragment showing how to negate translation effects.
Z1=Z-transform.c;
You can also use equation below to undo the effects one by one from the transformed component using “transform” structure.
Z = bYT + c.
where,
T=rotation and reflection component,
b=scale component,
c=translation component,
Y=set of points being transformed.
The attached image shows the transformations before and after cancelling the translation effects.
For more information on “procrustes function, refer to the link given below:
Hope this helps!

Tags

Produkte


Version

R2022b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by