matejak / imreg_dft

Image registration using discrete Fourier transform.
Other
245 stars 68 forks source link

Think of improving the "success" criterion #11

Open matejak opened 9 years ago

matejak commented 9 years ago

Evaluation of phase correlation success is flaky ATM

arve0 commented 9 years ago

Any thoughs on how to improve the performance? I've having trouble with high resolution microscope images with quite a lot of overlap. See this notebook: http://nbviewer.ipython.org/github/arve0/master/blob/master/image%20registration%20precision.ipynb

matejak commented 9 years ago

I have took a look at your data. You are right that performance was not my concern - I wanted to get a prototype running that can be improved. Anyway, the main facts about your data are those:

Therefore, you can use the tiling functionality that is part of the ird utility in the following way:

  1. You downscale both images to like 20% of original dimensions.
  2. You cut a small part (for example 400x400) from one of the images that are in the overlapping area.
  3. You run ird undersampled1.png cut2.png --tile --show --print-result and watch the result. You should get relative shift between the 1st undersampled image and the cut from the 2nd image. I have tried that, it seems to work. Since you know the origin of the cut, you can compute the total shift by adding those two up.

I can't assist you very much since I am now in the final phase of writing thesis. The tiling functionality is not part of the Python API yet, but it is probably in a good enough shape for your needs. Look at cli.py:435 and the documentation part that mentions tiling.

arve0 commented 9 years ago

Thanks for the swift response! Heh, almost same situation here, trying to finish my (master) thesis.

I'll try using a cut, thanks again.

matejak commented 8 years ago

There is an idea in the air - calculate std. dev. from the CPS "background" and compare it to the peak value.