Disabling transformation in Matlab Procrustes analysis

조회 수: 4 (최근 30일)
Grace Hu
Grace Hu 2024년 3월 19일
답변: Suraj Kumar 2024년 3월 25일
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!

답변 (1개)

Suraj Kumar
Suraj Kumar 2024년 3월 25일
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!

카테고리

Help CenterFile Exchange에서 Dimensionality Reduction and Feature Extraction에 대해 자세히 알아보기

태그

제품


릴리스

R2022b

Community Treasure Hunt

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

Start Hunting!

Translated by