Imregister changes the values of my image during "translation". Can I keep this from happening?
3 views (last 30 days)
Show older comments
Sebastian Bech-Terkilsen
on 6 Jul 2018
Commented: Sebastian Bech-Terkilsen
on 8 Jul 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 Comments
Accepted Answer
Matt J
on 6 Jul 2018
Edited: Matt J
on 6 Jul 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 Comments
More Answers (0)
See Also
Categories
Find more on Geometric Transformation and Image Registration 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!