Skip to main content

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 as 0 (represents ReconstructFull)
  • task_json: Parameter file path

📋 Task Json File Parameter Details

1 Required Parameters

Parameter NameTypeDescriptionExample Value
working_dirstringWorking directory path"C:/Projects/MyProject"
gdal_folderstringGDAL data directory"C:/MipMap/SDK/data"
image_meta_dataarrayImage listFormat description see image_meta_data
input_image_typeintImage type1=RGB, 2=Multispectral, 3=Infrared
resolution_levelint1=High, 2=Medium, 3=Low1
coordinate_systemobjectCoordinate 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_systemCommon 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 NameTypeDefault ValueDescription
generate_objboolfalseGenerate OBJ format model
generate_plyboolfalseGenerate PLY format model
generate_osgbboolfalseGenerate OSGB format (oblique photography)
generate_3d_tilesboolfalseGenerate 3D Tiles (Cesium)
generate_lasboolfalseGenerate LAS point cloud
generate_pc_plyboolfalseGenerate point cloud PLY
generate_pc_osgbboolfalseGenerate point cloud OSGB (LOD)
generate_pc_pntsboolfalseGenerate point cloud PNTS (3D Tiles)
generate_gs_ply*boolfalseGenerate ply format Gaussian Splatting results
generate_geotiffboolfalseGenerate orthophoto
generate_tile_2DboolfalseGenerate 2D tiles
generate_2D_from_3D_modelboolfalseGenerate 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 NameTypeDescription
coordinate_system_3dobjectOutput 3D result coordinate system. If not set, outputs Local or LocalENU coordinate system
coordinate_system_2dobjectOutput 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 NameTypeDescriptionExample Value
typeintCoordinate system type: 0=LocalENU, 1=Local, 2=Geographic, 3=Projected, 4=ECEF2
type_namestringCoordinate system type name (optional, auxiliary description)"Geographic"
labelstringCoordinate system name (optional)"WGS 84"
epsg_codeintEPSG code (required for geographic/projected/geocentric coordinate systems)4326
wktstringWKT string (optional, alternative to epsg_code)"..."
origin_pointarray[3]Origin WGS84 coordinates [longitude, latitude, elevation] (required only when type=0 LocalENU)[114.12, 22.12, 0]
offsetarray[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 NameTypeRequiredDescription
idintYesImage unique ID
pathstringYesImage absolute path
groupstringNoCamera 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: Success
  • Non-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.