I want to determine the six unknown coefficients (uppercase letters) of the model
given a set of data $(x_k,y_k,u_k,v_k)$, by least-squares. As you see, this model is a (modified) polar-to-Cartesian transform. The number of points is moderate, say between $10$ and $100$.
I know that such a fitting can be done by Levenberg–Marquardt, but I wonder if a simpler ad-hoc approach is possible. For LM, I also need a good starting approximation anyway.
Do you see a way to make the problem more tractable, possibly more "linear", or suggest a way to get an approximate solution ? For instance, first finding the polar origin without looking for the other coefficients.
I am now considering the following approach: one can choose points vertically aligned in the $(u,v)$ plane and relate them to nearby known data points by some form of interpolation (f.i. linear between three points). Then the corresponding points are estimated in the $(x,y)$ plane by applying the same interpolation.
In this plane, the reconstructed points will be approximately aligned on radial lines, from which the polar origin can be estimated. (Similarly, points reconstructed from horizontals will be aligned on polar circles.)
Knowing $(X_c,Y_c)$, by applying the inverse polar transform you recompute quadruples $(x_k,y_k,\rho_k,\theta_k)$ which allow you to estimate $A,B,C,D$ by two linear fits.