Loading Photos

Load photos into your project using any of the following methods:

§  Load photo files from disk.

§  Load an Excel/XML file with a list of photos, their file paths, and all photo and photo collection information.

§  Extract individual frames from video and save them as image files.

§  Load a PhotoMesh project. When a PhotoMesh project (.PhotoMeshXML) is loaded into a second project, only the project’s photos and photo and collection parameters are loaded.

Photos can only be loaded when Review mode is off. See "About Reviewing Your Build" in the "Reviewing Your Build" chapter for more information about Review mode.

Loading Photo Files from Disk

For optimal performance, photographs should be divided into one or more collections, homogeneous groups of photographs, all taken by the same physical camera with identical focal length and principal point.

To select photo files from your local disk:

1.      On the Home tab, in the Add group, click the arrow next to Photos, and select one of the following:

§  Load Files – To add selected files.

§  Load Folder – To add an entire folder.

2.      Browse to the required folder/file(s) and click Open.

3.      If you are adding a folder of photos, PhotoMesh automatically creates a group (collection) in the project tree and places all photos under the folder in this group. If you are adding a folder with sub-folders, a dialog box is displayed asking if you want to create a project sub-group for each sub-folder. Click Yes to create sub-groups for the sub-folders.

Note:       If a folder is added with photos that were taken by different cameras or with different focal lengths and principal points, PhotoMesh will automatically place the photos in different collections as long as the required metadata (e.g., Exif) is encoded in the photo files.

Defining Collection Properties with collectionProperties.xml

You can define collection properties and override those included in the metadata (e.g., Exif) encoded in photo files by creating a file named collectionProperties.xml with the required collection properties. This saves you the trouble of creating a full Excel or XML file that contains a list of all the photos. The collectionProperties.xml file is commonly used to add band information, focal length, or other collection level properties. Each collectionProperties.xml file can only contain data for a single collection, so a separate file must be created for each collection for which you want to provide supplementary information and placed in the corresponding collection folder.

There are several mandatory properties in the collectionProperties.xml file. If you want to use the values in the metadata encoded in the photo files, for these properties, set the required property in the collectionProperties.xml file equal to 0, e.g. “Width = 0”.

A sample collectionProperties.xml follows below. Property descriptions are in the comments <! ….>.

<?xml version="1.0" encoding="UTF-8"?>

<BlocksExchange version="2.2">

 

<!-- Block definition -->

<Block>

 

<Collections>

<!-- A collection is a homogeneous group of photographs, all taken by the same physical camera with identical focal length and principal point.-->

<Collection>

<!-- Name of the collection -->

<Name>NIR</Name>

 

<!-- (Mandatory) Width and height of the photos, in pixels. If you do not want the collectionProperties.xml to override the width or height information in the metadata encoded in the photo files, set their values equal to 0. -->

<ImageDimensions>

<Width>0</Width>

<Height>0</Height>

</ImageDimensions>

 

<!-- Optional Parameters. Don’t include if you do not want the collectionProperties.xml to override the information in the metadata encoded in the photo files. -->

 

<!-- (Optional) Bands in comma delimited string format, e.g., (Red,Green,Blue,NIR). Possible values are: Grayscale, Red, Green, Blue, NIR, InfraRed, RedEdge, Alpha, Pan, SWIR_1, SWIR_2, TIR_1, TIR_2, Costal, Custom_0, Custom_1, Custom_2, Custom_3, Custom_4, Custom_5, Custom_6, Custom_7, Custom_8, Custom_9, Exclude (This band will be ignored.) -->

<Bands>Red,Green,Custom_1</Bands>

 

<!-- (Optional) Focal length in millimeters. -->

<FocalLength>80.0</FocalLength>

 

<!-- (Optional) Size of a physical pixel on the camera sensor in millimeters. -->

<PixelSize>0.0052</PixelSize>

 

<!—(Optional) Origin and units of the principal point. The possible values are: topleftpixels topleftmm centerpixels centermm -->

<PrincipalPointReferenceMethod>centerpixels</PrincipalPointReferenceMethod>

 

<!— (Optional) PrincipalPoint x and y values, in the units set by PrincipalPointReferenceMethod. -->

<PrincipalPoint>

   <x>7360</x>

   <y>4912</y>

</PrincipalPoint>

 

<!—Use yaw, pitch, roll values for orientation -->

</UseYPR>

 

<!-- (Optional) Offset along the Phi axis in degrees.-->

<PhiOffset>90</PhiOffset>

 

<!-- (Optional) Offset along the Kappa axis in degrees.-->

<KappaOffset>-180</KappaOffset>

 

<!-- (Optional) Offset along the Omega axis in degrees. -->

<OmegaOffset>0.0</OmegaOffset>

 

<!-- (Optional) Offset from the current altitude value in the coordinate system units. If Lat-Long, use meters. -->

<AltitudeOffset>-10.0</AltitudeOffset>

 

<!-- (Optional) Flips the Phi axis.-->

<FlipPhi>false</FlipPhi>

 

<!-- (Optional) Flips the Kappa axis.-->

<FlipKappa>false</FlipKappa>

 

<!-- (Optional) Flips the Omega axis.-->

<FlipOmega>false</FlipOmega>

 

<!-- (Optional) Boolean that determines whether to include this collection in the point cloud.-->

<UseInDpc>false</UseInDpc>

 

<!-- (Optional) Boolean that determines whether to include this collection in the textured model.-->

<UseInModelTexture>true</UseInModelTexture>

 

<!-- (Optional) Boolean that determines whether to include this collection in the orthophoto. -->

<UseInOrthoTexture>true</UseInOrthoTexture>

 

<!-- (Optional) Radial and tangential distortion coefficients calculated using the Brown-Conrady model. See https://en.wikipedia.org/wiki/Distortion_(optics)#Software_correction for more information. -->

 

<Distortion>

 

   <!-- (Optional) Defines the 1st radial distortion coefficient. -->

   <K1>0.0</K1>

   <!-- (Optional) Defines the 2nd radial distortion coefficient. -->

   <K2>0.0</K2>

   <!-- (Optional) Defines the 3rd radial distortion coefficient. -->

   <K3>0.0</K3>

   <!-- (Optional) Defines the 1st tangential distortion coefficient. -->

   <P1>0.0</P1>

   <!-- (Optional) Defines the 2nd tangential distortion coefficient. -->

   <P2>0.0</P2>

</Distortion>

 

</Collection>

</Collections>

</Block>

</BlocksExchange>

 

 

To define collection properties using a collectionProperties.xml file:

1.      Place the collectionProperties.xml file in the corresponding collection folder.

2.      Load the collection folder. SeeLoading Photo Files from Disk” in this chapter for information.

Loading a Photo List File

Instead of manually entering all photo and photo collection information (e.g., sensor width, focal length, and aerotriangulation data), you can load an Excel or ContextCapture XML file that references the photos and includes this data. You also have the option to load a CSV file that includes more limited photo information: only XYZ and OPK/YPR data. The photo list file can reference photos stored locally or on an HTTP or HTTPS server, or Amazon S3. The path in the photo list file can be relative or absolute, e.g., s3://skyline-data/Frederick_xlsx/CF012316.tif OR http://www.skylineglobe.com/Photos_Lidars/Photos/tux-1771.jpg

Note:   Photos that are stored on HTTP or HTTPS servers, or Amazon S3 can only be loaded using a photo list file. In the photo list file, the photos' path should point directly to the photos' path on the server or S3. The photo list file itself, must be located on and loaded from a local or shared drive.

A sample Excel (PhotoMeshSample.xlsx) file is included in the installation folder, which can serve as a template for creating such a file as well as provide basic property definitions (in the Excel’s notes). You can also see “Collection Property Sheet” and “Photo List” in this chapter for a description of the Excel/XML/CSV parameters.

The Excel file should include the following sheets:

§  The first sheet named Collections should detail the group properties for each of the “collections”, i.e., groups of photos. For optimal performance, each collection should include only photographs taken by the same physical camera with identical focal length and principal point. These group properties are the same as the properties that are listed in the Collection property sheet. SeeCollection Property Sheet” in this chapter. Each row after the heading row (with all the property names) represents a different collection.

§  A separate sheet for each of the collections, listing the properties of each photo in the collection. The name of each collection sheet must be identical to the collection name defined in the Name field of the Excel’s Collections sheet. The photo properties are the same as the properties in the Photo property sheet. SeePhoto List” in this chapter.

Excel File – Collection Property Sheet

pm_excel.gif

Excel File – Photo Property Sheet for Specific Collection

 

A picture containing text, newspaper Description automatically generated

CSV File – Photo Properties for Multiple Collections

 

To add photo files using an Excel or XML file:

1.      On the Home tab, in the Add group, click the arrow next to Photos, and select Load from List. The Load a Photo List File dialog box is displayed.

2.      Browse to the Excel or XML file. The photo files are loaded into the project.

To add photo files using a CSV file:

1.      On the Home tab, in the Add group, click the arrow next to Photos, and select Load a Photo List File. The Load a Photo List File dialog box is displayed.

2.      Browse to the CSV file. The CSV/TXT Importer dialog box is displayed.

Table Description automatically generated

CSV/TXT Importer

3.      Enter the row at which to start import, and select a Delimiter.

4.      In the Mapping Table, select an Orientation Method.

5.      Select the CSV column that corresponds to each of the photo properties.

6.      Click Import.

Loading Photos from a Video

PhotoMesh can extract individual frames from video and save them as photo files. Supported video formats include: MPEG, AVI, MOV, and WMV.

To load photos from a video:

1.      On the Home tab, in the Add group, click the arrow next to Photos, and select Load Video (FMV). The Load Video dialog box is displayed.

2.      Browse to the video file, and click Open. The Load Video Editor is displayed.

A screenshot of a cell phone Description automatically generated

Load Video Editor

3.      Enter the following information:

Start

Start time from which video frame extraction should begin. Type in the time or drag the Start marker of the Video Cropping bar to the required position.

End

End time for video frame extraction. Type in the time or drag the End marker of the Video Cropping bar to the required position.

Frame Every

Sampling interval, i.e., every how many seconds a frame should be captured.

Focal Length Normalization

Camera properties used to set the focal length.

Select one of the following options:

§  Focal length and sensor width

§  Focal length and pixel size

§  Focal length 35

Focal Length

Focal length in millimeters.

Sensor Width

Size of the camera sensor in millimeters.

Pixel Size

Size of a physical pixel on the camera sensor in millimeters.

Zoom

How the video was captured:

§  Fixed - Select if the video was captured with a fixed zoom. In this case, PhotoMesh will ensure that all intrinsic parameters for all the video frames are the same.

§  Not Fixed - Select if the zoom level varied over the course of the capture, e.g. by using auto-zoom. In this case, PhotoMesh will calculate intrinsic parameters per frame.

4.      Click Load. The video frames are loaded into the project as photo files into a single photo collection.

Loading a PhotoMesh Project

When a PhotoMesh project (.PhotoMeshXML) is loaded into a second project, only the project’s photos and photo and collection parameters are loaded. Other project information (e.g. terrain objects, control points, and other project parameters) is not loaded.

To load a PhotoMesh project:

1.      On the Home tab, in the Add group, click the arrow next to Photos, and select select Load a Photo List File. The Load a Photo List File dialog box is displayed.

2.      Browse to the required PhotoMesh project file. The project’s photos and photo and collection parameters are loaded into the project.