Headless Metashape
A pipeline with metashape.sh -r or the standalone Python module: align, optimize, dense cloud, ground, DTM, DSM, orthomosaic and PDF report, with the approved parameters saved in the script.
Octo for drone aerial photogrammetry
Aligning photos, adjusting with ground control points, building the dense cloud, DSM, DTM, orthomosaic and report all run end to end by script in Metashape Professional, the PIX4Dengine SDK and OpenDroneMap. Octo writes the pipeline, places the markers from a file, keeps the check points separate and stops the batch when the error exceeds the criterion. The flight plan and authorization, the targets in the field, acceptance of the accuracy and the signature stay with qualified people.
Six possible deliverables, drawn from the research. All of them run on the client's machine or server, with the original photos only read, and all of them go to review by the person accountable for the survey.
A pipeline with metashape.sh -r or the standalone Python module: align, optimize, dense cloud, ground, DTM, DSM, orthomosaic and PDF report, with the approved parameters saved in the script.
Reads the point spreadsheet and the marker table (photo, pixel) and creates the markers, with check points excluded from the adjustment. Flags any point seen in fewer than three photos.
Deliverable: markers created without clicking photo by photoComputes control and check-point RMSE, writes CSV and JSON, and stops before the dense cloud if the check points exceed the criterion the person in charge approved.
Deliverable: per-point error table and a plain-language summarySeveral flights queued in ODM on Docker, with a pinned version, or on a NodeODM through the API (PyODM), each flight with its own log and quality control.
Deliverable: batch + summary of every flightChecks that the orthomosaic, DSM, DTM and point cloud exist, reads the actual GSD, measures no-data areas and the vertical error at the check points, including for products made in other software.
Deliverable: qc.json per flight, with what passes and what doesn'tGSD, footprint, overlaps and motion blur calculated at the terrain's minimum and maximum elevations, with a reminder of the authorization requirements, which stay with the pilot.
Deliverable: plan checked in secondsThe same Octo cycle, applied to drone photogrammetry. Each arm has a narrow role; the ones who fly, measure the targets, accept the accuracy and sign are people.
Software and edition (Metashape Pro or Standard, ODM, DJI Terra, PIX4Dmatic), drone and camera, RTK or PPK, how targets are measured and where photos and products are stored.
Coordinate system, normal height with IBGE's hgeoHNOR2020, the format of the point spreadsheet and markers, the names of the flight folders.
License key kept out of the script, original photos only read. Aerial photos show people, license plates and houses: they are assessed with the client (LGPD, Brazil's data protection law) before going to any external service, including AI.
Metashape, PIX4Dengine SDK or ODM; local workstation, GPU server or NodeODM; what runs overnight and where the batch stops and waits for review.
Python and shell with the criteria saved, a log per flight, exit codes, a simulation mode and the source of each call noted in the file.
Compares with a flight already processed by hand: same RMSE, same GSD, products overlaid in QGIS. Checks by the numbers and the image, not by the absence of errors.
Products and the report go to a review folder. Nothing reaches the end client or a public agency without the lead's acceptance.
Software version, parameters, criteria and the result of each flight. One contract's criteria are never assumed for another.
Octo works in a support role. It does not fly, does not request authorization in SARPAS, does not place or measure targets, does not sign an ART and does not declare an accuracy class: that belongs to qualified people.
The criteria Octo uses to choose, always with the documentation for the version installed at the client.
| Task | Path | Notes |
|---|---|---|
| Process a flight headless | metashape.sh -r or the Metashape wheel | Python only in the Professional edition |
| Process on a Linux server with open-source software | ODM on Docker, pinned version | AGPL-3.0 |
| Flight queue through an API | NodeODM + PyODM, or WebODM | Token as a parameter (NodeODM) or JWT (WebODM) |
| Photogrammetry inside your own product | PIX4Dengine SDK (pix4dvortex) | Python 3.10; commercial license |
| Place GCPs without clicking photo by photo | A rótulo;foto;px;py table or detectMarkers | Marker placement reviewed by a person |
| Keep check points separate | Metashape reference.enabled=False; WebODM "Checkpoint"; ODM: left out of gcp_list.txt | Accuracy RMSE only on check points |
| Use PPK positions | Metashape: accuracy per camera and antenna; ODM: --geo | Base and antenna checked by a person |
| Check the flight plan | Flight plan check | Does not replace the pilot's planning |
| Check third-party products (DJI Terra, PIX4Dmatic) | Batch check, adapted to the file names | Same criteria for all software |
Three steps. Each one only makes sense after the previous one has shown results on your team.
A proposal, not a promise
You describe how you process a flight and Octo proposes the script, tested on a flight you already know.
Your standard processing becomes a pipeline, with markers created from a file and an automatic stop when the check points fail.
The day's flights go into a queue at night, on a GPU server or NodeODM, with a summary read by Octo in the morning.
Every point below has a source published by the responsible agency (Planalto, INCRA, IBGE, ANAC, DECEA), by the vendor or by the project. ABNT standards appear only by number and title. The sources are in the next section.
4
points with a published source, each with its reference shown alongside.
--project-path, produces dsm.tif, dtm.tif, an orthomosaic and a LAZ point cloud, and reads gcp_list.txt (coordinate system on line 1; 15 or more lines recommended). The WebODM report shows checkpoints in a separate table, with RMS and CE90/LE90.Source: docs.opendronemap.org; docs.webodm.netOcto prepares everything, but it does not sign. The document of record stays with whoever is accountable for it.
Surveys, calculates, organizes and produces the documents: spreadsheets, reports, drawings and draft legal descriptions.
Deliverable: material ready to checkThe licensed professional checks what Octo delivered before signing. If something doesn't add up, it goes back to Octo with the correction.
Step: checked by the person who signsOcto does not sign. Designs, technical reports, ART/RRT, statements of account and any official document are still signed by the licensed professional at the company or agency: here, the surveying or cartographic engineer with an ART filed with CREA, or the surveying technician with a TRT filed with CRT; for rural properties, the professional accredited by INCRA, who submits to SIGEF.
Signature: licensed professional, with ART or TRTDocumentation from the vendors, open-source projects and agencies used in the research, consulted on Oct 31, 2026.
The assessment starts with a flight your team has already processed by hand, without touching the original photos. You get a proposal for what can be automated, tested on that flight, and you decide with that in hand.