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 ๆ ผๅผmodel-obj/
- OBJ ๆ ผๅผpoint-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:
๐ง ไบคไบๅผ้ ็ฝฎ็ๆๅจ
ไฝฟ็จไธ้ข็่กจๅ็ๆๆจ็้ ็ฝฎๆไปถ๏ผ
ๅบๆฌ่ฎพ็ฝฎ
ๅค็ๅๆฐ
ๅๆ ็ณป่ฎพ็ฝฎ
่พๅบๆ ผๅผ
3D ๆจกๅ
็นไบ
2D ๆญฃๅฐ
ๅ ถไปๆ ผๅผ
้ซ็บง้้กน
3D Tiles ้้กน
2D ็ฆ็้้กน
ๅฐ้ขๆงๅถ็น (GCP)
่พๅบๅๆ ็ณป๏ผๅฏ้๏ผ
็ๆ็้ ็ฝฎๆไปถ
ๅฐไธ้ข็ JSON ไฟๅญไธบ 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"
}
]
}
้ช่ฏๅนถ่ฟ่ก
1. ้ฆๅ ้ช่ฏ้ ็ฝฎๆไปถ๏ผ
task_json_check.exe -task_json task.json
2. ้ช่ฏ้่ฟๅ่ฟ่ก้ๅปบ๏ผ
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: 3
for 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.