Hi Thomas,
Thank you for the reply and thanks for Hugin! I have replied inline.
On 26/06/2024 17:06, 'T. Modes' via hugin and other free panoramic
software wrote:
>
mer...@archive.org schrieb am Dienstag, 25. Juni 2024 um 20:00:49 UTC+2:
>
> The Python code that I have written can be found here [2].
>
>
> Sorry, but this unnecessary complicated. I had to dig deep into your
> script to found the Hugin commands you use. It would be easier if you
> would have only cited your used commands.
My apologies, I'll try to just include the commands next time, I thought
this was maybe some useful context. In the next few weeks/months I also
hope to put the code as a whole (including the ORB control point finder)
online some where in case it could maybe benefit others.
> The main problem is that you optimize yaw of all images:
> pto_var -o project2 --opt y0,r,y,..
> Because you have not other constraints like vertical control point the
> optimizer result is ambiguous and the pano can easily slide to left or
> right.
I see, that makes sense then. The material that is being photographed
moves around ever so slightly, and because one pixel is about 3.76 μm I
found that I had to also adjust for the roll and yaw. Would there be a
way to tell it to not change/optimise the yaw by more than (say) a few
degrees? That could prove to be quite helpful.
Would you mind elaborating a little bit on what it is that you mean when
you mention vertical control point constraints?
> The best advice is to look at the intermediate project files in the GUI
> and see the result.
Do you mean to look at the intermediate project files to see what
variables need to be optimised for a good result? This is how I came up
with the current workflow (as well as some online resources) and why I
split the steps up into different "project" files (project.pto,
project1.pto, project2.pto, etc).
> PS: Hugin has also possibilities to handle such use cases.
> First assign rough image positions according to your layout. Either with
> a template (pto_template) or with numbers/expressions (pto_var).
> Then run cpfind --prealigned ... on this project file. Then cpfind looks
> only at overlapping images. So no need to reinvent the wheel twice.
The reasons I made a custom control pointer finder is that (1) cpfind
wouldn't find control points in cases where I really expected it to find
control points (also with different sieve1/sieve2 sizes) and (2) because
cpfind is relatively slow for the images (151 megapixel times 16) that I
am working with, even if things are prealigned (as I understand it).
After automatically stitching 10000+ images I'm very close to a 100%
success rate, but I couldn't quite get there with just cpfind.
I didn't figure out how to use pto_template make a template with
pre-aligned images. Is there any documentation available on how to do this?
I did manage to run cpfind with the --prealigned option on a project
file where I had already done some control point finding and
optimisating step, but I recall that is was still quite a bit slower -
which is why the code that I provided above falls back to cpfind
(although not with --prealigned flag currently) when it cannot find
control points on its own.
If I could figure out how to use this template option that would help a
lot and then I could also adjust my ORB control point finder to read the
orientation/layout from the project files as well - which would make the
code more generic, and as you say, prevent having to partially reinvent
the wheel.
Regards,
Merlijn