Progress on Native ODM on Windows

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):

image

image

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.

10 Likes

Yoooooooooooooooooo.

That’s amazing.

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?

1 Like

We have a lot of patches :grimacing:

I’m hoping the end result will be able to stand on its own.

5 Likes

Removed VTK altogether: Removed VTK, odm_cleanmesh module by pierotofy · Pull Request #1275 · OpenDroneMap/ODM · GitHub

4 Likes

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 :rofl:

Any dropped heavy dependency is great news!

Might be time to revisit making my Alpine-based LiveODM…

1 Like

PCL shall build too: image

4 Likes

Removed dependency on zstd.

4 Likes

dem2mesh, dem2points, poissonrecon all build too.

4 Likes

hexer, laszip :white_check_mark:

4 Likes

PDAL: image

4 Likes

Untwine:

image

Entwine has some deep path handling issues to work on Windows. We’ll just use Untwine.

3 Likes

lasmerge:

image

3 Likes

And OpenMVS of course (had no doubts on this one):

image

This completes the SuperBuild dependencies.

5 Likes

odm_orthophoto shall build too:

image

5 Likes

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?

1 Like

No forks, everything will stay under the same branch / codebase.

4 Likes

image

At 15:45:29pm EST on 4/30/2021 ODM ran the first pipeline stage (dataset) successfully.

4 Likes

To quote another Italian named Cristiano when I informed him of this effort: “Grande Piero.”

2 Likes

First native pipeline run completed from end-to-end. :tada:

Orthophoto, textured models look great.

Elevation models exhibit some strange artifacts and incorrect elevation values.

image

Troubleshooting continues.

4 Likes

Turns out it was just a misplaced GCP file. Elevation models and point clouds look great!

image

image

Split-merge is next…

5 Likes