Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

add Spotscale orthophoto/textured mesh additions #13

Merged
merged 4 commits into from
Jan 20, 2015

Conversation

smathermather
Copy link
Contributor

So, this is a monstrous pull request. I should have been explicit in that this should have been done in repo, so my sincere apologies for the oversight.

None-the-less, this is some awesome work by Ludvig Emgard's Spotscale team, including Martin Svensson, Joakim Lindblad, Victor Johansson. This adds meshing, texturing, georeferencing, and orthorectification to OpenDroneMap. I have not finished my review of this (still running a test dataset through), but want to get this elevated to everyone's attention to test.

langley_screen

seneca_screen

odm_orthphoto

This can be tested with the Seneca dataset: https://github.com/OpenDroneMap/odm_data or any drone image dataset with 80%+ overlap and geographic position in the exif ephemeris.

dbaldwin and others added 2 commits January 14, 2015 21:43
Issue #32 - Adding libopencv-dev for compat with Ubuntu 14.04 64 bit

Compiles fine on 12.04. Going to merge.
smathermather pushed a commit that referenced this pull request Jan 20, 2015
…le_additions

add Spotscale orthophoto/textured mesh additions -- tested now on 12.04 and 14.04. Fingers crossed -- this is a big one... .
@smathermather smathermather merged commit b5c3843 into gh-pages Jan 20, 2015
@smathermather smathermather deleted the texturing_orthophoto_spotscale_additions branch January 21, 2015 03:49
mribbons added a commit to mribbons/OpenDroneMap that referenced this pull request May 19, 2017
Issue was caused by data in ImageUniqueID tag, even though data
is populated.

By only reading the values we need from metadata we avoid the issue
in pyexiv2.

Should also improve performance.

stacktrace of error:

.#0  strlen () at ../sysdeps/x86_64/strlen.S:106
.OpenDroneMap#1  0x00007fffdb154ce7 in exiv2wrapper::ExifTag::ExifTag(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, Exiv2::Exifdatum*, Exiv2::ExifData*, Exiv2::ByteOrder) () from /usr/lib/python2.7/dist-packages/libexiv2python.so
.OpenDroneMap#2  0x00007fffdb154eb4 in exiv2wrapper::Image::getExifTag(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >) ()
   from /usr/lib/python2.7/dist-packages/libexiv2python.so
.OpenDroneMap#3  0x00007fffdb15f3e6 in boost::python::objects::caller_py_function_impl<boost::python::detail::caller<exiv2wrapper::ExifTag const (exiv2wrapper::Image::*)(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >), boost::python::default_call_policies, boost::mpl::vector3<exiv2wrapper::ExifTag const, exiv2wrapper::Image&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >::operator()(_object*, _object*) ()
   from /usr/lib/python2.7/dist-packages/libexiv2python.so
.OpenDroneMap#4  0x00007ffff52845cd in boost::python::objects::function::call(_object*, _object*) const () from /usr/lib/x86_64-linux-gnu/libboost_python-py27.so.1.58.0
.OpenDroneMap#5  0x00007ffff52847c8 in ?? () from /usr/lib/x86_64-linux-gnu/libboost_python-py27.so.1.58.0
.OpenDroneMap#6  0x00007ffff528c823 in boost::python::detail::exception_handler::operator()(boost::function0<void> const&) const ()
   from /usr/lib/x86_64-linux-gnu/libboost_python-py27.so.1.58.0
.OpenDroneMap#7  0x00007fffdb15dd63 in boost::detail::function::function_obj_invoker2<boost::_bi::bind_t<bool, boost::python::detail::translate_exception<Exiv2::BasicError<char>, void (*)(Exiv2::BasicError<char> const&)>, boost::_bi::list3<boost::arg<1>, boost::arg<2>, boost::_bi::value<void (*)(Exiv2::BasicError<char> const&)> > >, bool, boost::python::detail::exception_handler const&, boost::function0<void> const&>::invoke(boost::detail::function::function_buffer&, boost::python::detail::exception_handler const&, boost::function0<void> const&) () from /usr/lib/python2.7/dist-packages/libexiv2python.so
.OpenDroneMap#8  0x00007ffff528c7f8 in boost::python::detail::exception_handler::operator()(boost::function0<void> const&) const ()
   from /usr/lib/x86_64-linux-gnu/libboost_python-py27.so.1.58.0
.OpenDroneMap#9  0x00007ffff5d01ab8 in boost::python::detail::translate_exception<ecto::except::NullTendril, void (*)(ecto::except::NullTendril const&)>::operator()(boost::python::detail::exception_handler const&, boost::function0<void> const&, void (*)(ecto::except::NullTendril const&)) const ()
   from /home/mribbons/OpenDroneMap170517/SuperBuild/install/lib/python2.7/dist-packages/ecto/ecto_main.so
.OpenDroneMap#10 0x00007ffff5d0099f in bool boost::_bi::list3<boost::arg<1>, boost::arg<2>, boost::_bi::value<void (*)(ecto::except::NullTendril const&)> >::operator()<bool, boost::python::detail::translate_exception<ecto::except::NullTendril, void (*)(ecto::except::NullTendril const&)>, boost::_bi::list2<boost::python::detail::exception_handler const&, boost::function0<void> const&> >(boost::_bi::type<bool>, boost::python::detail::translate_exception<ecto::except::NullTendril, void (*)(ecto::except::NullTendril const&)>&, boost::_bi::list2<boost::python::detail::exception_handler const&, boost::function0<void> const&>&, long) ()
   from /home/mribbons/OpenDroneMap170517/SuperBuild/install/lib/python2.7/dist-packages/ecto/ecto_main.so
.OpenDroneMap#11 0x00007ffff5cffbe7 in bool boost::_bi::bind_t<bool, boost::python::detail::translate_exception<ecto::except::NullTendril, void (*)(ecto::except::NullTendril const&)>, boost::_bi::list3<boost::arg<1>, boost::arg<2>, boost::_bi::value<void (*)(ecto::except::NullTendril const&)> > >::operator()<boost::python::detail::exception_handler, boost::function0<void> >(boost::python::detail::exception_handler const&, boost::function0<void> const&) ()
   from /home/mribbons/OpenDroneMap170517/SuperBuild/install/lib/python2.7/dist-packages/ecto/ecto_main.so
.OpenDroneMap#12 0x00007ffff5cfeb54 in boost::detail::function::function_obj_invoker2<boost::_bi::bind_t<bool, boost::python::detail::translate_exception<ecto::except::NullTendril, void (*)(ecto::except::NullTendril const&)>, boost::_bi::list3<boost::arg<1>, boost::arg<2>, boost::_bi::value<void (*)(ecto::except::NullTendril const&)> > >, bool, boost::python::detail::exception_handler const&, boost::function0<void> const&>::invoke(boost::detail::function::function_buffer&, boost::python::detail::exception_handler const&, boost::function0<void> const&) ()
   from /home/mribbons/OpenDroneMap170517/SuperBuild/install/lib/python2.7/dist-packages/ecto/ecto_main.so
.OpenDroneMap#13 0x00007ffff528c7f8 in boost::python::detail::exception_handler::operator()(boost::function0<void> const&) const ()
   from /usr/lib/x86_64-linux-gnu/libboost_python-py27.so.1.58.0
...
mribbons added a commit to mribbons/OpenDroneMap that referenced this pull request May 19, 2017
Issue was caused by data in ImageUniqueID tag, even though data
is populated.

By only reading the values we need from metadata we avoid the issue
in pyexiv2.

Should also improve performance.

stacktrace of error:

.#0  strlen () at ../sysdeps/x86_64/strlen.S:106
.OpenDroneMap#1  0x00007fffdb154ce7 in exiv2wrapper::ExifTag::ExifTag(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, Exiv2::Exifdatum*, Exiv2::ExifData*, Exiv2::ByteOrder) () from /usr/lib/python2.7/dist-packages/libexiv2python.so
.OpenDroneMap#2  0x00007fffdb154eb4 in exiv2wrapper::Image::getExifTag(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >) ()
   from /usr/lib/python2.7/dist-packages/libexiv2python.so
.OpenDroneMap#3  0x00007fffdb15f3e6 in boost::python::objects::caller_py_function_impl<boost::python::detail::caller<exiv2wrapper::ExifTag const (exiv2wrapper::Image::*)(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >), boost::python::default_call_policies, boost::mpl::vector3<exiv2wrapper::ExifTag const, exiv2wrapper::Image&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >::operator()(_object*, _object*) ()
   from /usr/lib/python2.7/dist-packages/libexiv2python.so
.OpenDroneMap#4  0x00007ffff52845cd in boost::python::objects::function::call(_object*, _object*) const () from /usr/lib/x86_64-linux-gnu/libboost_python-py27.so.1.58.0
.OpenDroneMap#5  0x00007ffff52847c8 in ?? () from /usr/lib/x86_64-linux-gnu/libboost_python-py27.so.1.58.0
.OpenDroneMap#6  0x00007ffff528c823 in boost::python::detail::exception_handler::operator()(boost::function0<void> const&) const ()
   from /usr/lib/x86_64-linux-gnu/libboost_python-py27.so.1.58.0
.OpenDroneMap#7  0x00007fffdb15dd63 in boost::detail::function::function_obj_invoker2<boost::_bi::bind_t<bool, boost::python::detail::translate_exception<Exiv2::BasicError<char>, void (*)(Exiv2::BasicError<char> const&)>, boost::_bi::list3<boost::arg<1>, boost::arg<2>, boost::_bi::value<void (*)(Exiv2::BasicError<char> const&)> > >, bool, boost::python::detail::exception_handler const&, boost::function0<void> const&>::invoke(boost::detail::function::function_buffer&, boost::python::detail::exception_handler const&, boost::function0<void> const&) () from /usr/lib/python2.7/dist-packages/libexiv2python.so
.OpenDroneMap#8  0x00007ffff528c7f8 in boost::python::detail::exception_handler::operator()(boost::function0<void> const&) const ()
   from /usr/lib/x86_64-linux-gnu/libboost_python-py27.so.1.58.0
.OpenDroneMap#9  0x00007ffff5d01ab8 in boost::python::detail::translate_exception<ecto::except::NullTendril, void (*)(ecto::except::NullTendril const&)>::operator()(boost::python::detail::exception_handler const&, boost::function0<void> const&, void (*)(ecto::except::NullTendril const&)) const ()
   from /home/mribbons/OpenDroneMap170517/SuperBuild/install/lib/python2.7/dist-packages/ecto/ecto_main.so
.OpenDroneMap#10 0x00007ffff5d0099f in bool boost::_bi::list3<boost::arg<1>, boost::arg<2>, boost::_bi::value<void (*)(ecto::except::NullTendril const&)> >::operator()<bool, boost::python::detail::translate_exception<ecto::except::NullTendril, void (*)(ecto::except::NullTendril const&)>, boost::_bi::list2<boost::python::detail::exception_handler const&, boost::function0<void> const&> >(boost::_bi::type<bool>, boost::python::detail::translate_exception<ecto::except::NullTendril, void (*)(ecto::except::NullTendril const&)>&, boost::_bi::list2<boost::python::detail::exception_handler const&, boost::function0<void> const&>&, long) ()
   from /home/mribbons/OpenDroneMap170517/SuperBuild/install/lib/python2.7/dist-packages/ecto/ecto_main.so
.OpenDroneMap#11 0x00007ffff5cffbe7 in bool boost::_bi::bind_t<bool, boost::python::detail::translate_exception<ecto::except::NullTendril, void (*)(ecto::except::NullTendril const&)>, boost::_bi::list3<boost::arg<1>, boost::arg<2>, boost::_bi::value<void (*)(ecto::except::NullTendril const&)> > >::operator()<boost::python::detail::exception_handler, boost::function0<void> >(boost::python::detail::exception_handler const&, boost::function0<void> const&) ()
   from /home/mribbons/OpenDroneMap170517/SuperBuild/install/lib/python2.7/dist-packages/ecto/ecto_main.so
.OpenDroneMap#12 0x00007ffff5cfeb54 in boost::detail::function::function_obj_invoker2<boost::_bi::bind_t<bool, boost::python::detail::translate_exception<ecto::except::NullTendril, void (*)(ecto::except::NullTendril const&)>, boost::_bi::list3<boost::arg<1>, boost::arg<2>, boost::_bi::value<void (*)(ecto::except::NullTendril const&)> > >, bool, boost::python::detail::exception_handler const&, boost::function0<void> const&>::invoke(boost::detail::function::function_buffer&, boost::python::detail::exception_handler const&, boost::function0<void> const&) ()
   from /home/mribbons/OpenDroneMap170517/SuperBuild/install/lib/python2.7/dist-packages/ecto/ecto_main.so
.OpenDroneMap#13 0x00007ffff528c7f8 in boost::python::detail::exception_handler::operator()(boost::function0<void> const&) const ()
   from /usr/lib/x86_64-linux-gnu/libboost_python-py27.so.1.58.0
...
mribbons added a commit to mribbons/OpenDroneMap that referenced this pull request May 19, 2017
Resolves OpenDroneMap#580

Issue was caused by attempting to read data in ImageUniqueID tag,
even though data is populated.

By only reading the values we need from metadata we avoid the issue
in pyexiv2.

Should also improve performance.

stacktrace of error:

.#0  strlen () at ../sysdeps/x86_64/strlen.S:106
.OpenDroneMap#1  0x00007fffdb154ce7 in exiv2wrapper::ExifTag::ExifTag(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, Exiv2::Exifdatum*, Exiv2::ExifData*, Exiv2::ByteOrder) () from /usr/lib/python2.7/dist-packages/libexiv2python.so
.OpenDroneMap#2  0x00007fffdb154eb4 in exiv2wrapper::Image::getExifTag(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >) ()
   from /usr/lib/python2.7/dist-packages/libexiv2python.so
.OpenDroneMap#3  0x00007fffdb15f3e6 in boost::python::objects::caller_py_function_impl<boost::python::detail::caller<exiv2wrapper::ExifTag const (exiv2wrapper::Image::*)(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >), boost::python::default_call_policies, boost::mpl::vector3<exiv2wrapper::ExifTag const, exiv2wrapper::Image&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >::operator()(_object*, _object*) ()
   from /usr/lib/python2.7/dist-packages/libexiv2python.so
.OpenDroneMap#4  0x00007ffff52845cd in boost::python::objects::function::call(_object*, _object*) const () from /usr/lib/x86_64-linux-gnu/libboost_python-py27.so.1.58.0
.OpenDroneMap#5  0x00007ffff52847c8 in ?? () from /usr/lib/x86_64-linux-gnu/libboost_python-py27.so.1.58.0
.OpenDroneMap#6  0x00007ffff528c823 in boost::python::detail::exception_handler::operator()(boost::function0<void> const&) const ()
   from /usr/lib/x86_64-linux-gnu/libboost_python-py27.so.1.58.0
.OpenDroneMap#7  0x00007fffdb15dd63 in boost::detail::function::function_obj_invoker2<boost::_bi::bind_t<bool, boost::python::detail::translate_exception<Exiv2::BasicError<char>, void (*)(Exiv2::BasicError<char> const&)>, boost::_bi::list3<boost::arg<1>, boost::arg<2>, boost::_bi::value<void (*)(Exiv2::BasicError<char> const&)> > >, bool, boost::python::detail::exception_handler const&, boost::function0<void> const&>::invoke(boost::detail::function::function_buffer&, boost::python::detail::exception_handler const&, boost::function0<void> const&) () from /usr/lib/python2.7/dist-packages/libexiv2python.so
.OpenDroneMap#8  0x00007ffff528c7f8 in boost::python::detail::exception_handler::operator()(boost::function0<void> const&) const ()
   from /usr/lib/x86_64-linux-gnu/libboost_python-py27.so.1.58.0
.OpenDroneMap#9  0x00007ffff5d01ab8 in boost::python::detail::translate_exception<ecto::except::NullTendril, void (*)(ecto::except::NullTendril const&)>::operator()(boost::python::detail::exception_handler const&, boost::function0<void> const&, void (*)(ecto::except::NullTendril const&)) const ()
   from /home/mribbons/OpenDroneMap170517/SuperBuild/install/lib/python2.7/dist-packages/ecto/ecto_main.so
.OpenDroneMap#10 0x00007ffff5d0099f in bool boost::_bi::list3<boost::arg<1>, boost::arg<2>, boost::_bi::value<void (*)(ecto::except::NullTendril const&)> >::operator()<bool, boost::python::detail::translate_exception<ecto::except::NullTendril, void (*)(ecto::except::NullTendril const&)>, boost::_bi::list2<boost::python::detail::exception_handler const&, boost::function0<void> const&> >(boost::_bi::type<bool>, boost::python::detail::translate_exception<ecto::except::NullTendril, void (*)(ecto::except::NullTendril const&)>&, boost::_bi::list2<boost::python::detail::exception_handler const&, boost::function0<void> const&>&, long) ()
   from /home/mribbons/OpenDroneMap170517/SuperBuild/install/lib/python2.7/dist-packages/ecto/ecto_main.so
.OpenDroneMap#11 0x00007ffff5cffbe7 in bool boost::_bi::bind_t<bool, boost::python::detail::translate_exception<ecto::except::NullTendril, void (*)(ecto::except::NullTendril const&)>, boost::_bi::list3<boost::arg<1>, boost::arg<2>, boost::_bi::value<void (*)(ecto::except::NullTendril const&)> > >::operator()<boost::python::detail::exception_handler, boost::function0<void> >(boost::python::detail::exception_handler const&, boost::function0<void> const&) ()
   from /home/mribbons/OpenDroneMap170517/SuperBuild/install/lib/python2.7/dist-packages/ecto/ecto_main.so
.OpenDroneMap#12 0x00007ffff5cfeb54 in boost::detail::function::function_obj_invoker2<boost::_bi::bind_t<bool, boost::python::detail::translate_exception<ecto::except::NullTendril, void (*)(ecto::except::NullTendril const&)>, boost::_bi::list3<boost::arg<1>, boost::arg<2>, boost::_bi::value<void (*)(ecto::except::NullTendril const&)> > >, bool, boost::python::detail::exception_handler const&, boost::function0<void> const&>::invoke(boost::detail::function::function_buffer&, boost::python::detail::exception_handler const&, boost::function0<void> const&) ()
   from /home/mribbons/OpenDroneMap170517/SuperBuild/install/lib/python2.7/dist-packages/ecto/ecto_main.so
.OpenDroneMap#13 0x00007ffff528c7f8 in boost::python::detail::exception_handler::operator()(boost::function0<void> const&) const ()
   from /usr/lib/x86_64-linux-gnu/libboost_python-py27.so.1.58.0
...
mgctech-gk pushed a commit to mgctech-gk/OpenDroneMap that referenced this pull request Jul 15, 2017
* Partial restart of opensfm

* Added Odm25dMeshing module, CGAL read Ply file example

* Proof of concept 2.5D colored mesh working. Still need to do smoothing / filtering

* Add BigTIFF creation option to odm_orthophoto

* Smoothing improvements (work in progress)

* Tweaked a few parameters

* Docker packages.Dockerfile Updates

Moved to phusion/baseimage
Removed .git folder in docker image
Also removed .git from the COPY in Dockerfile
Dropped Test files and git info from Dockerfile

* Ignore updates

* Add baseline code for DEM gen

* Add all options to BIGTIFF param

* Add gdaladdo to build overviews

* Docker updates

* Docker Improvements

* jet_smooth_points working

* bilateral smoothing working

* Dockerfile updates

* Last tweaks, ready for testing

* Added support for resume from opensfm reconstruction stages.

* Added support for resume from opensfm reconstruction stages.

* Started modifying cmake build rules to build 25dmesh module

* Got odm_25dmeshing to compile under OpenDroneMap env

* Integrated 2.5D mesh into pipeline. Still needs testing

* Fixed path bug

* Fixed incorrect filename.

* Cleaned up dockerfile, updated core2.dockerfile, removed unused packages.dockerfile (OpenDroneMap#536)

* Add DEM generator to control script

* Add reinstall and uninstall options to configuration script

* Add reinstall instructions to README

* Update LAS conversion to JSON

* Expose DEM gen options to command line

* Removed odm_texturing, cleaned up 2.5d generation algorithm, added params in ODM pipeline

* Added max_vertex_25d parameter, added TBB library support for parallel execution, cleanup

* Added --skip-25dmesh parameter

* Increased lower limit for wlop

* Added overflow check in normalsDirectionCount

* Changed default wlop iterations value

* Add LAS writer forward option

* Added libgmp-dev libmpfr-dev dependencies

* Started improving 2.5d mesh generation to fix seg faults in mvs texturing

* z-occlusion filtering, removed outlier removal, still need testing

* Removed max-vertex-25d parameter

* Grid upsampling, much faster processing

* Re-added outlier removal code

* Polyhedron construction, refining, simplification

* Readded outlier removal parameter, removed tinyply dependency, mesh refinement, edge collapse

* Update Version

* Remove ref to packages.Dockerfile in README

* Parameter tweaks

* Re-add OpenSfM to benchmarking

* Added details for installing Grass version

Clarified that code works only with Grass 7 or higher version

* Linked contour map generation with ODM DEM model

This update links the grass contour code to the ODM project DEM model generated with PDAL, which is located in the project folder /odm_georeferencing/odm_georeferencing_model_dem.tif. 
It also enables contour and relief maps to be created across regions as it ignores the Location PROJ_INFO with the -o flag.

* Clarifies GRASS version

More detail for GRASS compile and install and links code to ODM project DEM file.

* Give proper warning when resize is equal to image size.

* Remove outdated instructions from readme

* Updated pdal matrix transform pipeline, updated PDAL version

* Use custom MVS repo

* Update MVS Texturing

* Update to version 0.3.1

* Removed extract true from filters.pmf

* added skip-resize flag to possible arguments and added its implementation

* added copy method to io.py

* replaced shutil.copyfile with io.copy

* Temporarily changed opensfm-processes to 1

* Link to "Viewing results" wiki page from README.md

* Added warning when an orthophoto cannot be generated due to excessive resolution

* Avoid crash in pyexiv2 with some image files.
Resolves OpenDroneMap#580

Issue was caused by attempting to read data in ImageUniqueID tag,
even though data is populated.

By only reading the values we need from metadata we avoid the issue
in pyexiv2.

Should also improve performance.

stacktrace of error:

.#0  strlen () at ../sysdeps/x86_64/strlen.S:106
.#1  0x00007fffdb154ce7 in exiv2wrapper::ExifTag::ExifTag(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, Exiv2::Exifdatum*, Exiv2::ExifData*, Exiv2::ByteOrder) () from /usr/lib/python2.7/dist-packages/libexiv2python.so
.#2  0x00007fffdb154eb4 in exiv2wrapper::Image::getExifTag(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >) ()
   from /usr/lib/python2.7/dist-packages/libexiv2python.so
.#3  0x00007fffdb15f3e6 in boost::python::objects::caller_py_function_impl<boost::python::detail::caller<exiv2wrapper::ExifTag const (exiv2wrapper::Image::*)(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >), boost::python::default_call_policies, boost::mpl::vector3<exiv2wrapper::ExifTag const, exiv2wrapper::Image&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >::operator()(_object*, _object*) ()
   from /usr/lib/python2.7/dist-packages/libexiv2python.so
.OpenDroneMap#4  0x00007ffff52845cd in boost::python::objects::function::call(_object*, _object*) const () from /usr/lib/x86_64-linux-gnu/libboost_python-py27.so.1.58.0
.OpenDroneMap#5  0x00007ffff52847c8 in ?? () from /usr/lib/x86_64-linux-gnu/libboost_python-py27.so.1.58.0
.OpenDroneMap#6  0x00007ffff528c823 in boost::python::detail::exception_handler::operator()(boost::function0<void> const&) const ()
   from /usr/lib/x86_64-linux-gnu/libboost_python-py27.so.1.58.0
.OpenDroneMap#7  0x00007fffdb15dd63 in boost::detail::function::function_obj_invoker2<boost::_bi::bind_t<bool, boost::python::detail::translate_exception<Exiv2::BasicError<char>, void (*)(Exiv2::BasicError<char> const&)>, boost::_bi::list3<boost::arg<1>, boost::arg<2>, boost::_bi::value<void (*)(Exiv2::BasicError<char> const&)> > >, bool, boost::python::detail::exception_handler const&, boost::function0<void> const&>::invoke(boost::detail::function::function_buffer&, boost::python::detail::exception_handler const&, boost::function0<void> const&) () from /usr/lib/python2.7/dist-packages/libexiv2python.so
.OpenDroneMap#8  0x00007ffff528c7f8 in boost::python::detail::exception_handler::operator()(boost::function0<void> const&) const ()
   from /usr/lib/x86_64-linux-gnu/libboost_python-py27.so.1.58.0
.OpenDroneMap#9  0x00007ffff5d01ab8 in boost::python::detail::translate_exception<ecto::except::NullTendril, void (*)(ecto::except::NullTendril const&)>::operator()(boost::python::detail::exception_handler const&, boost::function0<void> const&, void (*)(ecto::except::NullTendril const&)) const ()
   from /home/mribbons/OpenDroneMap170517/SuperBuild/install/lib/python2.7/dist-packages/ecto/ecto_main.so
.OpenDroneMap#10 0x00007ffff5d0099f in bool boost::_bi::list3<boost::arg<1>, boost::arg<2>, boost::_bi::value<void (*)(ecto::except::NullTendril const&)> >::operator()<bool, boost::python::detail::translate_exception<ecto::except::NullTendril, void (*)(ecto::except::NullTendril const&)>, boost::_bi::list2<boost::python::detail::exception_handler const&, boost::function0<void> const&> >(boost::_bi::type<bool>, boost::python::detail::translate_exception<ecto::except::NullTendril, void (*)(ecto::except::NullTendril const&)>&, boost::_bi::list2<boost::python::detail::exception_handler const&, boost::function0<void> const&>&, long) ()
   from /home/mribbons/OpenDroneMap170517/SuperBuild/install/lib/python2.7/dist-packages/ecto/ecto_main.so
.OpenDroneMap#11 0x00007ffff5cffbe7 in bool boost::_bi::bind_t<bool, boost::python::detail::translate_exception<ecto::except::NullTendril, void (*)(ecto::except::NullTendril const&)>, boost::_bi::list3<boost::arg<1>, boost::arg<2>, boost::_bi::value<void (*)(ecto::except::NullTendril const&)> > >::operator()<boost::python::detail::exception_handler, boost::function0<void> >(boost::python::detail::exception_handler const&, boost::function0<void> const&) ()
   from /home/mribbons/OpenDroneMap170517/SuperBuild/install/lib/python2.7/dist-packages/ecto/ecto_main.so
.OpenDroneMap#12 0x00007ffff5cfeb54 in boost::detail::function::function_obj_invoker2<boost::_bi::bind_t<bool, boost::python::detail::translate_exception<ecto::except::NullTendril, void (*)(ecto::except::NullTendril const&)>, boost::_bi::list3<boost::arg<1>, boost::arg<2>, boost::_bi::value<void (*)(ecto::except::NullTendril const&)> > >, bool, boost::python::detail::exception_handler const&, boost::function0<void> const&>::invoke(boost::detail::function::function_buffer&, boost::python::detail::exception_handler const&, boost::function0<void> const&) ()
   from /home/mribbons/OpenDroneMap170517/SuperBuild/install/lib/python2.7/dist-packages/ecto/ecto_main.so
.OpenDroneMap#13 0x00007ffff528c7f8 in boost::python::detail::exception_handler::operator()(boost::function0<void> const&) const ()
   from /usr/lib/x86_64-linux-gnu/libboost_python-py27.so.1.58.0
...

* Revert incorrect permission change from 992935e

* added output of the final transform to text file (also fixed a small typo)

* forgot a self.

* Improved GPS Altitude tag detection and parsing

* added argument for setting transform file path

* added usage of outputTransformFile in python code. also updated readme to contain the file

* forgot _file suffix

* also have to set transform file here

* Fix x,y dimensions in exif after resize.

In numpy arrays, shape[0] corresponds to y and shape[1] corresponds to x.

* Modified dockerfile, configure.sh script to install lidar2dems module

* Added lidar2dems superbuild module, modified dockerfile, configure.sh to install lidar2dems deps

* Started adding odm_dem module

* Wrote ODM_DEM cell

* Syntax fix, decimation parameter fix, tweaks

* Updated checksum

* Removed convert_to_dem

* Typo

* Labeled units

* configure.sh: Yes to GAL deps

Change-Id: If31faf28039f771238173490152d039a39e682ee

* Upgraded PDAL to include ground kernel patch commit

* Updated l2d md5

* Added automated DEM clipping

* Skip classification if only DSM is requested, decimation parameter passing

* Updated repo URLs, modified core2.dockerfile

* Added env_paths option in system.run, added path to superbuild install directory for odm_dem module, fixed lidar2dems install

* Fixed path error

* Added dependency on opensfm

* Removed MD5 check for lidar2dems

* Added dem-initial-distance parameter

* Parameter order fix

* Changed dem-initial-distance default value

* Update settings.yaml

* Add new dem settings
smathermather added a commit that referenced this pull request Oct 3, 2019
peddyhh pushed a commit to peddyhh/ODM that referenced this pull request Jun 7, 2020
…hoto_spotscale_additions

add Spotscale orthophoto/textured mesh additions -- tested now on 12.04 and 14.04. Fingers crossed -- this is a big one... .

Former-commit-id: b5c3843
peddyhh pushed a commit to peddyhh/ODM that referenced this pull request Jun 7, 2020
Resolves OpenDroneMap#580

Issue was caused by attempting to read data in ImageUniqueID tag,
even though data is populated.

By only reading the values we need from metadata we avoid the issue
in pyexiv2.

Should also improve performance.

stacktrace of error:

.#0  strlen () at ../sysdeps/x86_64/strlen.S:106
.OpenDroneMap#1  0x00007fffdb154ce7 in exiv2wrapper::ExifTag::ExifTag(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, Exiv2::Exifdatum*, Exiv2::ExifData*, Exiv2::ByteOrder) () from /usr/lib/python2.7/dist-packages/libexiv2python.so
.OpenDroneMap#2  0x00007fffdb154eb4 in exiv2wrapper::Image::getExifTag(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >) ()
   from /usr/lib/python2.7/dist-packages/libexiv2python.so
.OpenDroneMap#3  0x00007fffdb15f3e6 in boost::python::objects::caller_py_function_impl<boost::python::detail::caller<exiv2wrapper::ExifTag const (exiv2wrapper::Image::*)(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >), boost::python::default_call_policies, boost::mpl::vector3<exiv2wrapper::ExifTag const, exiv2wrapper::Image&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >::operator()(_object*, _object*) ()
   from /usr/lib/python2.7/dist-packages/libexiv2python.so
.OpenDroneMap#4  0x00007ffff52845cd in boost::python::objects::function::call(_object*, _object*) const () from /usr/lib/x86_64-linux-gnu/libboost_python-py27.so.1.58.0
.OpenDroneMap#5  0x00007ffff52847c8 in ?? () from /usr/lib/x86_64-linux-gnu/libboost_python-py27.so.1.58.0
.OpenDroneMap#6  0x00007ffff528c823 in boost::python::detail::exception_handler::operator()(boost::function0<void> const&) const ()
   from /usr/lib/x86_64-linux-gnu/libboost_python-py27.so.1.58.0
.OpenDroneMap#7  0x00007fffdb15dd63 in boost::detail::function::function_obj_invoker2<boost::_bi::bind_t<bool, boost::python::detail::translate_exception<Exiv2::BasicError<char>, void (*)(Exiv2::BasicError<char> const&)>, boost::_bi::list3<boost::arg<1>, boost::arg<2>, boost::_bi::value<void (*)(Exiv2::BasicError<char> const&)> > >, bool, boost::python::detail::exception_handler const&, boost::function0<void> const&>::invoke(boost::detail::function::function_buffer&, boost::python::detail::exception_handler const&, boost::function0<void> const&) () from /usr/lib/python2.7/dist-packages/libexiv2python.so
.OpenDroneMap#8  0x00007ffff528c7f8 in boost::python::detail::exception_handler::operator()(boost::function0<void> const&) const ()
   from /usr/lib/x86_64-linux-gnu/libboost_python-py27.so.1.58.0
.OpenDroneMap#9  0x00007ffff5d01ab8 in boost::python::detail::translate_exception<ecto::except::NullTendril, void (*)(ecto::except::NullTendril const&)>::operator()(boost::python::detail::exception_handler const&, boost::function0<void> const&, void (*)(ecto::except::NullTendril const&)) const ()
   from /home/mribbons/OpenDroneMap170517/SuperBuild/install/lib/python2.7/dist-packages/ecto/ecto_main.so
.OpenDroneMap#10 0x00007ffff5d0099f in bool boost::_bi::list3<boost::arg<1>, boost::arg<2>, boost::_bi::value<void (*)(ecto::except::NullTendril const&)> >::operator()<bool, boost::python::detail::translate_exception<ecto::except::NullTendril, void (*)(ecto::except::NullTendril const&)>, boost::_bi::list2<boost::python::detail::exception_handler const&, boost::function0<void> const&> >(boost::_bi::type<bool>, boost::python::detail::translate_exception<ecto::except::NullTendril, void (*)(ecto::except::NullTendril const&)>&, boost::_bi::list2<boost::python::detail::exception_handler const&, boost::function0<void> const&>&, long) ()
   from /home/mribbons/OpenDroneMap170517/SuperBuild/install/lib/python2.7/dist-packages/ecto/ecto_main.so
.OpenDroneMap#11 0x00007ffff5cffbe7 in bool boost::_bi::bind_t<bool, boost::python::detail::translate_exception<ecto::except::NullTendril, void (*)(ecto::except::NullTendril const&)>, boost::_bi::list3<boost::arg<1>, boost::arg<2>, boost::_bi::value<void (*)(ecto::except::NullTendril const&)> > >::operator()<boost::python::detail::exception_handler, boost::function0<void> >(boost::python::detail::exception_handler const&, boost::function0<void> const&) ()
   from /home/mribbons/OpenDroneMap170517/SuperBuild/install/lib/python2.7/dist-packages/ecto/ecto_main.so
.OpenDroneMap#12 0x00007ffff5cfeb54 in boost::detail::function::function_obj_invoker2<boost::_bi::bind_t<bool, boost::python::detail::translate_exception<ecto::except::NullTendril, void (*)(ecto::except::NullTendril const&)>, boost::_bi::list3<boost::arg<1>, boost::arg<2>, boost::_bi::value<void (*)(ecto::except::NullTendril const&)> > >, bool, boost::python::detail::exception_handler const&, boost::function0<void> const&>::invoke(boost::detail::function::function_buffer&, boost::python::detail::exception_handler const&, boost::function0<void> const&) ()
   from /home/mribbons/OpenDroneMap170517/SuperBuild/install/lib/python2.7/dist-packages/ecto/ecto_main.so
.OpenDroneMap#13 0x00007ffff528c7f8 in boost::python::detail::exception_handler::operator()(boost::function0<void> const&) const ()
   from /usr/lib/x86_64-linux-gnu/libboost_python-py27.so.1.58.0
...


Former-commit-id: 992935e
peddyhh pushed a commit to peddyhh/ODM that referenced this pull request Jun 7, 2020
Bring in latest master

Former-commit-id: eea3119
pierotofy pushed a commit that referenced this pull request Sep 21, 2020
Resolves #580

Issue was caused by attempting to read data in ImageUniqueID tag,
even though data is populated.

By only reading the values we need from metadata we avoid the issue
in pyexiv2.

Should also improve performance.

stacktrace of error:

.#0  strlen () at ../sysdeps/x86_64/strlen.S:106
.#1  0x00007fffdb154ce7 in exiv2wrapper::ExifTag::ExifTag(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&, Exiv2::Exifdatum*, Exiv2::ExifData*, Exiv2::ByteOrder) () from /usr/lib/python2.7/dist-packages/libexiv2python.so
.#2  0x00007fffdb154eb4 in exiv2wrapper::Image::getExifTag(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >) ()
   from /usr/lib/python2.7/dist-packages/libexiv2python.so
.#3  0x00007fffdb15f3e6 in boost::python::objects::caller_py_function_impl<boost::python::detail::caller<exiv2wrapper::ExifTag const (exiv2wrapper::Image::*)(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >), boost::python::default_call_policies, boost::mpl::vector3<exiv2wrapper::ExifTag const, exiv2wrapper::Image&, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > > > >::operator()(_object*, _object*) ()
   from /usr/lib/python2.7/dist-packages/libexiv2python.so
.#4  0x00007ffff52845cd in boost::python::objects::function::call(_object*, _object*) const () from /usr/lib/x86_64-linux-gnu/libboost_python-py27.so.1.58.0
.#5  0x00007ffff52847c8 in ?? () from /usr/lib/x86_64-linux-gnu/libboost_python-py27.so.1.58.0
.#6  0x00007ffff528c823 in boost::python::detail::exception_handler::operator()(boost::function0<void> const&) const ()
   from /usr/lib/x86_64-linux-gnu/libboost_python-py27.so.1.58.0
.#7  0x00007fffdb15dd63 in boost::detail::function::function_obj_invoker2<boost::_bi::bind_t<bool, boost::python::detail::translate_exception<Exiv2::BasicError<char>, void (*)(Exiv2::BasicError<char> const&)>, boost::_bi::list3<boost::arg<1>, boost::arg<2>, boost::_bi::value<void (*)(Exiv2::BasicError<char> const&)> > >, bool, boost::python::detail::exception_handler const&, boost::function0<void> const&>::invoke(boost::detail::function::function_buffer&, boost::python::detail::exception_handler const&, boost::function0<void> const&) () from /usr/lib/python2.7/dist-packages/libexiv2python.so
.#8  0x00007ffff528c7f8 in boost::python::detail::exception_handler::operator()(boost::function0<void> const&) const ()
   from /usr/lib/x86_64-linux-gnu/libboost_python-py27.so.1.58.0
.#9  0x00007ffff5d01ab8 in boost::python::detail::translate_exception<ecto::except::NullTendril, void (*)(ecto::except::NullTendril const&)>::operator()(boost::python::detail::exception_handler const&, boost::function0<void> const&, void (*)(ecto::except::NullTendril const&)) const ()
   from /home/mribbons/OpenDroneMap170517/SuperBuild/install/lib/python2.7/dist-packages/ecto/ecto_main.so
.#10 0x00007ffff5d0099f in bool boost::_bi::list3<boost::arg<1>, boost::arg<2>, boost::_bi::value<void (*)(ecto::except::NullTendril const&)> >::operator()<bool, boost::python::detail::translate_exception<ecto::except::NullTendril, void (*)(ecto::except::NullTendril const&)>, boost::_bi::list2<boost::python::detail::exception_handler const&, boost::function0<void> const&> >(boost::_bi::type<bool>, boost::python::detail::translate_exception<ecto::except::NullTendril, void (*)(ecto::except::NullTendril const&)>&, boost::_bi::list2<boost::python::detail::exception_handler const&, boost::function0<void> const&>&, long) ()
   from /home/mribbons/OpenDroneMap170517/SuperBuild/install/lib/python2.7/dist-packages/ecto/ecto_main.so
.#11 0x00007ffff5cffbe7 in bool boost::_bi::bind_t<bool, boost::python::detail::translate_exception<ecto::except::NullTendril, void (*)(ecto::except::NullTendril const&)>, boost::_bi::list3<boost::arg<1>, boost::arg<2>, boost::_bi::value<void (*)(ecto::except::NullTendril const&)> > >::operator()<boost::python::detail::exception_handler, boost::function0<void> >(boost::python::detail::exception_handler const&, boost::function0<void> const&) ()
   from /home/mribbons/OpenDroneMap170517/SuperBuild/install/lib/python2.7/dist-packages/ecto/ecto_main.so
.#12 0x00007ffff5cfeb54 in boost::detail::function::function_obj_invoker2<boost::_bi::bind_t<bool, boost::python::detail::translate_exception<ecto::except::NullTendril, void (*)(ecto::except::NullTendril const&)>, boost::_bi::list3<boost::arg<1>, boost::arg<2>, boost::_bi::value<void (*)(ecto::except::NullTendril const&)> > >, bool, boost::python::detail::exception_handler const&, boost::function0<void> const&>::invoke(boost::detail::function::function_buffer&, boost::python::detail::exception_handler const&, boost::function0<void> const&) ()
   from /home/mribbons/OpenDroneMap170517/SuperBuild/install/lib/python2.7/dist-packages/ecto/ecto_main.so
.#13 0x00007ffff528c7f8 in boost::python::detail::exception_handler::operator()(boost::function0<void> const&) const ()
   from /usr/lib/x86_64-linux-gnu/libboost_python-py27.so.1.58.0
...


Former-commit-id: 992935e
pierotofy pushed a commit that referenced this pull request Sep 21, 2020
Bring in latest master

Former-commit-id: eea3119
pierotofy pushed a commit to pierotofy/ODM that referenced this pull request Sep 21, 2020
…hoto_spotscale_additions

add Spotscale orthophoto/textured mesh additions -- tested now on 12.04 and 14.04. Fingers crossed -- this is a big one... .

Former-commit-id: b5c3843
pierotofy pushed a commit to pierotofy/ODM that referenced this pull request Jul 7, 2022
…tral

Use FLANN matcher instead of brute force
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

3 participants