I’ve recently started a substantial effort to (attempt to) bring ODM to Windows. Natively (no docker, no WSL, no nothing). This is my third attempt at doing so across the years. I have good faith that third time is a charm and that I will succeed.
I’ve managed to build (and run) the two main dependencies (OpenSfM and mvs-texturing):
Next up, VTK, PCL, dem2mesh, dem2points, PDAL, entwine and untwine, OpenMVS and the rest to follow.
I will keep updates on this thread, to share the progress.
I believe a good number of those dependencies should be built or buildable already via the OSGeo4W-NG repository, which is 64-bit native these days.
Is that a tenable thing to loop in and save you headaches, or do we carry enough patches that it wouldn’t help?
We have a lot of patches
I’m hoping the end result will be able to stand on its own.
I remember that being a huge pain to get sorted when I was YOLO-attempting an upgrade path to 20.04 before we hired Dan to do it right
Any dropped heavy dependency is great news!
Might be time to revisit making my Alpine-based LiveODM…
Removed dependency on zstd.
dem2mesh, dem2points, poissonrecon all build too.
Entwine has some deep path handling issues to work on Windows. We’ll just use Untwine.
And OpenMVS of course (had no doubts on this one):
This completes the SuperBuild dependencies.
odm_orthophoto shall build too:
Are all these dependency drops and other changes applicable for the Linux/Mac/etc builds as well, or is the native Windows port a more separate/hard fork that is a special case that needs to be maintained differently?
No forks, everything will stay under the same branch / codebase.
At 15:45:29pm EST on 4/30/2021 ODM ran the first pipeline stage (
To quote another Italian named Cristiano when I informed him of this effort: “Grande Piero.”
First native pipeline run completed from end-to-end.
Orthophoto, textured models look great.
Elevation models exhibit some strange artifacts and incorrect elevation values.
Turns out it was just a misplaced GCP file. Elevation models and point clouds look great!
Split-merge is next…