I use Focus Fidelity and think it is very good. It makes a complex task relatively simple and has plenty of optimisation parameters.
The last crop of posts on this thread provide additional information about the software.
Good luck.
Kind regards, Peter