OpenDroneMap / ODM

A command line toolkit to generate maps, point clouds, 3D models and DEMs from drone, balloon or kite images. 📷
https://opendronemap.org
GNU Affero General Public License v3.0
4.68k stars 1.07k forks source link

Fix start/end date on Windows and enforce band order normalization #1701

Closed pierotofy closed 9 months ago

pierotofy commented 9 months ago

Fixes #1699

pierotofy commented 9 months ago

This PR also enforces band order normalization, relying on the band_index provided by manufacturers provides inconsistent outputs, e.g. the Mavic 3M puts the RGB band at index 5, MicaSense at 1, plus countless other permutations found in the wild. It's a pain for users to then sort out why "RedEdge" is the first channel band when opened in QGIS (or worse, assume that ODM doesn't work because RGB is not the default band).

We now enforce this band order:

Which is pretty common/standard.

Saijin-Naib commented 9 months ago

Perfect. Follows the wavelength order too.

pierotofy commented 9 months ago

This will also improve multispectral alignment, because in cases where the manufacturer chose "RedEdge" as index 0, RedEdge was automatically chosen as the primary band (unless overriden via --primary-band, which few people use), giving poor alignment results.

We now automatically favor RGB, or a Blue band if available, otherwise the first band in the list.

Saijin-Naib commented 9 months ago

Can we favor green over blue for alignment? That should be higher SNR than blue on these sensors.

pierotofy commented 9 months ago

Sure!

Saijin-Naib commented 9 months ago

I don't know how to modify to test, but most sensors mimic human vision and green is the most responsive channel, plus slightly longer wavelength gives less noise on CCD and CMOS (blue is too close to UV), but not so long focusing and scatter becomes problematic (NIR/red-edge)

So, it should be slightly better but I can't prove it out 😑