edgarriba / OpenDroneMap

OpenDroneMap is a tool to postprocess small Unmanned Aerial Vehicle (sUAS), balloon, kite, and street view data to geographic data. With the current update, we are adding the ability to create orthophotos from drone, balloon, and kite imagery which has GPS ephemeris. Forked from qwesda/BundlerTools ( https://github.com/qwesda/BundlerTools )
GNU General Public License v3.0
0 stars 0 forks source link

pull request #11

Open edgarriba opened 8 years ago

edgarriba commented 8 years ago

@dakotabenjamin @smathermather @paulinus

The baby starts to walk. Let's test everything in order to do a proper PR in the master branch.

We can also discuss here the project design in order to be able to move things around before doing this huge merge.

dakotabenjamin commented 8 years ago

What kind of parallelization is happening, specifically with opensfm? These processes seem to be taking longer than normal, even on a large (32-core) machine. I'm trying to do some comprehensive testing but right now run time is slowing me down.

It took 45 minutes to run odm_data_bellus, vs 18 minutes using the master

edgarriba commented 8 years ago

AFAIK parallelization happens only during the features detection and matching process. Not sure if Ceres has parallel computing for BA task? @paulinus

dakotabenjamin commented 8 years ago

Can you help me get the python testing started? My unfamiliarity with ecto really has me struggling to set up the tests. I think I understand conceptually that we need to initialize an ecto plasm, then we can call each cell and run tests on each- however I am having trouble getting that basis. You can see here what I mean: https://github.com/dakotabenjamin/OpenDroneMap/blob/nose_tests/tests/test_odm.py

edgarriba commented 8 years ago

sure! Firstly, in this case what do you want to test? Secondly, what I would do is take one of the datasets that produces a proper result and use it as a ground truth reference. Finally, design a test for each cell using as inputs/outputs the ground truth files. We should define very well every test before start coding.

dakotabenjamin commented 8 years ago

Ok So I think this is a start of what should be tested in python. I will use a subset of the toledo dataset.

opendm/

config.py

context.py

io.py

system.py

types.py

scripts/

dataset.py

resize.py

OpenSfM.py

CMVS.py

PMVS.py

odm_meshing.py

odm_texturing.py

odm_georeferencing.py

odm_orthophoto.py

edgarriba commented 8 years ago

sounds good to me! We could use this unit test framework: https://cloud.google.com/appengine/docs/python/tools/localunittesting?csw=1

dakotabenjamin commented 8 years ago

Interesting. I had been looking at using Travis-CI because of the strong support for open-source projects, and it integrates with Github well. What do you think google app engine can offer that would better suite this project?

edgarriba commented 8 years ago

well, I'm not confident at all with Travis since I've never used. But we can give it a shot! Regarding gtest I have some experience with the c++ framework (used by opencv) but not in python. I only know that have some well defined macros for testing.

dakotabenjamin commented 8 years ago

I finally got a testsing framework in place. I made a branch on the main repo from the cmake branch for the code sprint and I've pushed the testing code to as 'tests' folder there.

BTW, I had to use the git merge option -s recursive -Xtheirs to basically completely override your code into the branch.

edgarriba commented 8 years ago

yes, just seen that. Thanks to merge it. I realized that the sprint starts tomorrow. I'm a bit busy but I will help as much as possible.

smathermather commented 8 years ago

Sounds great, @edgarriba.