diff --git a/README.md b/README.md index 3de907e1..a5e02aa4 100644 --- a/README.md +++ b/README.md @@ -80,6 +80,9 @@ Then run: There are many options for tuning your project. See the [wiki](https://github.com/OpenDroneMap/OpenDroneMap/wiki/3.-Run-Time-Parameters) or run `python run.py -h` <<<<<<< HEAD + +##### Viewing Results + When the process finishes, the results will be organized as follows ======= Long term, the aim is for the toolchain to also be able to optionally push to a variety of online data repositories, pushing hi-resolution aerials to [OpenAerialMap](https://openaerialmap.org/), point clouds to [OpenTopography](http://opentopography.org/), and pushing digital elevation models to an emerging global repository (yet to be named...). That leaves only digital surface model meshes and UV textured meshes with no global repository home. @@ -116,17 +119,15 @@ Long term, the aim is for the toolchain to also be able to optionally push to a |-- odm_orthophoto_log.txt # Log file |-- gdal_translate_log.txt # Log for georeferencing the png file -##### Viewing your results - Any file ending in .obj or .ply can be opened and viewed in [MeshLab](http://meshlab.sourceforge.net/) or similar software. That includes `pmvs/recon0/models/option-000.ply`, `odm_meshing/odm_mesh.ply`, `odm_texturing/odm_textured_model[_geo].obj`, or `odm_georeferencing/odm_georeferenced_model.ply`. Below is an example textured mesh: -![](https://raw.githubusercontent.com/OpenDroneMap/OpenDroneMap/master/img/tol_text.png) +![](https://raw.githubusercontent.com/alexhagiopol/OpenDroneMap/feature-better-docker/toledo_dataset_example_mesh.jpg) You can also view the orthophoto GeoTIFF in QGIS or other mapping software: ![](https://raw.githubusercontent.com/OpenDroneMap/OpenDroneMap/master/img/bellus_map.png) -#### Using Docker +#### Build and Run Using Docker OpenDroneMap is Dockerized, meaning you can use containerization to build and run it without manually performing the installation procedure described above and - most importantly - without tampering with the libraries and packages already @@ -135,15 +136,33 @@ see the [Docker Ubuntu installation tutorial] (https://docs.docker.com/engine/in instructions up until "Create a Docker group" inclusive. Once Docker is installed, an OpenDroneMap Docker image can be created as follows: - git clone - export IMAGES=/absolute/path/to/your/project - docker build -t opendronemap:latest . - docker run -v $IMAGES:/images opendronemap:latest + git clone https://github.com/OpenDroneMap/OpenDroneMap.git + cd OpenDroneMap + docker build -t odm_image . + docker run -it --rm \ + -v $(pwd)/images:/code/images \ + -v $(pwd)/odm_orthophoto:/code/odm_orthophoto \ + -v $(pwd)/odm_texturing:/code/odm_texturing \ + --user odm_user + odm_image + +Using this method, the containerized ODM will process the images in the OpenDroneMap/images directory and output results +to the odm_orthophoto and odm_texturing directories as described in the **Viewing Results** section. If you want to view other +results outside the Docer image simply add which directories you're interested in to the run command in the same pattern +established above. For example, if you're interested in the dense cloud results generated by PMVS and in the orthophoto, +simply use the following `docker run` command after building the image: + + docker run -it --rm \ + -v $(pwd)/images:/code/images \ + -v $(pwd)/pmvs:/code/pmvs \ + -v $(pwd)/odm_orthophoto:/code/odm_orthophoto \ + --user odm_user + odm_image Replace /absolute/path/to/your/images with an absolute path to the directory containing your project (where the images are) To pass in custom parameters to the `run.py` script, simply pass it as arguments to the `docker run` command. ---- +### Examples Here are some other videos, which may be outdated: