Processing Drone Imagery with Open Source NodeMICMAC

NodeMICMAC is a free and open source project that allows anyone to easily process drone imagery on their native Linux install or via Docker. The project was forked from NodeODM (OpenDroneMap) and is backwards compatible with the WebODM GUI. The project provides a lightweight REST API to the very powerful underlying photogrammetry engine MICMAC, which has been in development since 2008. NodeMICMAC is developed and sponsored by DroneMapper.com as an alternative to DroneDeploy, Precision Mapper, Propeller Aero, PIX4D Cloud and other costly cloud processing services.

We recommend using a mission controller and planning application such as Map Pilot or DJI GS Pro. Both of these applications will execute the mission plan over the area of interest, control camera settings and obtain the required overlap between images and flight lines. It is of the utmost importance to execute your aerial photogrammetry missions using an application mentioned above.

You can find an example data set containing 48 NADIR images from a DJI Phantom 3 Advanced here. For the remainder of this guide, we’ll be working with this example imagery set called “4th Ave”.

DroneMapper 4th Ave. Data Set

Start Processing

The simplest way to start processing imagery is to use the Docker image. It is available on the public docker hub or you can build it yourself from the NodeMICMAC repository. We’ll use the public docker image for this guide working under PopOS/Ubuntu.

$ cd ~ ; mkdir 4th
$ wget https://dronemapper.com/software/4thAve.zip ; unzip 4thAve.zip -d 4th/
$ cd ~ ; mkdir 4th_output

The commands above will download and unzip the 4th Ave. example imagery data set into the ‘4th’ folder. Next, we will run the NodeMICMAC docker image and setup a virtual mount point to the ‘4th_output’ folder.

$ docker run -p 3000:3000 -v ~/4th_output:/var/www/data dronemapper/node-micmacinfo: Authentication using NoTokenRequired
info: No tasks dump found
info: Checking for orphaned directories to be removed…
info: Server has started on port 3000

Now you can open a browser window to your localhost port 3000 to upload imagery and load the web interface/API. The URL is http://localhost:3000

NodeMICMAC Web Interface and API

Type a name for your project and load the ‘4th Ave’ images. Use the default processing options or update them as you see fit. Click the ‘Start Task’ button and follow the console log output.

MICMAC Console Output

Once the processing is completed, the Status indication will change to “Complete” and the geo-referenced Digital Elevation Model, Orthomosaic and Point Cloud will be available.

Viewing Geo-referenced Output

Navigate to the ‘4th_output’ folder and you should see a structure similar to the screenshot below.

Processing Output

The Digital Elevation Model, Orthomosaic and Point Cloud are geo-referenced with UTM WGS84 project and can be viewed with QGIS, Global Mapper or similar GIS software. Once you load the DEM and Ortho you should see something that resembles the following.

Digital Elevation Model
Orthomosaic

Happy processing! Contact us with any questions or feedback.

Founder & CTO of DroneMapper.com

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store