centreborelli/rpcm

localization_iterative max number of iterations 100 is too small

Opened this issue · 8 comments

Though 100 is a good number, yet we found sometimes we need more than 100 (253) to converge. Suggest increase this number to 500? Many thanks.

@carlodef any response? Do I need to create a pull request?

Hi @drzhouq, could you please provide an example? Thanks

I cannot give you the image example for the issue, but the issue line is at

if n > 100:

Why the arbitrary 100 is decided? perhaps allow the 100 to be changed with an environment variable? Anyhow, as I stated in the issue, some image file needs 253 iterations to converge.

No need to share an image, a list of RPC coefficients would be enough. I'd like to reproduce your issue.

In general, the loop converges in one or two iterations.

Sorry for the tardy response, Carlo. Side tracked by other things.
This is the RPC data I had issue with. RPC.txt

Let me know if you need more information in order to debug. Thanks.

Bea07 commented

I have problems too relating to this. May I ask exactly what are the reasons why this convergence may not happened? I am using this package for perform a DEM from a Skysat triplet of stereo images. And the processing ends at around 97% of the images. I am quite new in this topic and I cannot understand what exactly this code is doing. Visualizing the images I see that all of them are overlapping. I start removing, from the input, the images that are read just before the last iteration, but nothing seems changing. Could you please support me? thank you a lot. PS: the increase of the iteration number seems to not solve the problem.

looks like

while not np.all((x0 - col) ** 2 + (y0 - row) ** 2 < 1e-18):

can get Nan values causing it to always return false

manyy commented

maybe : e1=0; @ 236 e1 = X1 - X0