A user-friendly, commercial grade software for drone image processing.
 
 
 
 
 
 
Go to file
Piero Toffanin ea78c03b70 Added download assets API methods, tests 2016-11-05 16:23:54 -04:00
app Added task action tests 2016-11-05 12:44:47 -04:00
db Added docker-compose support 2016-09-11 19:52:31 -04:00
nodeodm Added download assets API methods, tests 2016-11-05 16:23:54 -04:00
screenshots ProcessingNode display in left menu 2016-09-13 16:54:24 -04:00
webodm Restart, cancel and delete actions working, UI sync and performance improvements 2016-11-04 14:19:18 -04:00
.gitignore Hello World in React working 2016-10-08 12:35:22 -04:00
.gitmodules nodeodm API client testing, app views testing 2016-09-27 10:45:09 -04:00
.travis.yml Caught programmingerror in boot code for migrations 2016-10-25 18:08:15 -04:00
CONDUCT.md Create CONDUCT.md 2016-09-24 11:33:39 -04:00
CONTRIBUTING.md Create CONTRIBUTING.md 2016-09-24 11:41:14 -04:00
Dockerfile Removed unnencessary dockerfile commands 2016-10-25 16:28:35 -04:00
LICENSE.md Changed license to MPLv2 2016-09-24 10:40:03 -04:00
README.md Merge pull request #39 from pierotofy/processing 2016-10-26 18:24:34 -04:00
docker-compose.yml React setup, ajax retrieval example, live reload, auto SCSS compile 2016-10-11 13:42:17 -04:00
manage.py Login mockup, project scaffold 2016-08-10 15:23:17 -05:00
package.json Added progressbar for file uploads, image upload button handler 2016-10-17 13:19:32 -04:00
requirements.txt Removed swagger 2016-10-25 12:19:14 -04:00
start.sh React setup, ajax retrieval example, live reload, auto SCSS compile 2016-10-11 13:42:17 -04:00
wait-for-it.sh Added docker-compose support 2016-09-11 19:52:31 -04:00
webpack-server.js React setup, ajax retrieval example, live reload, auto SCSS compile 2016-10-11 13:42:17 -04:00
webpack.config.js Built Console component 2016-10-27 16:40:22 -04:00

README.md

WebODM

Build Status

An open source solution for drone image processing. The long term vision includes a web interface, API and Mission Planner.

Alt text

If you know Python, web technologies (JS, HTML, CSS, etc.) or both, make a fork, contribute something that interests you, and make a pull request! All ideas are considered and people of all skill levels are welcome.

Getting Started

The quickest way to get started is by using Docker.

  • From the Docker Quickstart Terminal (Windows / OSX) or from the command line (Linux) type:
git clone https://github.com/OpenDroneMap/WebODM
cd WebODM
pip install docker-compose
docker-compose up
  • If you're on Windows/OSX, find the IP of your Docker machine by running this command from your Docker Quickstart Terminal:
docker-machine ip

Linux users can connect to 127.0.0.1.

  • Open a Web Browser to http://<yourDockerMachineIp>:8000
  • Log in with the default credentials: "admin:admin"

Run it natively

If you want to run WebODM natively, you will need to install:

  • PostgreSQL (>= 9.5)
  • Python 2.7

Then these steps should be sufficient to get you up and running:

git clone https://github.com/OpenDroneMap/WebODM

Create a WebODM\webodm\local_settings.py file containing:

DATABASES = {
    'default': {
        'ENGINE': 'django.db.backends.postgresql',
        'NAME': 'webodm_dev',
        'USER': 'postgres',
        'PASSWORD': 'postgres',
        'HOST': 'localhost',
        'PORT': '5432',
    }
}

Then:

pip install -r requirements.txt
npm install -g webpack
npm install
webpack
chmod +x start.sh && ./start.sh

Roadmap

  • User Registration / Authentication
  • UI mockup
  • Task Processing
  • Model display (using Cesium/Leaflet) for both 2D and 3D outputs.
  • Cluster management and setup.
  • Mission Planner
  • API
  • Documentation
  • Unit Testing

Terminology

  • Project: A collection of tasks (successfully processed, failed, waiting to be executed, etc.)
  • Task: A collection of input aerial images and an optional set of output results derived from the images, including an orthophoto, a georeferenced model and a textured model. A Task's output is processed by OpenDroneMap.
  • ProcessingNode: An instance usually running on a separate VM, or on a separate machine which accepts aerial images, runs OpenDroneMap and returns the processed results (orthophoto, georeferenced model, etc.). Each node communicates with WebODM via a lightweight API such as node-OpenDroneMap. WebODM manages the distribution of Task to different ProcessingNode instances.
  • ImageUpload: aerial images.
  • Mission: A flight path and other information (overlap %, angle, ...) associated with a particular Task.

image

er diagram - webodm 2

Work in progress

We will add more information to this document soon.