Where to start?


As I posted on my previous topic, I am interested on coding the needed parts to add thermal processing to ODM with all its specific issues.

I have some ideas on how to proceed but I am not familiar with ODM code repository structure. I cannot find code where it performs the “stitching” procedure, for example. Where is all that code?

It is quite difficult to become familiar with this repo without a “high-level” developers guide.

Any help with this?



1 Like

A good topic to start: Where can I find background information on the concepts of ODM?

Also https://odmbook.com has a chapter on the reconstruction pipeline, which might help understand the various pieces from a user perspective (disclaimer: I wrote the book).

There’s no stitching (technically speaking), ODM performs true orthophoto generation, which is the result of multiple stages (points --> mesh --> texturing --> final orthophoto). See https://support.pix4d.com/hc/en-us/articles/202558869-Photo-stitching-vs-orthomosaic-generation

Examine the various stages of the pipeline, one at a time (skipping split-merge, which is one more level of complexity). https://github.com/OpenDroneMap/ODM/tree/master/stages

Each stage might invoke external modules for performing its task (points --> opensfm, meshing --> poisson recon, texturing --> mvs-texturing, etc.). The code for those are downloaded from https://github.com/OpenDroneMap/ODM/tree/master/SuperBuild at build time.

Orthophoto is rendered by https://github.com/OpenDroneMap/ODM/tree/master/modules/odm_orthophoto