API Overview
This section provides complete API reference documentation for MipMapEngine SDK, including all available interfaces, parameter descriptions, and usage examples.
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
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:
| Interface | Function | Use Case |
|---|---|---|
| ReconstructFull | Full process reconstruction | Quick start, automatic processing |
| ReconstructAT | Aerial triangulation | Fine control, professional users |
| Reconstruct3D | 3D reconstruction | Generate models from AT results |
| OptimizeAT | Optimize AT | Use control points to improve accuracy |
| DivideTiles | Tile processing | Large-scale data block reconstruction |
2. Auxiliary Tools
| Tool | Function |
|---|---|
| License Engine | License management |
| Progress Monitor | Progress monitoring |
🔄 Typical Workflows
Option 1: Quick Full Process (Recommended for Beginners)
ReconstructFull → Output Results
One-step solution, automatically handles all processes
Option 2: Step-by-Step Processing (Professional Users)
ReconstructAT → OptimizeAT (Optional) → Reconstruct3D → Output 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
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
| If you... | Recommended | Reason |
|---|---|---|
| First time using SDK | ReconstructFull | Automatically handles all details, simplest |
| Need to use control points | ReconstructAT + OptimizeAT | Supports control point optimization |
| Processing ultra-large data | DivideTiles + Reconstruct3D | Supports block parallel processing |
| Need intermediate results | Step-by-step processing | Can 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: SuccessNegative 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.