Quick Start
This guide will help you quickly get started with MipMapEngine SDK. We provide complete example scripts that allow you to run your first 3D reconstruction task in minutes.
đ Prerequisitesâ
Before starting, please ensure you have:
- â Installed the SDK (see Installation Guide)
- â Activated your license
đ Quick Experience: Using SDK Example Scriptsâ
The SDK provides complete examples and one-click run scripts in the example directory:
example/
âââ 1_reconstruct_full_basic.json # Basic reconstruction example
âââ 2_group_cameras.json # Multi-camera group example
âââ 3_custom_image_pos.json # Custom position example
âââ sample-images/ # Sample images
âââ Step1_Hardware_Check_EN.bat
âââ Step2_License_Manager_EN.bat
âââ Step3_Run_Example1_Basic_Drone_Reconstruction_EN.bat
âââ Step4_Run_Example2_Multi_Camera_Groups_EN.bat
âââ Step5_Custom_Image_Positions_EN.bat
Run Your First Reconstructionâ
Step3_Run_Example1_Basic_Drone_Reconstruction_EN.bat
The script will automatically:
- Use sample images from
sample-images - Create output directory
- Start the 3D reconstruction process
- Generate results in multiple formats
đ¯ Example Detailsâ
Example 1: Basic Drone Reconstructionâ
This is the simplest way to use, suitable for standard drone aerial images.
Features:
- â Minimal configuration, ready out-of-the-box, suitable for most applications
- â Seamlessly compatible with mainstream DJI surveying drones
Configuration File (1_reconstruct_full_basic.json):
{
"working_dir": "./output/reconstruct_full_basic",
"gdal_folder": "../gdal_data",
"input_image_type": 1,
"resolution_level": 3,
"coordinate_system": {
"type": 2,
"label": "WGS 84",
"epsg_code": 4326
},
"image_meta_data": [
{
"id": 1,
"path": "../sample-images/DJI_20250507103417_0124_V.JPG"
},
{
"id": 2,
"path": "../sample-images/DJI_20250507103421_0125_V.JPG"
}
// ... more images
],
"generate_osgb": true,
"generate_3d_tiles": true,
"generate_las": true,
"generate_obj": true,
"generate_geotiff": true
}
Manual Run:
reconstruct_full_engine.exe -reconstruct_type 0 -task_json 1_reconstruct_full_basic.json
Example 2: Multi-Camera Group Reconstructionâ
Suitable for multi-lens oblique cameras or multi-drone collaborative operations.
Step4_Run_Example2_Multi_Camera_Groups_EN.bat
Application Scenarios:
- đ¸ Five-lens oblique camera systems
- đ¸ Multi-drone collaborative operations
- đ¸ Different focal length camera combinations
- đ¸ Ground + aerial joint collection
Key Configuration:
{
"image_meta_data": [
{
"id": 1,
"path": "image1.jpg",
"group": "camera_1" // Camera grouping
},
{
"id": 2,
"path": "image2.jpg",
"group": "camera_2" // Different camera group
}
]
}
Example 3: Custom Image Positionsâ
Suitable for high-precision positioning or GPS-less scenarios.
Step5_Custom_Image_Positions_EN.bat
Application Scenarios:
- đ PPK/RTK high-precision positioning data
- đ Indoor or poor GPS signal environments
- đ Need to customize position accuracy weights
Key Configuration:
{
"image_meta_data": [
{
"id": 1,
"path": "image.jpg",
"meta_data": {
"width": 4000,
"height": 3000,
"pos": [114.123456, 22.123456, 100.5], // [Longitude, Latitude, Elevation]
"pos_sigma": [0.03, 0.03, 0.06] // [X accuracy, Y accuracy, Z accuracy] meters
}
}
]
}
Accuracy Reference:
| Positioning Method | X/Y Accuracy (m) | Z Accuracy (m) | Application Scenario |
|---|---|---|---|
| RTK/PPK Fixed Solution | 0.02-0.05 | 0.05-0.10 | High-precision surveying |
| Regular GPS | 2-5 | 3-8 | General applications |
đ View Output Resultsâ
After reconstruction is complete, the output directory will contain:
- đ
3D/- 3D modelsmodel-b3dm/- 3D Tiles (Cesium)model-osgb/- OSGB formatmodel-obj/- OBJ formatpoint-las/- LAS point cloud
- đ
2D/- 2D productsdom_tiles/- Orthophoto tilesdsm_tiles/- Digital surface model tilesgeotiffs/- GeoTIFF format
- đ
AT/- AT results - đ
report/- Quality report - đ
logs/log.txt- Processing log
đ ī¸ Interactive Configuration Generatorâ
If you don't want to manually write JSON configuration files, you can use our interactive tool to quickly generate them:
đ§ Interactive Configuration Generator
Use the form below to generate your configuration file:
Basic Settings
Processing Parameters
Coordinate System Settings
Output Formats
3D Model
Point Cloud
2D Orthophoto
Other Formats
Advanced Options
3D Tiles Options
2D Tiles Options
Ground Control Points (GCP)
Output Coordinate System (Optional)
Generated Configuration File
Save the JSON below as task.jsonīŧ
{
"license_id": 9200,
"working_dir": "C:/Projects/MyProject",
"gdal_folder": "C:/MipMap/SDK/data",
"input_image_type": 1,
"resolution_level": 2,
"coordinate_system": {
"type": 2,
"type_name": "Geographic",
"label": "WGS 84",
"epsg_code": 4326
},
"generate_obj": false,
"generate_ply": false,
"generate_osgb": true,
"generate_3d_tiles": true,
"generate_fbx": false,
"generate_las": false,
"generate_pc_ply": false,
"generate_pc_osgb": false,
"generate_pc_pnts": false,
"generate_gs_ply": false,
"generate_gs_splats": false,
"generate_geotiff": true,
"generate_tile_2D": true,
"generate_2D_from_3D_model": false,
"generate_dsm_tile": false,
"fast_mode": false,
"use_image_position_constraint": true,
"min_avali_memory_size": 16,
"output_block_change_xml": false,
"output_tie_point_las": false,
"keep_undistort_images": false,
"use_draco_compression": true,
"tex_image_type_3dtiles": 0,
"use_gcj02": false,
"image_meta_data": [
{
"id": 1,
"path": "path/to/image1.jpg"
},
{
"id": 2,
"path": "path/to/image2.jpg"
}
]
}
Validate and Run
1. First validate the configuration file:
task_json_check.exe -task_json task.json
2. After validation, run the reconstruction:
reconstruct_full_engine.exe -reconstruct_type 0 -task_json task.json
đ¯ Customize Your First Projectâ
Based on the examples, create your own configuration file:
1. Copy Example Configurationâ
copy 1_reconstruct_full_basic.json my_project.json
2. Modify Image Pathsâ
Edit my_project.json and change the image paths to your images:
{
"image_meta_data": [
{
"id": 1,
"path": "C:/MyImages/DJI_0001.JPG"
},
{
"id": 2,
"path": "C:/MyImages/DJI_0002.JPG"
}
// ... add all images
]
}
3. Validate Configuration Fileâ
Before running reconstruction, use the task_json_check.exe tool to validate the configuration file:
task_json_check.exe my_project.json
If there are errors in the configuration file, the tool will display specific error messages. Common errors include:
- Image path does not exist
- Coordinate system parameter error
- Required fields missing
4. Run Reconstructionâ
After the configuration file passes validation, execute the reconstruction task:
reconstruct_full_engine.exe -reconstruct_type 0 -task_json my_project.json
đ Monitor Progressâ
Console Outputâ
Shows processing steps and progress percentage.
Log Fileâ
output/logs/log.txt contains detailed processing information.
Progress Monitoring Scriptâ
import re
import time
def monitor_progress(log_file):
with open(log_file, 'r') as f:
while True:
line = f.readline()
if '[PROGRESS]' in line:
match = re.search(r'\[PROGRESS\] (\d+)%', line)
if match:
print(f"Current progress: {match.group(1)}%")
time.sleep(1)
monitor_progress("output/logs/log.txt")
â Common Issuesâ
Q: Reconstruction failed with "Insufficient number of images"
A: Ensure:
- At least 5 images are provided
- Sufficient overlap between images (recommended >60%)
- Images contain GPS information or manually provide positions
Q: How to improve reconstruction quality?
A: Adjust resolution level:
"resolution_level": 1 // Use highest precision
Q: Reconstruction too slow?
A: Optimization strategies:
- Use
resolution_level: 3for quick preview - Enable
fast_mode: true - Consider using block processing
đĄ Practical Tipsâ
Batch Configuration Generationâ
For a large number of images, use scripts to automatically generate configurations:
import json
import os
from glob import glob
def create_task_json(image_folder, output_file):
images = glob(os.path.join(image_folder, "*.JPG"))
task_config = {
"working_dir": "./output/my_project",
"gdal_folder": "../gdal_data",
"input_image_type": 1,
"resolution_level": 2,
"coordinate_system": {
"type": 2,
"label": "WGS 84",
"epsg_code": 4326
},
"image_meta_data": []
}
for idx, img_path in enumerate(images, 1):
task_config["image_meta_data"].append({
"id": idx,
"path": img_path.replace("\\", "/")
})
with open(output_file, 'w', encoding='utf-8') as f:
json.dump(task_config, f, indent=2, ensure_ascii=False)
print(f"Generated configuration file: {output_file}")
print(f"Contains {len(images)} images")
# Usage
create_task_json("C:/MyImages", "batch_task.json")
đ Next Stepsâ
Congratulations! You have mastered the basic usage of MipMapEngine SDK. Next you can:
- đ Learn Basic Concepts - Deeply understand 3D reconstruction principles
- đ§ Check API Reference - Explore more advanced features
- đĄ Review Basic Concepts - Deeply understand 3D reconstruction principles
- đ¯ Try special scene processing - Challenging scenarios like weak texture, low overlap rate
Need help? Check the troubleshooting guide or contact technical support.