Imregister changes the values of my image during "translation". Can I keep this from happening?
3 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
Sebastian Bech-Terkilsen
le 6 Juil 2018
Commenté : Sebastian Bech-Terkilsen
le 8 Juil 2018
Dear community, I am working with fluorescence images which need to be kept quantitative and therefore any operation I do cannot change the actual values unless on purpose. I occasionally have a drift between two images taken of the same thing with different wavelengths, and therefore I wish to align them. I had done some testing with imregister which worked out quite well until i noticed that the values of the registered image were actually different. I was quite suprised since I thought that the whole point of 'translation' is that it is restricted to only move the image in x-y directions and nothing else. I have yet to change any parameters in the optimizer and metric, which holds default values. I could not find anything in them which would allow or disallow changing values. I have also not been able to google myself to an answer to this question. I have little understanding of the optimizer and metric, so I apologize for that. As can be seen from the code below, the fixed image is "test488", moving image is "test435" and the registered image is "new435", provided. I attempted to see if normalizing the images by dividing by the maximum value of itself would work, but imregister returns the error: "Error using imregtform>parseInputs (line 261) The value of 'FixedImage' is invalid. Expected input number 1, fixed, to be finite.".
I appreciate your time.
optimizer = registration.optimizer.RegularStepGradientDescent;
metric = registration.metric.MeanSquares;
[new435] = imregister(test488,test435,'Translation',optimizer,metric);
2 commentaires
Réponse acceptée
Matt J
le 6 Juil 2018
Modifié(e) : Matt J
le 6 Juil 2018
So, first of all you've got the syntax wrong. If test435 is supposed to be the moving image, then you need
[new435] = imregister(test435, test438,...);
Also, I think Mutual Information would work better here because of the difference in intensity distribution between test435 and test438.
But even if the translation is successfully estimated, your moving image is difficult to warp/transform accurately because the objects in the image are almost as small as the pixels themselves. Some intensity change will be inevitable just because of that.
3 commentaires
Plus de réponses (0)
Voir également
Catégories
En savoir plus sur Geometric Transformation and Image Registration dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!