transformPointsForward does not support Polynomial​Transforma​tion2D

I would like to know why transformPointsForward does not support PolynomialTransformation2D as a transformation object. It is weird because transformPointsInverse does support PolynomialTransformation2D.
So the workaround is simple, instead of using:
tform = fitgeotform2d(movingPoints,fixedPoints,"polynomial",degree)
[x,y] = transformPointsForward(tform,u,v)
I used:
tform = fitgeotform2d(fixedPoints,movingPoints,"polynomial",degree)
[x,y] = transformPointsInverse(tform,u,v)
But it is still counterintuitive and increases the risk of making mistakes later in the code.
Please let me know if there is something I am overlooking or if this is really a missing functionality of the transformPointsForward function.
This is the error I am getting when using transformPointsForward:
Incorrect number or types of inputs or outputs for function transformPointsForward.

 採用された回答

Matt J
Matt J 2025 年 1 月 30 日
編集済み: Matt J 2025 年 1 月 30 日

0 投票

Polynomial tforms are generally not invertible, so you can only define them in one direction. I assume fitgeotform2d always fits the inverse transform because it is the inverse, not the forward transform that is need to perform a forward imwarp() from the moving space to the fixed space.

2 件のコメント

Juan de Jesus
Juan de Jesus 2025 年 1 月 31 日
Now that I think about it, it makes sense. That is the expected behavior from the polynomial fit. Thank you very much.
Matt J
Matt J 2025 年 1 月 31 日
You're welcome, but please Accept-click the answer if you consider your question resolved.

サインインしてコメントする。

その他の回答 (0 件)

カテゴリ

ヘルプ センター および File ExchangeGeometric Transformation and Image Registration についてさらに検索

質問済み:

2025 年 1 月 30 日

コメント済み:

2025 年 1 月 31 日

Community Treasure Hunt

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

Start Hunting!

Translated by