The PhotoMesh Wizard leads you through all the steps involved in the complete process of generating high-resolution 3D or 2D outputs from standard 2D photographs, based on standard, default settings. If you want greater control over the build parameters and outputs, you can close the wizard at any point, and instead use the standard PhotoMesh GUI.
If you want to run PhotoMesh Wizard, contact Skyline support, and they will provide you with the PhotoMesh installation package containing the wizard.
- Pre-Processing Checks
- Launching the PhotoMesh Wizard
- Setting up the Project and Loading the Project Photos
- Defining Project Settings
- Starting the Build
- Advanced Options
Pre-Processing Checks
Before launching the PhotoMesh Wizard, do the following:
- Start PhotoMesh. Then on the Tools tab > Fuser Pool Settings > Clear the Use Fusers Pool checkbox.
- Start TerraExplorer and make sure it runs properly so that the Wizard can open it after processing in PhotoMesh is complete.
Launching the PhotoMesh Wizard
- Click the PhotoMesh Wizard icon on your desktop. The PhotoMesh Wizard opens.
Setting up the Project and Loading the Project Photos
- In the Project Name field, type a project name. This name is assigned to the project folder created below.
- In the Project Path field, click Set Folder and browse to the required path for the project folder. All project outputs will be saved to this folder.
- In the Data section, click any of the options below to add project data. You can also browse to the required file or folder in a separate File Explorer window, and drag and drop it into this section.
- Add Folder - Browse to the required folder of photo files to load.
- Add File - Browse to the required folder and select the individual photo files to load, or an Excel/XML file with a list of photos, their file paths, and all photo and photo collection information.
- Add Video - Browse to a video in MPEG, MP4, MOV, or WMV format, from which you will extract individual frames and save as image files.
Note: If you want to remove a file after it was added, select it in the list, and click Remove.
Defining Project Settings
- Select the input's Vertical Datum, either Ellipsoid or Geoid (MSL). For more information on vertical datum, see https://en.wikipedia.org/wiki/Geoid). If you discover that the wrong vertical datum was selected, only after the output was generated, you can easily correct the model's position using TerraExplorer's Scale and Rotate tool. More about: Scale and Rotate tool >
Note: A coordinate system can optionally include a vertical datum that defines the origin for height values. Different drone platforms use different vertical datum:
- Sensefly, Wingtra, Yuneec use Ellipsoid
- DJI, Skydio use Geoid
- Select the GPS Accuracy. This determines the accuracy of the camera positioning data.
- High: 0.5 meter accuracy or better, utilizing PPK or RTK accuracy enhancement.
- Standard: 1-5 meter accuracy.
- Low: Low accuracy, GPS denied environment or in obstructed settings, 5 meters or lower.
- Select the Collection Type. This determines what project presets are set to achieve optimum output for the project’s data.
- 3D Mapping: For projects containing oblique and nadir photos designed to build 3D models and 2D true orthophotos. Both nadir and oblique photos are required for best results.
- 2D Mapping: For projects containing only nadir photos with primarily orthophoto outputs.
- Close Inspection: For projects with a single object that was captured using a close-range orbital pattern.
- Select Optimize Shadow to adjust brightness and contrast using the histogram generated for each photo. This setting is recommended for datasets that were captured in cloudy, hazy, and low-light conditions.
- In the Output Products section, select the required output formats:
- 3D Model: Skyline’s proprietary format for high-resolution, textured, 3D mesh models that have been compressed and stream-optimized to accelerate loading speed and efficiently handle memory.
- Orthophoto: 2D aerial representation of the Earth’s surface with uniform scale.
- DSM: Digital Surface Model, gridded raster with elevation values representing all elevation data, including building and reconstructed objects in the mesh.
- DTM: Digital Terrain Model, gridded raster with elevation values representing the bare ground surface without any objects such as plants and buildings.
- LAS: Colorized Photogrammetric Point Cloud, representing all known data points extracted during the 3D correlation process by PhotoMesh.
- Select the Processing Level for your project:
- Max Quality: Sets the maximum resolution available for reconstruction. This level is only recommended in large-scale production environments with high quality sensors and lenses.
- Standard: Sets the optimal resolution for a typical drone with lightweight cameras. This level offers the best balance of quality and performance for most datasets processed in a single computer environment.
- Draft: Select Draft Mode for faster processing and low quality outputs. It is recommended for fast turnaround when an immediate review of the project build is required.
- On powerful machines, the Max Processing property is displayed. Select this property to allocate all available computer resources to processing the project data and creating the required outputs. This option is likely to affect the running of of other programs on the computer, so it is only recommended on a PhotoMesh-dedicated machine.
- Select Stop on Error if you want the project to stop running if any error (even minor) occurs.
Starting the Build
- Once all the data is imported and the required settings for the project are selected, click Start Build. This initiates the entire PhotoMesh build process. You can cancel the build at any point. A progress bar, status, and time provides feedback on the PhotoMesh project. The wizard can also be closed without interrupting the build process.
- Once the project finishes processing, the wizard closes, and your output opens in TerraExplorer.
Advanced Settings
You can set advanced processing settings in PhotoMesh Wizard's config.json. This file is typically located at: C:\Program Files\Skyline\PhotoMesh\Tools\PhotomeshWizard\config.json. The file includes various build settings:
- Open config.json in a text editor and update the properties as required:
- NameEllipsoid/NameGeoid: Name of the coordinate system to be used as the output coordinate system for all projects run from the wizard (string). If Vertical Datum is set to "Ellipsoid", PhotoMesh uses NameEllipsoid and DatumEllipsoid. If Vertical Datum is set to "Geoid", PhotoMesh uses NameGeoid and DatumGeoid. If modified, ensure that the correct GTX files for the chosen coordinate system are available.
- DatumEllipsoid/DatumGeoid: Full definition of the ellipsoidal/geoid coordinate system (string).
- SecondsPerFrame: When photos are loaded from a video, this determines the sampling interval, i.e., every how many seconds a frame should be captured (integer).
- StandardWaitTime (in milliseconds): Time to wait after completing an operation before starting the next (integer).
- UseMinimize: Determines whether PhotoMesh should run minimized in the background while the wizard is running (Boolean).
- UseLowPriorityPM: Determines whether PhotoMesh's resource usage should be limited to avoid overloading the system (Boolean).
- EnableTextureMeshMaxThreads: Determines whether each fuser should be limited to only 4 threads of GPU to allocate resources more evenly (Boolean). This is recommended when running multiple fusers on high-performance machines.
- OutputWaitTimerSeconds: Time in seconds the wizard waits until opening the generated outputs in TerraExplorer (integer).
- ClosePMWhenDone: Determines whether the PhotoMesh window is automatically closed when it finishes processing (Boolean).
-
DefaultPhotoMeshWizardUI: Sets the wizard's default values (see setting descriptions above):
- VerticalDatum (“Ellipsoid” or “Geoid”)
- GPSAccuracy (“High”, “Standard”, or “Low”)
- CollectionType (“2DMapping”, 3DMapping”, or “CloseInspection”)
- OptimizeShadow (Boolean)
- OutputProducts (Boolean for each of the outputs)
- ProcessingLevel (“MaxQuality”, “Standard”, or “Draft”)
- StopOnError (Boolean)
- MaxProcessing (Boolean)
- GBPerFuser: Number of fusers to run based on how many GB RAM your machine has.
- UseDepthAnything: Enables Monocular Depth Estimation to improve depth maps for more accurate aerotriangulation. (Boolean).
- Save your edited config.json to a folder on your C drive.
- Copy the file.
- Open File Explorer, type %appdata% in the address bar and press Enter.
- Navigate to C:\Users\skyline\AppData\Roaming\Skyline\PhotoMeshWizard, and paste the copied file into this folder. If you want to restore default settings, delete this file.
{
"PhotomeshRestUrl": "http://localhost:8086",
"NameEllipsoid": "WGS 84",
"DatumEllipsoid": "GEOGCS[\"WGS 84\",DATUM[\"WGS_1984\",SPHEROID[\"WGS 84\",6378137,298.257223563,AUTHORITY[\"EPSG\",\"7030\"]],AUTHORITY[\"EPSG\",\"6326\"]],PRIMEM[\"Greenwich\",0,AUTHORITY[\"EPSG\",\"8901\"]],UNIT[\"degree\",0.0174532925199433,AUTHORITY[\"EPSG\",\"9122\"]],AUTHORITY[\"EPSG\",\"4326\"]]",
"NameGeoid": "WGS 84 + EGM96 geoid height",
"DatumGeoid": "COMPD_CS[\"WGS 84 + EGM96 geoid height\", GEOGCS[\"WGS 84\", DATUM[\"WGS_1984\", SPHEROID[\"WGS 84\", 6378137, 298.257223563, AUTHORITY[\"EPSG\", \"7030\"]], AUTHORITY[\"EPSG\", \"6326\"]], PRIMEM[\"Greenwich\", 0, AUTHORITY[\"EPSG\", \"8901\"]], UNIT[\"degree\", 0.0174532925199433, AUTHORITY[\"EPSG\", \"9122\"]], AUTHORITY[\"EPSG\", \"4326\"]], VERT_CS[\"EGM96 geoid height\", VERT_DATUM[\"EGM96 geoid\", 2005, AUTHORITY[\"EPSG\", \"5171\"], EXTENSION[\"PROJ4_GRIDS\", \"egm96_15.gtx\"]], UNIT[\"m\", 1.0], AXIS[\"Up\", UP], AUTHORITY[\"EPSG\", \"5773\"]]]",
"SecondsPerFrame": 1.0,
"StandardWaitTime": 1500,
"UseMinimize": true,
"UseLowPriorityPM": false,
"UseRawRequests": false,
"EnableTextureMeshMaxThreads": true,
"OutputsWaitTimerSeconds": 0,
"ClosePMWhenDone": true,
"DefaultPhotoMeshWizardUI": {
"VerticalDatum": "Ellipsoid",
"GPSAccuracy": "Standard",
"CollectionType": "3DMapping",
"OptimizeShadow": true,
"OutputProducts": {
"Model3D": true,
"Ortho": true,
"DSM": false,
"DTM": false,
"LAS": false
},
"ProcessingLevel": "Standard",
"StopOnError": false,
"MaxProcessing": false
},
"GBPerFuser": 24,
"UseDepthAnything": false
}