I have a very old lab-internal package that performs a variety of image registration tasks. It was written against MathProgBase, and clearly it’s well past time to rewrite it for MathOptInterface. While the documentation is extensive (thanks!!), I wonder if anyone has a complete tutorial walking through how one solves a problem this way?
I’m struggling even with basics like how to set a regular Julia function as the objective. In case it helps, let me direct you to our old MathProgBase code. As a word of warning, it was never polished for external use, so it’s not exactly easy going. The source file actually has optimizers for several different problems. To pull out the easiest one, there’s an optimizer for rigid-body alignment (rotations + translations). Focusing on just the key points, the two images to be registered are packed into structures as fixed
and moving
and we’ve written Julia functions to evaluate the objective and to use ForwardDiff to compute derivatives. Finally, here’s the problem setup.
If anyone has an illustration at this level in their own code but using MathOptInterface instead of MathProgBase, I’d be very grateful!