Using image registration Tform to transform set of coordinates

10 vues (au cours des 30 derniers jours)
I M
I M le 24 Oct 2016
Hi everyone,
I am doing automatic image registration, using a two-step approach. First step I retrieve the estimated geometric transformation between the two images, using imregtfrom, then I use the Tform (affine2d) array obtained this way to refine the registration process, by running an 'affine' type imregister, using my Tform file as my 'Initial Transformation' input. With this, image registration works very well.
However, I have a set of (x,y)coordinates in my moving image, that I would like to transform into the corresponding (x,y) coordinates of the fixed image. Correct me if I am wrong, but I thought I could use my TForm "kernel" to do this, and apply it to my moving image set of coordinates. I have tried this using the tformfwd function, that accepts affine2d arrays, but I always get an error, saying that "function TFORMFWD expected a TFORM struct as its first or second argument".
How can I then use the images-based geometric transformation info, to transform a small subset of points in the moving image?
Any help in clarifying this subject would be greatly appreciated!

Réponses (1)

Bart Bolsterlee
Bart Bolsterlee le 12 Juin 2017
I've got exactly the same problem. Did you find a fix?
  2 commentaires
I M
I M le 27 Juin 2017
Hi Bart,
Eventually, I did the following:
given the original tform computed using imregtform, I then transformed it into an affine block:
tform_array = maketform('affine',tform.T)
where tform_array is what I plug in in the tformfwd function as a TFORM structure, in order to do the geometric transformation for my subset of image points. Hope this is clear.
george. holzwarth
george. holzwarth le 7 Mar 2018
Thank you, IM, for providing a solution that was straightforward to implement. Your solution using maketform also worked for me. I hope someone at MATLAB notes the problem and fixes it or at least documents the workaround.

Connectez-vous pour commenter.

Community Treasure Hunt

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

Start Hunting!

Translated by