Imregister changes the values of my image during "translation". Can I keep this from happening?

1 次查看(过去 30 天)
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);

采纳的回答

Matt J
Matt J 2018-7-6
编辑:Matt J 2018-7-6
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 个评论
Matt J
Matt J 2018-7-6
编辑:Matt J 2018-7-6
So I am gathering that image translation includes altering the values?
You could use imregtform to get the translation instead. Then apply the transformation to a more finely sampled version of the image.

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Geometric Transformation and Image Registration 的更多信息

产品


版本

R2015b

Community Treasure Hunt

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

Start Hunting!

Translated by