![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/1650786/image.png)
Disabling transformation in Matlab Procrustes analysis
5 views (last 30 days)
Show older comments
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!
0 Comments
Answers (1)
Suraj Kumar
on 25 Mar 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.
![](https://www.mathworks.com/matlabcentral/answers/uploaded_files/1650786/image.png)
For more information on “procrustes” function, refer to the link given below:
Hope this helps!
0 Comments
See Also
Categories
Find more on Surface and Mesh Plots in Help Center and File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!