User Guide

This user guide explains the key concepts and structure of pix4dvortex and provides high-level documentation of its main components and how they can be pieced together to build applications. For detailed documentation of individual API components, see the API Reference section.

Introduction

pix4dvortex has a modular structure and its main components can be classified as data model, processing algorithms, general utilities and exporters. This structure gives the user a large degree of freedom, enabling them to piece together custom applications from individual building blocks. The downside of this design is that there is not a ready-to-use photogrammetry processing pipeline as in previous iterations of PIX4Dengine SDK. This guide explains the main concepts and illustrates how to put components together to make custom applications.

Concepts: Data model, algorithms, utilities, exporters

  • Algorithms are functions that implement specific processing steps. They have data inputs and configuration as parameters [1], and return a data object with the results of the processing. There are no side effects to an algorithm execution [2]: they operate on the inputs, and produce a new output. Examples include calibration, point cloud densification, mesh generation, orthomosaic generation.

  • The data model consists of the classes representing inputs and outputs of algorithms. They may also serve as inputs to exporters. Examples include input cameras, calibrated cameras, densified point clouds, spatial reference systems. Most data model classes are serializable to a standard PIX4D format.

  • Exporters are functions to export data model objects to third-party standard formats, such as LAS, GeoTIFF, SLPK, Cesium, OBJ, and FBX.

  • Utilities are collections of functions and classes that do not fit in the three categories above, but may serve to transform data into data model types that can be passed into algorithms, or implement additional functionality separate from data processing. Examples are coordinate system transformations, geometric types and operations, logging, file IO, authentication/authorization.

The following sections explore these concepts in more detail.

Footnotes