ReconstructFull API
ReconstructFull is the simplest and easiest-to-use full-process reconstruction interface, suitable for quick project startup and novice users. It automatically handles the complete workflow of image metadata extraction, aerotriangulation calculation, and 3D reconstruction.
🎯 Interface Features
- ✅ High Automation: Automatically reads GPS and camera information from image EXIF
- ✅ Simple Configuration: Minimum requirement is just providing image paths
- ✅ One-Step Solution: Generates final results directly from images
- ✅ Intelligent Optimization: Automatically selects optimal processing parameters
Interface Invocation
Command Line Invocation
reconstruct_full_engine(.exe) --reconstruct_type 0 --task_json config_task.json
Parameter Description
reconstruct_type: Interface Type, fixed as0(represents ReconstructFull)task_json: Parameter file path
📋 Task Json File Parameter Details
1 Required Parameters
| Parameter Name | Type | Description | Example Value |
|---|---|---|---|
working_dir | string | Working directory path | "C:/Projects/MyProject" |
gdal_folder | string | GDAL data directory | "C:/MipMap/SDK/data" |
image_meta_data | array | Image list | Format description see image_meta_data |
input_image_type | int | Image type | 1=RGB, 2=Multispectral, 3=Infrared |
resolution_level | int | 1=High, 2=Medium, 3=Low | 1 |
coordinate_system | object | Coordinate system of input image EXIF embedded POS (GPS). Drone images often embed WGS84 coordinate system. If there is no embedded POS such as mobile phone or panoramic camera images, it is Local coordinate system. For details, see coordinate_system | Common Coordinate System Examples |
gdal_folder is the data or gdal_data directory that comes with the SDK package. The directory contains many database files. The directory can be moved to a different location, just specify the corresponding path. Must be an English path
2 Optional Parameters - Output Control [Must set one of the outputs]
| Parameter Name | Type | Default Value | Description |
|---|---|---|---|
generate_obj | bool | false | Generate OBJ format model |
generate_ply | bool | false | Generate PLY format model |
generate_osgb | bool | false | Generate OSGB format (oblique photography) |
generate_3d_tiles | bool | false | Generate 3D Tiles (Cesium) |
generate_las | bool | false | Generate LAS point cloud |
generate_pc_ply | bool | false | Generate point cloud PLY |
generate_pc_osgb | bool | false | Generate point cloud OSGB (LOD) |
generate_pc_pnts | bool | false | Generate point cloud PNTS (3D Tiles) |
generate_gs_ply* | bool | false | Generate ply format Gaussian Splatting results |
generate_geotiff | bool | false | Generate orthophoto |
generate_tile_2D | bool | false | Generate 2D tiles |
generate_2D_from_3D_model | bool | false | Generate orthophoto from 3D model |
*[Important] Windows systems generating Gaussian Splatting results require downloading the Gaussian plugin. Download address: Gaussian Plugin. After downloading, extract and place all dll format files in the same directory as reconstruct_full_engine
3 Optional Parameters - Result Coordinate System [See coordinate system field details below]
| Parameter Name | Type | Description |
|---|---|---|
coordinate_system_3d | object | Output 3D result coordinate system. If not set, outputs Local or LocalENU coordinate system |
coordinate_system_2d | object | Output 2D result coordinate system. If not set, outputs Local or LocalENU coordinate system |
4 Advanced Parameters
For more advanced parameters, see Advanced Parameters
📝 Data Structure Details
coordinate_system Object
| Field Name | Type | Description | Example Value |
|---|---|---|---|
type | int | Coordinate system type: 0=LocalENU, 1=Local, 2=Geographic, 3=Projected, 4=ECEF | 2 |
type_name | string | Coordinate system type name (optional, auxiliary description) | "Geographic" |
label | string | Coordinate system name (optional) | "WGS 84" |
epsg_code | int | EPSG code (required for geographic/projected/geocentric coordinate systems) | 4326 |
wkt | string | WKT string (optional, alternative to epsg_code) | "..." |
origin_point | array[3] | Origin WGS84 coordinates [longitude, latitude, elevation] (required only when type=0 LocalENU) | [114.12, 22.12, 0] |
offset | array[3] | Coordinate system origin offset (optional) | [0, 0, 0] |
Common Coordinate System Examples
{
"type": 2, // 0=LocalENU, 1=Local, 2=Geographic, 3=Projected
"type_name": "Geographic",
"label": "WGS 84", // Coordinate system name
"epsg_code": 4326 // EPSG code
}
{
"type": 3, // 0=LocalENU, 1=Local, 2=Geographic, 3=Projected
"type_name": "Projected",
"label": "WGS 84 / UTM zone 50N", // Coordinate system name
"epsg_code": 32650 // EPSG code
}
{
"type": 2, // 0=LocalENU, 1=Local, 2=Geographic, 3=Projected
"type_name": "Geographic",
"label": "CGCS2000", // Coordinate system name
"epsg_code": 4490 // EPSG code
}
{
"type": 2, // 0=LocalENU, 1=Local, 2=Geographic, 3=Projected
"type_name": "Projected",
"label": "CGCS2000 / 3-degree Gauss-Kruger CM 114E", // Coordinate system name
"epsg_code": 4547 // EPSG code
}
Image Metadata
| Field Name | Type | Required | Description |
|---|---|---|---|
id | int | Yes | Image unique ID |
path | string | Yes | Image absolute path |
group | string | No | Camera group name (used for multi-camera systems) |
Example:
{
"id": 1, // Unique identifier
"path": "C:/Images/DJI_0001.JPG", // Image path
"group": "camera_1" // Camera grouping [optional]
}
Camera Grouping (group) Parameter
Used for multi-camera systems to group images from different cameras:
"image_meta_data": [
{"id": 1, "path": "nadir/IMG_001.jpg", "group": "nadir"},
{"id": 2, "path": "nadir/IMG_002.jpg", "group": "nadir"},
{"id": 3, "path": "oblique_f/IMG_001.jpg", "group": "oblique_forward"},
{"id": 4, "path": "oblique_b/IMG_001.jpg", "group": "oblique_backward"},
{"id": 5, "path": "oblique_l/IMG_001.jpg", "group": "oblique_left"},
{"id": 6, "path": "oblique_r/IMG_001.jpg", "group": "oblique_right"}
]
Common grouping scenarios:
- Five-camera oblique system: nadir, oblique_forward, oblique_backward, oblique_left, oblique_right
- Dual camera system: wide_angle, telephoto
- Multi-drone collaboration: drone_1, drone_2, drone_3
- Multi-temporal: morning, afternoon
📝 Configuration Examples
Minimal Configuration
{
"working_dir": "C:/Projects/QuickStart",
"gdal_folder": "C:/MipMap/SDK/data",
"input_image_type": 1,
"resolution_level": 2,
"coordinate_system": {
"type": 2,
"label": "WGS 84",
"epsg_code": 4326
},
"image_meta_data": [
{"id": 1, "path": "C:/Images/DJI_0001.JPG"},
{"id": 2, "path": "C:/Images/DJI_0002.JPG"},
{"id": 3, "path": "C:/Images/DJI_0003.JPG"},
{"id": 4, "path": "C:/Images/DJI_0004.JPG"},
{"id": 5, "path": "C:/Images/DJI_0005.JPG"}
],
"generate_osgb": true,
"generate_3d_tiles": true,
"generate_geotiff": true
}
Multi-Camera Group Configuration Example
{
"working_dir": "D:/Projects/MultiCamera",
"gdal_folder": "D:/MipMap/SDK/data",
"input_image_type": 1,
"resolution_level": 1,
"coordinate_system": {
"type": 2,
"label": "WGS 84",
"epsg_code": 4326
},
// Multi-camera image grouping
"image_meta_data": [
// Nadir camera
{"id": 1, "path": "nadir/IMG_001.jpg", "group": "nadir"},
{"id": 2, "path": "nadir/IMG_002.jpg", "group": "nadir"},
// Forward oblique camera
{"id": 3, "path": "forward/IMG_001.jpg", "group": "oblique_f"},
{"id": 4, "path": "forward/IMG_002.jpg", "group": "oblique_f"},
// More camera groups...
],
"generate_osgb": true,
"generate_3d_tiles": true,
"generate_geotiff": true
}
Error Handling
The interface returns an integer error code:
0: SuccessNon-zero: Various error conditions
For details, see Error Codes.
🎯 Usage Recommendations
Applicable Scenarios
- ✅ Quick prototyping and testing
- ✅ Standard aerial photography projects
- ✅ Automated batch processing
- ✅ Beginner learning
ReconstructFull is the best choice to start using MipMapEngine SDK. As you gain experience, you can explore other interfaces for more control.