Skip to main content

API Overview

This section provides complete API reference documentation for MipMapEngine SDK, including all available interfaces, parameter descriptions, and usage examples.

Before You Begin

If you haven't installed the SDK yet, please check the Installation Guide first. For first-time users, it's recommended to start with Quick Start.

MipMapEngine SDK provides various interfaces to meet different usage scenarios:

🏗️ SDK Architecture

MipMapEngine SDK Architecture Layers

Application Layer

  • Your Application | Python/C++/CLI | Web Services

API Interface Layer

  • ReconstructFull (Full Process) | ReconstructAT (Aerial Triangulation) | Reconstruct3D (3D Reconstruction)

Core Engine

  • Photogrammetry Algorithms | GPU Acceleration | Parallel Processing

System Layer

  • NVIDIA CUDA | File System | License Management

📚 Interface Categories

1. Batch Processing Interfaces

Suitable for offline processing of large amounts of data:

InterfaceFunctionUse Case
ReconstructFullFull process reconstructionQuick start, automatic processing
ReconstructATAerial triangulationFine control, professional users
Reconstruct3D3D reconstructionGenerate models from AT results
OptimizeATOptimize ATUse control points to improve accuracy
DivideTilesTile processingLarge-scale data block reconstruction

2. Auxiliary Tools

ToolFunction
License EngineLicense management
Progress MonitorProgress monitoring

🔄 Typical Workflows

Quick Full Process

ReconstructFullOutput Results

One-step solution, automatically handles all processes

Option 2: Step-by-Step Processing (Professional Users)

Step-by-Step Processing Flow

ReconstructATOptimizeAT (Optional) → Reconstruct3DOutput Results

Fine control over each step, supports intermediate result checking and optimization

📝 Interface Calling Methods

1. Command Line Call

SDK supports direct command line calls to each engine:

# General format
<engine_name> [options] -task_json <config_file>

# Example: Call ReconstructFull
reconstruct_full_engine -reconstruct_type 0 -task_json config.json
Installation Verification

After initial installation, please refer to Installation Guide for verification testing.

2. Program Integration

Integrate into your application through process calls:

import subprocess
import json

# Prepare configuration
config = {
"license_id": 9200,
"working_dir": "./output",
"gdal_folder": "./data",
# ... other parameters
}

# Save configuration file
with open("task.json", "w") as f:
json.dump(config, f)

# Call SDK
result = subprocess.run([
"reconstruct_full_engine.exe",
"-reconstruct_type", "0",
"-task_json", "task.json"
], capture_output=True, text=True)

print(result.stdout)

🎯 Choosing the Right Interface

Interface Selection Recommendations
If you...RecommendedReason
First time using SDKReconstructFullAutomatically handles all details, simplest
Need to use control pointsReconstructAT + OptimizeATSupports control point optimization
Processing ultra-large dataDivideTiles + Reconstruct3DSupports block parallel processing
Need intermediate resultsStep-by-step processingCan check and adjust intermediate results

📖 Common Concepts

JSON Configuration Files

All interfaces use JSON format configuration files, basic structure:

{
"license_id": 9200, // Required: License ID
"working_dir": "string", // Required: Working directory
"gdal_folder": "string", // Required: GDAL data directory
// ... other parameters depend on interface
}

Coordinate System Definition

{
"coordinate_system": {
"type": 2, // 0=LocalENU, 1=Local, 2=Geographic, 3=Projected, 4=ECEF
"epsg_code": 4326, // EPSG code (optional)
"wkt": "string", // WKT string (optional)
"origin_point": [lon, lat, alt] // LocalENU origin (only needed when type=0)
}
}

Error Handling

All interfaces return integer error codes:

  • 0: Success
  • Negative numbers: Various error conditions

See error code reference for details.

🚀 Next Steps

  • 📚 Learn more about ReconstructFull interface (recommended for beginners)
  • 🔧 Study ReconstructAT interface (advanced features)
  • 💡 Check complete examples for practical usage

Tip: Most users' needs can be met with ReconstructFull. Only use other interfaces when fine control is needed.