MASI: Modules for Aerial and Satellite Imagery

Version 6.0 Satellite Modules

Tutorial

 

 

 

 

 

 

 

说明: D:\VisionOnSky\LOGO\空视\logo.png

 

VisionOnSky Co., Ltd.

www.visiononsky.com

 

File Version: v1.0

April 4, 2023

 


Special Notes:

 

(1) Before starting the tour of MASI software, please be sure that the installation manual and tutorials are fully read and understood. If users need to know and exploit the software deeply, please further read user manual of the software.

 

(2) Users can receive software license through two manners. One is to download license from internet. If this manner is used, users should provide us an e-mail address. We send the password to the e-mail address via the Sense Shield (SS) Licensing platform. If you have not found it, please check your e-mail trash (spam) box. The e-mail text may be written by Chinese, but the English string is actually the password. The account used to log in the SS (Sense Shield) middleware is your e-mail address and the password is the English string sent to your e-mail box. After you download the software license and bind it on your machine, you can use the software even though you disconnect the internet. If the internet connection is not very stable, we recommend that you disconnect the internet, otherwise a timeout error may happen. Using this manner, users can download software package, tutorials, user manuals, installation manual, etc. from website: http://www.visiononsky.com. The other manner is to use a physical dongle to get the software license which is stored in this dongle. You don’t need to provide us an e-mail address and don’t need to log in in the SS middleware, just need to plug the dongle on computer. But you still need to install the SS middleware. Using this manner, users should contact us to get the software package and the package downloaded from the website is invalid for the physical dongle.

 

(3) The file name and the path name to be used in English version of MASI software should be English characters, and the file name and the path name can not include blank space.

 

(4) The full path of file can not be too long (e.g., more than 200 characters). If it is too long, please shorten the full path of file.

 

(5) Please make sure that there is enough free space in the disk where the work directory is located.

 

(6) If text editing is needed, editors such as UltraEdit, NotePad++ are highly recommended.

 

(7) Because of the update of software version, some GUI interfaces of programs illustrated in this tutorial are not the newest, which are changed and adjusted. The latest user manual of the software provides the newest one, please refer to that document.

 

(8) Any feedbacks, suggestions, and problems, please send to the e-mail address: jhyang@vip.163.com

 


History of Versions

 

Version 1.0: finishing the first version of this document, tutorial of satellite modules. Time: Apr., 2023, Author: VisionOnSky Co., Ltd.

 

 


1 The brief introduction of satellite modules of MASI Version 6.0

The functions in MASI Version 6.0 for satellite images can be packaged as some relatively independent modules. The modules include the following functions: multiple orientation methods (automatic relative orientation of stereo and triplet, automatic extraction of control points by matching points between the image and existing ortho-image, accurate orientation for a single image through control point, automatic point matching and bundle adjustment of stereo block, bundle adjustment of a block consists of nadir satellite images, etc.), interactive tools for points viewing and measurements, measurements of image points for GCPs and the adjustment with the support of GCPs, automatic stereo matching and generation of highly dense DSM (as well as point clouds), automatic 3D modeling with true color textures, automatic ortho-rectification, pan-sharpening, automatically transforming DSM to DTM (the height difference between DSM and DTM is the height of building / tree), automatic finding change of surface height (used in the automatic finding of new buildings, the unplanned buildings and the removed buildings, and estimating their corresponding accurate height), automatic mosaic (mosaic of DSMs, mosaic of ortho-rectified images, mosaic of histogram matched images), volume calculation, extraction of building attributes (the center position of building, height of building, number of layers, area of ground, and construction area of building), generation of boundary polygon for satellite images, image displaying, procedural processing for DSM production, interactive editing of DSM/DEM, collecting polygons, and some commonly used tools. These modules for satellite images are shown to users by a main interface (satMain.exe). After installing of MASI software, users can launch the main interface by clicking the shortcut to satMain.exe or directly double-clicking the program, satMain.exe, itself. Then, the corresponding functions can be launched by clicking the icons in the interfaces.

 

Figure 1. The main interface (satMain.exe) of satellite modules

 

The features of satellite modules in MASI Version 6.0 are as follows:

(1) Supporting commonly used satellite sensors, such as Worldiew-1/2/3/4, GeoEye, ZY3-01/02, SuperView-1/2, Pleiades 1A/1B, Pleiades NEO, SPOT 6/7, GF-7, GFDM, TH series, Beijing series.

(2) GUI operating manner and batch processing manner are supported in MASI software. GUI-based operations for automatic stereo matching and DSM generation, and ortho-rectification are easy. Only one push of button is needed to carry out the procedure of DSM production. User can also automatic generate or write batch files including commands to fulfill the pipeline processing for a specific procedure. Distributed computing where multiple tasks can be allocated to multiple machines is also supported.

(3) Modules demanding large computation requirements, such as automatic stereo matching and DSM generation, pan-sharpening, and mosaicking, have capability of parallel computing. Thus, the computational resources can be fully exploited.

(4) Supporting different operating systems, either Windows OS or Linux OS. MASI can run on the commonly used PC computer, and cluster computer usually located in data center or supercomputer center. This tutorial is based on Windows OS. If you need the document of usage of MASI on Linux OS, please contact us.

 

For more details about functional features and technique traits, please refer to the document of Product Descriptions and Typical Applied Cases.

 

 


2 The automatic processing flowchart for satellite image

Figure 2. The automatic processing flowchart for satellite image

 

In the flowchart, each step corresponds to a function in satellite modules as follows:

(1) Orientation. According to the satellite images, the attached RPC files, control points, etc., bundle adjustment are fulfilled to obtain the accurate geometric relationships between image space and object space. Clicking the icon showing “Orientation” in the main interface,

The following menu will pop up.

 

In MASI Version 6.0 there are the following functions for orientation and adjustment: automatic relative orientation of stereo and triplet, accurate orientation for a single image through control point, automatic point matching and bundle adjustment of stereo block, interactive tools for points viewing and measurements, measurements of image points for GCPs and the adjustment with the support of GCPs, automatic extraction of control points by matching points between the image and existing ortho-image, etc. Meanwhile, the results of bundle adjustment from mainstream software can be used in MASI software. Experimental results show that the results of bundle adjustment from PCI GXL, PixelGrid, etc. can be used in MASI software.

 

If the satellite images are stereo pair, relativeOri.exe or tripleOriForm.exe (under the menu, Orientation -> Orientation of stereo with two/three views -> Points matching and automatic orientation) is used to extract tie points and fulfill the bundle adjustment. The results of the adjustment parameters based on image space for the left and right images are determined. If the satellite images are triplet stereo with three views (e.g. ZY3 triplet, Pleiades triplet, Pleiades NEO triplet), tripleOri.exe or tripleOriForm.exe (under the menu, Orientation -> Orientation of stereo with two/three views -> Points matching and automatic orientation) is used to extract tie points and fulfill the bundle adjustment for the three views. The results of the adjustment parameters based on image space for the forward, nadir, backward images of triplet stereo are determined. The above method for stereo/triplet is similar to relative orientation where bundle adjustment is fulfilled in stereo pair or triplet to obtain their accurate relative positions. And the absolute positional accuracy of stereo pair or triplet is determined by the accuracy of orbit of satellite.

 

In MASI software, there are not only the functions of automatic points matching and orientation, but also an interactive tool for stereo orientation of two views and an interactive tool for triplet orientation of three views, which are tpViewer.exe (under the menu, Orientation -> Orientation of stereo with two/three views -> Interactive tool for stereo orientation) and tripletViewer.exe (under the menu, Orientation -> Orientation of stereo with two/three views -> Interactive tool for triplet orientation), respectively. The generated tie points from relativeOri.exe and tripleOri.exe can also be imported into interactive tools tpViewer.exe and tripletViewer.exe, respectively, to check the correctness of matched points, manually measure new image points and then fulfill adjustment again. Furthermore, users can import GCPs into tpViewer.exe and tripletViewer.exe, and measure their corresponding image points and then carry out the adjustment with the support of GCPs, resulting in accurate orientation results. The independent programs, tpBundleAdj.exe and triBundleAdj.exe (under the menu, Orientation -> Orientation of stereo with two/three views -> Bundle adjustment), can also use a point file including some control points to perform bundle adjustment to obtain accurate orientation results.

 

A method for accurate orientation of a single image is that the results of the adjustment parameters are accurately determined through the coordinates of image and object spaces of few ground control points. These ground control points along with their corresponding image points can be measured in the interactive tool, pointsMeasure.exe (under the menu, Orientation -> Ori by GCPs and points measurement), provided by MASI software. Or they can be extracted by automatically matching points between the image and existing ortho-image (the programs, oriByOrtho.exe and oriByOrthoForm.exe, have this function; under the menu, Orientation -> Ori by matching with ortho image).

 

In MASI software there is also a function of bundle adjustment of stereo block consisting of images with multiple strips and multiple views. First, the results of the adjustment parameters based on image space are determined by calculation of bundle adjustment after the feature interest points among all images in a stereo block are detected and matched automatically under the program, satOrient.exe and satOrientForm.exe (under the menu, Orientation -> Automatic orientation of stereo block). Then, these automatically extracted tie points can be imported into a general interactive tool for points viewing and measurements, nViews.exe (under the menu, Orientation -> nViews points viewer and measurement), to check the correctness of matched points, manually measure new image points and then fulfill adjustment again. Furthermore, users can import GCPs into nViews.exe and measure their corresponding image points and then carry out the adjustment (by calling the external program, multiAdjustment.exe, which can also be used alone under the menu, Orientation -> Bundle adjustment of stereo block) with the support of GCPs, resulting in accurate orientation results. Also, the report of the orientation accuracy can be generated with the support of check points.

 

If bundle adjustment of a block consists of nadir satellite images which we call planar images (please see the meaning in the program usage of blockSettingForm.exe under the menu, Orientation -> Generation of block-described file) is demanded, with the assistance of external elevations source the programs, nadirBlock.exe and nadirBlockForm.exe (under the menu, Orientation -> Orientation of block of nadir images), are used to attack the task.

 

The programs, rpcresolver.exe and rpcresolverForm.exe (under the menu, Orientation -> Fitting new RPC), can exploit the results of the adjustment parameters based on image space (i.e., the gained .aff file) in steps of orientation and the file of original RPC parameters to fit new RPC parameters.

 

The results of bundle adjustment from mainstream software can be used in the coming steps in MASI software. If the results of bundle adjustment from third party software are the newly generated RPC parameters, they can be used directly in MASI software. If the results from third party software are also adjustment parameters, in order to accord with the coming steps in MASI software, it should be ensured that the adjustment model is a shift transform or affine transform in image space when the third party is adopted. Please also check whether the file format of the adjustment parameters is the same as the file format provided in MASI software. If not, users need to change the format of these parameters via text editor in order to accord with the format in MASI software. Users can also contact us. We will write some software tools which can automatically transform them for our clients.

 

(2) Automatic stereo matching and DSM generation. The results of the adjustment parameters along with the original RPC parameters are used to fulfill the automatic stereo matching for a stereo pair of satellite images and dense 3D points (users can decide whether the text-formatted point clouds files with extension .xyz are saved by setting the configuration option) are generated. The program tries to extract a 3D point for each pixel (pixel-wise matching). Then, these point clouds are transformed to DSMs and these DSMs are mosaicked. At last, a mosaicked DSM covering the whole image is generated (the DSM before interpolation). There are two algorithms of stereo matching in MASI software: semi-global matching (SGM) and NCC-based matching. Because the size of satellite image is large, image is divided into big blocks to further process. If point clouds are set to be saved, a text-formatted file of point clouds with extension .xyz is generated for each block. In files of point clouds, each line is for one point, and each line includes the x, y, z coordinates value. At the same time, a list file including all filenames of point clouds extracted from stereo pairs of image blocks is generated. Clicking the icon showing “DSM” in the main interface,

The following menu will pop up.

 

The command item, SGM, in the above menu is to call the algorithm of semi-global matching (SGM) and DSM generation; while the command item, satEpiMatching, in the above menu is to call the algorithm of NCC-based stereo matching and DSM generation. A mosaicked DSM (the DSM before interpolation) covering the whole image is yielded for a stereo pair in the two algorithms. SGM (satSGMatching.exe) algorithm can achieve good results for not only plain area and the area with low difference of height but also urban and the area with high difference of height, and it is relatively slow and consumes more RAM memory; while NCC-based stereo matching (satEpiMatching.exe) algorithm is relatively fast and consumes less RAM memory, is only suitable for plain area and the area with low difference of height.

 

If point clouds are set to be saved, the files of point clouds (a file of point clouds for each block) as well as the generated list file can be used as an input of the program, generateDSM.exe and generateDSMForm.exe (under the menu, DSM -> Generate DSM), resulting in DSM results with different parameters, such as grid spacing (cell size), no-data value, and the method to select the height value. In such a way that through one time of stereo matching (because stereo matching is a step demanding large computation) the DSM results with different grid spacing are achieved in the light of users’ requirements. For more details, please refer to “Usage of the generateDSM.exe and generateDSMForm.exe programs”.

 

Transforming to DSM and mosaicking: called by the command item, Generate DSM, in the above menu. A list file is passed to the function. The point clouds whose filenames are listed in the list file are transformed to DSMs, respectively. Then, these DSMs are mosaicked, resulting in a mosaicked DSM covering the whole strip (the DSM before interpolation). The list file can come from two cases. If point clouds are set to be saved in the course of stereo matching, a list file including all filenames of point clouds extracted from stereo pairs of image blocks is generated. The list file can also be one into which the multiple lists of cloud points respectively from multiple stereo are incorporated by using the program mergeFilelist.exe or mergeThreelist.exe, and mergeListForm.exe.

 

If there are multiple strips for an area, for each strip (e.g., ZY3) three stereo pairs exist: forward-backward stereo, forward-nadir stereo, backward-nadir stereo. Other case is that multiple strips are acquired in different phases. In MASI software, two methods are provided to generate highly accurate and highly dense DSM. One method is as follow. Point clouds are set to be saved in the course of stereo matching. All list files of cloud points respectively from multiple stereo pairs are merged (Merge Lists under DSM menu) to generate a list file including all filenames of point clouds extracted from all strips. Then, the merged list file is passed to the function, transforming to DSM and mosaicking (generateDSM.exe and generateDSMForm.exe, Generate DSM under DSM menu). A highly accurate and highly dense DSM is generated. The other method is to mosaic multiple DSMs from multiple strips to produce a highly accurate and highly dense DSM by using the programs, mpimosaic.exe and mpimosaicForm.exe (DSM Mosaic under DSM menu). For each strip, one DSM or several DSMs (multiple stereo pairs are selected for a strip) can be yielded. The former method is flexible and can produce DSM results with different parameters, such as grid spacing (cell size), no-data value, and the method to select the height value according to users’ needs. The latter method is more efficient.

 

(3) Post processing for DSM. The above mosaicked DSM has some areas which have not height value (before interpolation these areas are filled by using no-data values). In this step, these areas with no-data value are interpolated, and outliers (or small spots of errors) in the resultant DSM after interpolation are removed. The output of this step is the product of dense DSM, which is generated by this software. The DSM product can be used in different applications followed (e.g., volume calculation, finding change of surface height, extraction of the height of building / tree).

 

The command item, Post Processing, in the menu is to call the function of post processing for DSM. The GUI program called from the command item is postDSMForm.exe. Also, the GUI program can be launched by double-clicking the program directly. For more details, please refer to “Usage of the postDSM.exe and postDSMForm.exe programs”.

 

To simplify user’s operations and have capability of procedural automatic processing in the course of DSM production, a GUI program called satChainForm.exe is provided by MASI software. In the GUI program, three sequential steps for satellite stereo or triplet, i.e., relative orientation (Step 1), stereo matching and DSM generation (Step 2), and DSM post-processing (Step 3), are connected automatically, so that the interpolated DSM results can be generated by means of one clicking. The program supports commonly used optical satellite sensors with the capacity of stereo acquisition. After a specific sensor is selected, the parameters for each step are set automatically. Users can launch the GUI program via the icon showing “DSM” (the item of “Automatic pipeline” in the pop-up menu), in the main interface (satMain.exe) of satellite modules. Also, the GUI program can be launched by double-clicking the program directly. For more details, please refer to “Usage of the satChainForm.exe program”.

 

(4) Automatic ortho-rectification. The program uses the DSM source (the output of Step 3) to ortho-rectify the satellite image to generate so-called true ortho-image. An alternative way is that DTM as a height source, which can be from third party or generated by MASI software, is used to ortho-rectify images. This way is more common. Clicking the icon showing “Ortho” in the main interface,

The following menu will pop up.

The command item, Satellite Ortho, in the above menu is to call the function of ortho-rectification.

 

(5) Pan-sharpening. The higher resolution panchromatic image and the lower resolution multispectral image after ortho-rectification, respectively, are merged to generate a sharpened image which is a higher resolution multispectral image. In some cases, panchromatic image and multispectral image are acquired at the same viewing angle. Users can merge panchromatic image and multispectral image with same viewing angle at the beginning of a procedure. Then, the pan-sharpened image (whose orientation parameters are the same as those of the panchromatic image) can be used in the steps of ortho-rectification and 3D reconstruction. Thus, orientation and ortho-rectification of the multispectral image can be avoided. The optimized BR fusion algorithm is implemented in the program, which can be executed either serially or parallelly. BR pan-sharpening algorithm is proposed by the founder of VisionOnSky Co., Ltd., Dr. Jinghui Yang on the basis of several years’ research. Compared to other algorithms, BR can achieve a good fusion results. Also, the algorithm is optimized for the pan-sharpening of very high resolution satellite image. Clicking the icon showing “Pan Sharpening” in the main interface,

The operating interface of the function will be launched.

 

(6) Comparing surface height and change finding. By comparing DSMs of different phases (generated by MASI software), the program can automatically find change of the surface height and calculate the value of changed height. It can be used in the automatic finding of new buildings, the unplanned buildings and the removed buildings, and estimating their corresponding accurate height. The map of height difference produced in this step can be used in the following extraction of building attributes (the center position of building, height of building, number of layers, area of ground, and construction area of building). Clicking the icon showing “Surface Change” in the main interface,

The operating interface of the function will be launched.

 

(7) Automatic DSM2DTM. The program deletes the non-grounded objects like buildings, trees in DSM and transforms DSM to DTM where the pure ground height is saved. Clicking the icon showing “DSM to DTM” in the main interface,

The operating interface of the function will be launched.

 

(8) Height estimation of building / tree. The height difference between DSM and DTM (nDSM) is the height of building / tree. The height difference (raster form) produced in this step can be used in the following extraction of building attributes (the center position of building, height of building, number of layers, area of ground, and construction area of building). DSM is generated by the functions in MASI software (including post processing for DSM), and DTM can be produced in the step 7 in this flowchart. Clicking the icon showing “Building height” in the main interface,

The operating interface of the function will be launched.

 

(9) Applications. The generated dense DSM, map of height difference, nDSM (i.e., height of building / tree) in above steps can be passed to the application functions which fulfill volume calculation and extraction of building attributes (the center position of building, height of building, number of layers, area of ground, and construction area of building). Clicking the icon showing “App” in the main interface,

The following menu will pop up.

Currently two applications modules are included, i.e., volume calculation and automatic extraction of building attributes in the light of buildings footprints. The command item, Calculate Volume, in the above menu is to call the function of volume calculation. The GUI program called from the command item is calVolumeForm.exe. Also, the GUI program can be launched by double-clicking the program directly. For more details, please refer to “Usage of the calVolume.exe and calVolumeForm.exe programs”. The command item, Extract Buildings’ Attributes, in the above menu is to call the function of extraction of building attributes. The GUI program called from the command item is extBldgAttributesForm.exe. Also, the GUI program can be launched by double-clicking the program directly. For more details, please refer to “Usage of the extBldgAttributes.exe and extBldgAttributesForm.exe programs”. In the course of volume calculation and automatic extraction of building attributes, the bounds in the form of polygon are needed. Users can click the command item, Polygons Drawing Tool, in above menu to launch the interactive tool, collectPolygons.exe, to collect polygons and save them.

 

(10) 3D modeling with true color textures. Images and highly dense DSM generated in previous steps are used to generate 3D TIN models with true color textures. The 3D models are in a form of tiled mesh. The data type of the images which are used for texture mapping is unsigned 8 bit integer. If it is not, user should stretch the images to unsigned 8 bit using the autoStretch.exe program provided by MASI software. Clicking the icon showing “Textured 3D Model” in the main interface,

The following menu will pop up.

The command item, textured 3D modeling, in the above menu is to call the function of 3D modeling. The GUI program called from the command item is scene3DForm.exe. Also, the GUI program can be launched by double-clicking the program directly. For more details, please refer to “Usage of the scene3D.exe and scene3DForm.exe programs”.

 

In addition, other functions are included: generation of boundary polygon for satellite images, image displaying, interactively editing of DSM/DEM, collecting polygons, automatic mosaic (mosaic of DSMs, mosaic of ortho-rectified images, mosaic of histogram matched images), transforming RPC parameters with XML format used in airbus Pleiades, Pleiades NEO, SPOT 6/7 to the commonly used RPC format (the form exploited by IKONOS and GeoEye), transforming RGB image to grey image, rotation of image, reflection of image, transforming point clouds to surface in the form of raster, transforming DSM with raster form to point clouds, image cropping, creating overviews for image, transforming between orthometric height and ellipsoidal height, projection / re-projection for image based on WGS 84, generation of .aff files in batch, and uncompressing image file with JPEG2000 format.

 

The method of format transform for point clouds generated by MASI software: the file of point clouds generated by the software is text format, which can be transformed to LAS format through the following steps. In the course of transform, a third party software package OSGeo4W (including the open source library, i.e., libLAS) is exploited. The package can be downloaded from the official website of OSGeo4W. The steps are as follows:

(1) Translation to LAS format: the command, namely txt2las.exe (OSGeo4W package includes the program), in the open source library, libLAS, can be used to translate the point clouds with text format to the LAS file. The corresponding command is as follows:

>txt2las.exe -parse xyz -i filename.xyz -o filename.las

(2) Assigning RGB values: the command, namely las2las.exe (OSGeo4W package includes the program), in the open source library, libLAS, can be used to assign the RGB values from truly ortho-rectified image to the points in LAS point clouds file. The colored point clouds are obtained. One example of the command is as follows:

>las2las.exe -i points.las --color-source ortho.tif -o points_rgb.las --file-format 1.2 --point-format 3 --color-source-scale 256 --color-source-bands 1 2 3

 


3 The flowchart sample of satellite images

In the following, the flowchart will be illustrated through a sample. First, the main interface of the satellite modules is launched via the Windows Start menu, i.e., calling the program, satMain.exe. The launched main interface is as follows:

Clicking the icons in the main interface is to call the corresponding functions. The main steps of the flowchart sample are as follows:

 

Step 1: Orientation

Clicking the icon showing “Orientation” in the main interface,

The following menu will pop up.

 

In this chapter, three-line-scanner ZY3-01 images are taken as an example. Thus, by clicking the command item, Orientation -> Orientation of stereo with two/three views -> Points matching and automatic orientation, the GUI program is launched. The program will extract tie points and fulfill the bundle adjustment for the three views. The results of the adjustment parameters based on image space for the forward, nadir, backward images of triplet are determined. The model based on image space with the support of RPC parameters is adopted in bundle adjustment. The adjustable model based on image space supports shift and affine transforms of image coordinate. The operating interface is as follows:



 

First, all files required in the course of automatic orientation for a triplet of satellite images, such as forward, nadir, and backward images of the triplet and their corresponding RPC files, are copied to a directory, e.g., F:\ZY3_tests, and set it as work directory. When MASI graphical interface is used, all required files should be put in the same directory and the directory is set as work directory.

 

In the section of input setting, the forward, nadir, and backward images of the triplet and their corresponding RPC files are selected.

 

The first four configuration options are some parameters used in the detection of interest point. In most cases, they can be set as default values. For more details, please refer to user manual of MASI software.

 

Format of intermediate files: the intermediate files are the generated images projected on a plane for forward, nadir, and backward images, respectively. The file format can be configured. The formats, such as GTiff and ERDAS IMAGINE (.img), can be used. In this sample, the format of intermediate files is set as ERDAS IMAGINE (.img). The format is recommended.

 

Form of RPC: the form of RPC parameters. Currently two mainstream types are supported. One is the form exploited by IKONOS (GeoEye) image, usually the RPC filename ends with _rpc.txt, which is selected by setting “General” in this option and the other is the form exploited by Worldview (QuickBird) image, usually the RPC filename ends with .rpb, which is selected by setting “WV” in this option. If for the XML form of RPC parameters adopted by airbus Pleiades 1A/1B, Pleiades NEO, and SPOT 6/7, the function provided in tools in the main interface of the modules can transform the RPC parameters with XML format to the commonly used RPC format (the form exploited by IKONOS and GeoEye). In this sample, the type of “General” is used.

 

Attention: There are two types of RPC format used for ZY3 images. They are provided by SASMAC and CRESDA, respectively. SASMAC uses the form exploited by IKONOS (GeoEye) image, whose filename usually ends with _rpc.txt. However, CRESDA uses the form exploited by Worldview (QuickBird) image, whose filename usually ends with .rpb. Thus, for the image provided by SASMAC, the type of RPC format is selected by setting “General” in the option. It is selected by setting “WV” in the option for the image provided by CRESDA.

 

Block size: the block size which is used to divide the image when detecting the interest points. In each block, the most reliable point is detected, which ensures the even distribution of interest points in the whole image. The size of border to be deleted: the size of border where the matched points is not reliable and need to be deleted. Extended size: being the extended size to two ends of the predicted search range. Threshold of the difference: the threshold of the difference between the highest NCC value and the second highest NCC value in the course of matching. The point whose difference value is less than the threshold is deleted. Number of candidates: the number of selected points which are nearest to the center of every block. These points are the candidates for the following processing. Number of used threads: setting the number of used threads (CPU cores or the virtual CPU cores by using hyper-threading technology). For the cases where CPU cores are enough, we suggest that number of 4, 6 or 8 is set here.

 

The above six configuration options are to enhance the reliability, correctness, and efficiency in the matching of interest points. In most cases, they can be set as default values.

 

After the above options in the interface are set, users can click “Save configuration” to save these options. These configuration options will be saved in a configuration file, relative.conf, and next time the options can be loaded from the configuration file by clicking “Load configuration”. The configuration file, relative.conf, is also stored in the work directory. If the button of “Execute” is clicked, the configuration file will also be generated in the same way.

 

In the section of output setting, users should set the filename of tie points matched among forward, nadir, and backward images (XML format is adopted in the file of tie points. The file format is illustrated in the Appendix IV in user manual.), the resolution (in this sample, 3.5 m) set to project the image on a plane, which can not be better than the lowest one in the triplet (for ZY3-01, the resolution of forward and backward images is 3.5 m, while the resolution of nadir image is 2.1 m), and the NCC threshold. Only if the NCC value of the matched tie point is above the threshold, the point is a valid point. The value range of the threshold is 0 ~ 1. The default value set in the interface is appropriate for most cases. Also a choice, which can be shift or affine, should be selected in image-space based adjustment model. In this sample, shift is selected.

 

After finishing the setting of configuration options, input and output setting, users can click the button of “Execute”. The program starts to run and the required time to finish the whole procedure is different according to the image size and the height difference of the covered terrain. In the course of computation, the buttons of “Execute” and “Cancel” on the bottom of the form is invalid. The two buttons can not be clicked in case they are clicked many times in the course of running. Users can learn the progress and the running status via the re-directed output printing (sometime printing may delay) on the right side. User can also check the information of resources (CPU, memory and Disks) possessed by the program from Task Manager and Resource Monitor of Windows OS. Once the execution of tripleOri.exe is finished, a message box will pop up showing that the processing is closed successfully or terminated (aborted). After clicking OK button on the message box, the GUI program returns to the available status. Users can either click the button of “Cancel” on the bottom or click the closing icon on the up-right corner of the interface to close this GUI program. Or users can select and set new input and output to fulfill a new task.

 

User can click the button of “Terminate” on the bottom if they need to abort the processing (not the closing of GUI form). The GUI program, tripleOriForm.exe, will kill the process of tripleOri.exe which is being called. Killing the process of tripleOri.exe may delay (less than one second or several seconds). Once the process is killed, a message box will pop up showing that the processing is terminated (aborted) or closed successfully. After clicking OK button on the message box, the GUI program returns to the available status. Users can either click the button of “Cancel” on the bottom or click the closing icon on the up-right corner of the interface to close this GUI program. Or users can select and set new input and output to fulfill a new task.

 

Attention: the button of “Cancel” on the bottom is only for closing the GUI program. If the called logical program (i.e., tripleOri.exe) is running, users should first click the button of “Terminate” to abort the processing task or wait until the processing task is finished, and then close the GUI program. Users can not click the button of “Cancel” or click the closing icon on the up-right corner of the interface to close this GUI program when the called logical program is running.

 

The blank area of the right side will display the information printed by the command program, and the printed information will also be saved in a log file named as tripleOri_ddMMMyyyyHHmmss_log.txt. In the filename, dd are two digital numbers indicating a date, MMM are three English characters indicating an abbreviation of a month, yyyy are four digital numbers indicating a year, and HHmmss are digital numbers indicating hour, minute and second in the form of 24 hours. The log file is also stored in the work directory. All configuration options are saved in the configuration file, relative.conf, through a certain type of form in the course of running of program. The configuration file can be used in the action of loading configuration.

 

The files with the extension .aff including the results of the adjustment parameters based on image space are determined for the forward, nadir and backward images, respectively, after bundle adjustment. The contents of these files:

 

 

For more details about the format of .aff file, the meaning of items in the file, the intermediate files generated, the format of the tie point file and auxiliary files generated, please refer to user manual of the software. The .aff files gained in this step will used in the coming stereo matching and DSM generation, orhto-rectification and texture mapping of 3D models. Users can also use the gained .aff file and the file of original RPC parameters to fit new RPC parameters. Please refer to the program usage of rpcresolver.exe.

 

Meanwhile, the generated tie points can also be imported into interactive tool, tripletViewer.exe, to check the correctness of matched points, manually measure new image points and then fulfill adjustment again. Furthermore, users can import GCPs into tripletViewer.exe and measure their corresponding image points and then carry out the adjustment with the support of GCPs, resulting in accurate orientation results. MASI software includes an interactive tool for stereo orientation of two views and an interactive tool for triplet orientation of three views, which are tpViewer.exe and tripletViewer.exe, respectively. The two interactive tools can be launched via the icon showing Orientation (the item of “Orientation of stereo with two/three views -> Interactive tool for stereo orientation / Interactive tool for triplet orientation” in the pop-up menu), in the main interface (satMain.exe) of satellite modules.

 

If the adjustment results are determined by bundle adjustment of stereo block in this software or by using bundle adjustment provided by third party software, the step can be discarded. If the results of bundle adjustment from third party software are the newly generated RPC parameters, they can be used directly in MASI software. If the results from third party software are also adjustment parameters, in order to accord with the coming steps in MASI software, it should be ensured that the adjustment model is a shift transform or affine transform in image space when the third party is adopted. Please also check whether the file format of the adjustment parameters is the same as the file format provided in MASI software. If not, users need to change the format of these parameters via text editor in order to accord with the format in MASI software. Users can also contact us. We will write some software tools which can automatically transform them for our clients.

 

The results of the adjustment parameters can also be determined through the coordinates of image and object spaces of few control points. These ground control points along with their corresponding image points can be measured in the interactive tool, pointsMeasure.exe (under the menu, Orientation -> Ori by GCPs and points measurement), provided by MASI software. Or they can be extracted by automatically matching points between the image and existing ortho-image (the programs, oriByOrtho.exe and oriByOrthoForm.exe, have this function; under the menu, Orientation -> Ori by matching with ortho image). If automatic orientation for a stereo pair of satellite images is needed, the GUI program is the same, but the called logical program is different. It is the program, relativeOri.exe. For more details, please refer to user manual of MASI software.

 

Step 2: Automatic stereo matching and DSM generation

Clicking the icon showing “DSM” in the main interface,

The following menu will pop up.

There are two algorithms of stereo matching in MASI software: semi-global matching (SGM) and NCC-based matching. The command item, SGM, in the above menu is to call the algorithm of semi-global matching (SGM) and DSM generation; while the command item, satEpiMatching, in the above menu is to call the algorithm of NCC-based stereo matching and DSM generation. In this sample, SGM algorithm is adopted. The operating interface is as follows:

 



 

The concept of work directory is the same as that in the previous step. All files required in the course of stereo matching and DSM generation should be put in the work directory. Therefore, the directory, i.e., F:\ZY3_tests, is still set as the work directory in this step. In the course of stereo matching and DSM generation, the generated files with .aff extension in the step of orientation (the file name is the same as the file of RPC parameters. The only difference is the file extension which is changed to .aff) are required, which is also in the work directory.

 

Attention: even though the re-generated RPC parameters after adjustment (namely the newly generated RPCs without the accompanied adjustment parameters) are used, the .aff files still need to be provided for the sake of keeping the consistency with other cases. However, the contents of the .aff file are fixed:

1 0 0

0 1 0

It has the same effect as the situation where there are not adjustment parameters. MASI software has a tool to automatically generate the .aff files with above contents.

 

The program of stereo matching and DSM generation each time can only deal with a stereo pair with two images. For three-line-scanner ZY3 images, three times of two-view stereo can be fulfilled, namely forward-backward stereo, forward-nadir stereo, backward-nadir stereo. The results from all stereo pairs are mosaicked and blended. Then, a DSM product with high quality is generated.

 

The above interface of stereo matching and DSM generation is for the case of forward-nadir stereo. The other two cases are similar, except the input images. In the section of input setting, the left and right images of the stereo pair and their corresponding RPC files are selected.

 

The meaning of each configuration option is as follows:

Format of intermediate files: the intermediate files are image of block data, epipolar and disparity images whose file format can be configured. The formats, such as GTiff and ERDAS IMAGINE (.img), can be used. In this sample, the format of intermediate files is set as GTiff (.tif).

 

Form of RPC: the form of RPC parameters. Currently two mainstream types are supported. One is the form exploited by IKONOS (GeoEye) image, usually the RPC filename ends with _rpc.txt, which is selected by setting “General” in this option and the other is the form exploited by Worldview (QuickBird) image, usually the RPC filename ends with .rpb, which is selected by setting “WV” in this option. If for the XML form of RPC parameters adopted by airbus Pleiades 1A/1B, Pleiades NEO, and SPOT 6/7, the function provided in tools in the main interface of the modules can transform the RPC parameters with XML format to the commonly used RPC format (the form exploited by IKONOS and GeoEye). In this sample, the type of “General” is used.

 

The size of big block: the size of big block which is used to divide the image. Because the size of satellite image is large, image is divided into big blocks to process. The size of block can not be too small or too big, usually it is bigger than 4096. The size of block is determined in the light of the memory size of computer, the number of used processors (if parallel computing of multi-processors is used) and the terrain covered in the image. The larger the memory, the bigger the block; on the contrary, the higher the height difference of terrain, the smaller the block. The options can be 4096, 6144, 8192, 10240. If the RAM is small, e.g., 8 GB, the recommended size is 2048. If the RAM is 32 GB, 4096, 6144, 8192 can be tested.

 

Overlapped size between blocks: the size of overlap between the adjacent big-blocks. The overlap area is set to avoid the errors in the border of blocks. The size of overlapping area can not be too small. Usually appropriate overlapping size is 5% ~ 10% of the block size.

 

Delete intermediate files or not: whether the intermediate files (epipolar and disparity images) are deleted.

 

Method to select height value: the method how to select the height value when there are multiple 3D points in a grid. The software supports three methods: max, min, average, which select maximum, minimum, average height value, respectively. The recommended method is max.

 

Resolution in stereo matching: the resolution adopted in stereo matching (Unit: m), i.e., the grid spacing (cell size) of the intersected 3D point (because of pixel-wise matching). In this sample, it is 3.5 m. Generally, it can not be better than the lower resolution in the stereo pair.

 

Save point clouds or not: users can determine whether point clouds generated from each stereo pair of image blocks are saved as a text-formatted file with extension .xyz. In order to enhance efficiency, point clouds are not saved in this sample. If point clouds are set to be saved, the files of point clouds as well as the generated list file from multiple stereo pairs can be used in merging of DSM. All list files of cloud points respectively from multiple stereo pairs are merged (Merge Lists under DSM menu) to generate a list file including all filenames of point clouds extracted from all stereo pairs. Then, the merged list file is passed to the function, transforming to DSM and mosaicking (generateDSM.exe and generateDSMForm.exe, Generate DSM under DSM menu). A highly accurate and highly dense DSM is generated. For more details, please refer to the second chapter in this document and user manual of MASI software.

 

Height limit: it has two choices, which are from internal files (i.e., file of RPC parameters) and third party elevation file (The coordinate system of elevation file must be WGS 84 and the form is geographic latitude/longitude), respectively.

 

Projection of the output: the projected coordinate system adopted in resultant DSM as well as point clouds. Currently three types, i.e., GEOG (geographic latitude/longitude), UTM and GK (Gauss-Kruger, in some countries it is also called TM) are supported, which are selected by setting GEOG, UTM and GK, respectively. The underlying reference ellipsoid for the three types of projection must all be WGS 84.

 

Zone size (degree): zone width for projection, it can be 6 or 3 degree. If GK is selected for projection, it can be 6 or 3 degree; while UTM is selected for projection, it can only be 6 degree. When GEOG is selected for projection, the option is invalid.

 

Number of used threads per processor: setting the number of used threads (CPU cores or the virtual CPU cores by using hyper-threading technology) per processor. For the cases where CPU cores are enough, we suggest that number of 4, 6 or 8 is set here.

 

Bounding polygon: users can determine whether a bounding polygon is used to limit the region of stereo matching. After checking the checkbox, a shape format file which includes a polygon for bounding should be selected. Compared to the region bounded by the used polygon, the resultant region after the utilization of bounding polygon in stereo matching may be extended a little bit. The bounding polygon file can include only one polygon and its coordinate system must be the same as that of output DSM and point clouds. For default setting, bounding polygon is not used. The button of “Selecting File” in the right side is invalid.

 

After the above options in the interface are set, users can click “Save configuration” to save these options. These configuration options will be saved in a configuration file, satmatching.conf, and next time the options can be loaded from the configuration file by clicking “Load configuration”. The configuration file, satmatching.conf, is also stored in the work directory. If the button of “Execute” is clicked, the configuration file will also be generated in the same way.

 

In the output setting, users should set the filename of the mosaicked DSM (the DSM before interpolation), the grid spacing (cell size) of the raster file used to store height value (the value of grid spacing is different from the resolution adopted in stereo matching and can not be better than the resolution adopted in stereo matching; in this sample it is set as 5.0 m), the no-data value used to fill in the area without height value in the raster DSM file (no-data value).

 

A text-formatted file of point clouds with extension .xyz is generated for each stereo pair of image blocks, if point clouds are set to be saved. Because the image is divided into blocks in the course of processing, _points_RXCX is annexed to the end of the filename of DSM for each block. R means row, C means column and X means number. For instance, R0C0 means the first row and first column. In files of point clouds, each line is for one point, and each line includes the x, y, z coordinates value after projection. The coordinate system of projection, which can be set, is the same as that of resultant DSM. But the underlying reference ellipsoid is WGS 84. If point clouds are set to be saved, a list file named “%s_points_List.txt” is generated at the same time. The %s in the filename is replaced by the filename of resultant DSM set by users. If point clouds are set to be saved in this sample, the generated list file is favp_navp_dsm_points_List.txt. Because in this sample point clouds are not saved, the above files of point clouds and list file are not generated.

 

Serial or parallel processing can be selected. If parallel processing is selected, number of processors should be inputted as well as the current user name using the Windows OS and password of the user. Next time users can load the information by clicking the load button, and do not need input the information again. In terms of determination of the number of processors, please refer to user manual of this software. Users who want to use parallel computing in the software should be trained for a period of time, and know the software and the principle behind the software more. At the beginning, ordinary users are not expected to use parallel computing. In the course of using parallel computing, if there are any problems encountered, please contact us as soon as possible.

 

After finishing the setting of configuration options, input and output setting, users can click the button of “Execute”. The program starts to run and the required time to finish the whole procedure is different according to the image size, the number of used processors (if parallel computing of multi-processors is used) and the height difference of the covered terrain. In the course of computation, the buttons of “Execute” and “Cancel” on the bottom of the form is invalid. The two buttons can not be clicked in case they are clicked many times in the course of running. Users can learn the progress and the running status via the re-directed output printing (sometime printing may delay) on the right side. User can also check the information of resources (CPU, memory and Disks) possessed by the program from Task Manager and Resource Monitor of Windows OS. Once the execution of satSGMatching.exe is finished, a message box will pop up showing that the processing is closed successfully or terminated (aborted). After clicking OK button on the message box, the GUI program returns to the available status. Users can either click the button of “Cancel” on the bottom or click the closing icon on the up-right corner of the interface to close this GUI program. Or users can select and set new input and output to fulfill a new task.

 

User can click the button of “Terminate” on the bottom if they need to abort the processing (not the closing of GUI form). The GUI program, satSGMatchingForm.exe, will kill the process of satSGMatching.exe which is being called. Killing the process of satSGMatching.exe may delay (less than one second or several seconds). Once the process is killed, a message box will pop up showing that the processing is terminated (aborted) or closed successfully. After clicking OK button on the message box, the GUI program returns to the available status. Users can either click the button of “Cancel” on the bottom or click the closing icon on the up-right corner of the interface to close this GUI program. Or users can select and set new input and output to fulfill a new task.

 

Attention: the button of “Cancel” on the bottom is only for closing the GUI program. If the called logical program (i.e., satSGMatching.exe) is running, users should first click the button of “Terminate” to abort the processing task or wait until the processing task is finished, and then close the GUI program. Users can not click the button of “Cancel” or click the closing icon on the up-right corner of the interface to close this GUI program when the called logical program is running.

 

The blank area of the right side will display the information printed by the command program, and the printed information will also be saved in a log file named as satSGMatching_ddMMMyyyyHHmmss_log.txt. In the filename, dd are two digital numbers indicating a date, MMM are three English characters indicating an abbreviation of a month, yyyy are four digital numbers indicating a year, and HHmmss are digital numbers indicating hour, minute and second in the form of 24 hours. The log file is also stored in the work directory. All configuration options are saved in the configuration file, satmatching.conf, through a certain type of form in the course of running of program. The configuration file can be used in the action of loading configuration.

 

In the course of running the program, the intermediate files, i.e., epipolar and disparity images are generated. The program will decide whether the intermediate files (epipolar and disparity images) are deleted, according to the value of the corresponding configuration option. For more details about the naming rules of epipolar and disparity images, please refer to user manual of the software.

 

A useful method to decide if arguments, parameters setting and command operations in this step are correct is to check if the objects in the generated epipolar pair are aligned strictly in horizontal direction. Because the epipolar generated for satellite image is quasi-epipolar, sometimes there are vertical parallaxes about one pixel in epipolar pair, which is a normal case. The vertical swipe function in the module of image viewer, imgViewer.exe, provided by MASI software can be used to view horizontal alignment. For more details, please refer to the program usage of imgViewer.exe.

 

Similar operations are carried out for the forward-backward stereo, backward-nadir stereo. Hereto, the step of stereo matching and DSM generation for three stereo pairs are finished, respectively, and the next processing is to mosaic the three DSMs from the three stereo pairs resulting in highly accurate and highly dense DSM.

 

In this sample, SGM algorithm is adopted. If satEpiMatching stereo matching is exploited, the operation and procedure is almost the same.

 

Mosaicking of multiple DSMs. Multiple DSM files generated from multiple stereo pairs are mosaicked to produce a highly accurate and highly dense DSM by using the programs, mpimosaic.exe and mpimosaicForm.exe (DSM Mosaic under DSM menu). The method is more efficient. If there is only one stereo pair, not multiple stereo pairs constructed from multiple views, the DSM generated from the single stereo pair is the needed result and the following mosaicking is not needed.

 

 

By clicking the command item, DSM Mosaic, in the above menu, the GUI program is launched. The graphical interface of the program is as follows:

 


 


 

The work directory is the place where the generated DSM files are stored and is the same as that in the step of automatic stereo matching and DSM generation. In the input files, there are two choices for setting of input Images/DSMs files. One is to select a list file by checking the radio button of “List of Images/DSMs”. The other is to select multiple Images/DSMs files by checking the radio button of “Images/DSMs”. Users can select one from the two choices in the light of their conditions. For more details, please refer to user manual of MASI software. In this sample, three DSMs files generated in the step of automatic stereo matching and DSM generation are selected directly: bavp_navp_dsm.img, favp_bavp_dsm.img, favp_navp_dsm.img.

 

Two mosaic methods are provided, which are indicated as method 0 and method 1. The two methods correspond to the arguments of the command program, i.e., the indicator of methods. When method 0 is selected, no-data can be any value; while method 1 is selected, it can only be either 0.0 or -9999.0. For more details, please refer to user manual of MASI software. In this sample, Method 1 is selected. When multiple DSMs are mosaicked, if Method 1 is used, the contents of the overlaying areas are blended from all participants of the mosaic for the areas. The blending operation occurs in the overlaying areas to increase the accuracy of the final DSM. Meanwhile, no-data value is set as -9999.0, which is the same as that in the step of automatic stereo matching and DSM generation.

 

Serial or parallel processing can be selected. For more details, please refer to user manual of MASI software. The blank area of the right side will display the information printed by the command program.

 

The DSM result obtained in this step is the DSM before interpolation, which needs to pass to the next step (i.e., post processing for DSM) to yield the final highly dense DSM. Before post processing for DSM, if the un-interpolated DSM has big areas of mismatching (e.g., water body, cloud and snow covered area, area with repeated textures) which can be found by the manner of visual checking, the interactive tool for editing DSM/DEM (i.e., collectPolygons.exe) can be used to edit the DSM with big areas of mismatching. For more details, please refer to “Usage of the collectPolygons.exe program”.

 

Step 3: Post processing for DSM

In this step, these areas with no-data value in the above mosaicked DSM are interpolated, and outliers (or small spots of errors) in the resultant DSM after interpolation are removed. The output of this step is the product of dense DSM, which is generated by this software. The DSM product can be used in different applications followed.

 

 

By clicking the command item, Post Processing, in the above menu, the GUI program is launched. The graphical interface of the program is as follows:

 


 


 

In the section of “The DSM source”, the DSM before interpolation from the previous step is selected, and in the section of “The DSM result”, the filename of resultant DSM, which will be the outcome of this step of post processing, is set.

 

After the interface is launched, the default values for these parameters are given. In most cases, the default values can be used. The blank area of the right side will display the information printed by the command program. The meaning of parameters is as follows:

The maximum size of the errors to remove: the size of the area of maximum errors to remove. The number, 5, indicates that outliers up to the size of 5 x 5 can be removed. The parameter is integer.

The threshold of height difference: The point (or small areas) where height difference beyond the surroundings is above the threshold is deemed as outliers. The parameter is float and unit is meter.

The size of big block: the size of big block which is used to divide the image. The DSM is so large that block division is required. The parameter is integer.

The size of overlap between big-blocks: the size of overlap between the adjacent big-blocks. The parameter is integer.

According to the features of the terrain of covered area, a filtering method for post-processing is selected among no filtering (suitable for vegetation area), median filtering (suitable for dense urban area), and mean filtering (suitable for smooth terrain). In this sample, mean filtering is selected.

 

Again, still by the manner of visual checking, if on the interpolated DSM after post processing small areas of errors is still found, the interactive tool for editing DSM/DEM (i.e., collectPolygons.exe) is continually used for editing. After editing, users can determine if post processing for DSM is required again in the light of their needs. For more details, please refer to “Usage of the collectPolygons.exe program”.

 

Step 4: Automatic ortho-rectification

Clicking the icon showing “Ortho” in the main interface,

The following menu will pop up.

By clicking the command item, Satellite Ortho, in the above menu, the GUI program is launched. The graphical interface of the program is as follows:

 



 

The concept of work directory is the same as those in the previous steps. All files required in the step should be put in the work directory. Therefore, the directory, i.e., F:\ZY3_tests, is still set as the work directory in this step. In the course of ortho-rectification, the generated files with .aff extension in the step of orientation (the file name is the same as the file of RPC parameters. The only difference is the file extension which is changed to .aff) are required, which is also in the work directory.

 

Attention: even though the re-generated RPC parameters after adjustment (namely the newly generated RPCs without the accompanied adjustment parameters) are used, the .aff files still need to be provided for the sake of keeping the consistency with other cases. However, the contents of the .aff file are fixed:

1 0 0

0 1 0

It has the same effect as the situation where there are not adjustment parameters. MASI software has a tool to automatically generate the .aff files with above contents.

 

In the input setting, the original image to be ortho-rectified and its corresponding RPC file are selected. In this sample, the nadir image in the three-line-scanner ZY3 images is selected for ortho-rectification.

 

The meaning of each configuration option is as follows:

Form of RPC: the form of RPC parameters. Currently two mainstream types are supported. One is the form exploited by IKONOS (GeoEye) image, usually the RPC filename ends with _rpc.txt, which is selected by setting “General” in this option and the other is the form exploited by Worldview (QuickBird) image, usually the RPC filename ends with .rpb, which is selected by setting “WV” in this option. If for the XML form of RPC parameters adopted by airbus Pleiades 1A/1B, Pleiades NEO, and SPOT 6/7, the function provided in tools in the main interface of the modules can transform the RPC parameters with XML format to the commonly used RPC format (the form exploited by IKONOS and GeoEye). In this sample, the type of “General” is used.

 

Elevation source: it has two choices. One is the average height determined from RPC parameters and the other is external elevation file. In this sample, the DSM generated in the previous step (Step 3) is selected as external elevation file. The underlying reference ellipsoid of elevation file must be the same as that adopted in RPC parameters. It is WGS 84. The projection method of elevation file must be the same as the one set by users for the option, projection of the ortho-rectified image. The boundary of elevation source covers the region of the image. If third party elevation source is used, please make sure the sameness of coordinate system. It can also be the case where no external elevation source is used and the average height determined from RPC parameters is used for common correction, which is suitable for plain area or the case without elevation source. Strict speaking, the common correction is not ortho-rectification.

 

Projection of the ortho-rectified image: currently two types, i.e., UTM and GK (Gauss-Kruger, in some countries it is also called TM), are supported, which are selected by setting UTM and GK, respectively. The underlying reference ellipsoid for the two types of projection must all be WGS 84.

 

Zone size (degree): zone width for projection, it can be 6 or 3 degree. If GK is selected for projection, it can be 6 or 3 degree; while UTM is selected for projection, it can only be 6 degree.

 

Image type: the type of image to be ortho-rectified (optical image or SAR image). If the complex data type of SAR image is the form that SAR image has two bands with signed 16 bit integer for each band (e.g., Radarsat-2 image format), the program will transform the SAR image of the two bands complex to an image with magnitude and phase bands. If the complex SAR image is saved as one band with Complex Int16 data type, the ortho-rectified image is still saved as the form with the same complex data type (Complex Int16 data type) and the program do not transform the image to magnitude and phase images.

 

Number of used threads: setting the number of used threads (CPU cores or the virtual CPU cores by using hyper-threading technology). For the cases where CPU cores are enough, we suggest that number of 4, 6 or 8 is set here.

 

After the above options in the interface are set, users can click “Save configuration” to save these options. These configuration options will be saved in a configuration file, satOrtho.conf, and next time the options can be loaded from the configuration file by clicking “Load configuration”. The configuration file, satOrtho.conf, is also stored in the work directory. If the button of “Execute” is clicked, the configuration file will also be generated in the same way.

 

In the output setting, users should set the filename of resultant ortho-rectified image, and the image resolution (Unit: m) of the ortho-rectified image. The resolution of ortho-rectified image can not be better than the actual GSD (ground spacing distance). The data type of the ortho-rectified images, as well as the number of bands, is the same as that of original images.

 

After finishing the setting of configuration options, input and output setting, users can click the button of “Execute”. The called program, satOrtho.exe, starts to run and the required time to finish the whole procedure is different according to the image size. In the course of computation, the buttons of “Execute” and “Cancel” on the bottom of the form is invalid. The two buttons can not be clicked in case they are clicked many times in the course of running. Users can learn the progress and the running status via the re-directed output printing (sometime printing may delay) on the right side. User can also check the information of resources (CPU, memory and Disks) possessed by the program from Task Manager and Resource Monitor of Windows OS. Once the execution of satOrtho.exe is finished, a message box will pop up showing that the processing is closed successfully or terminated (aborted). After clicking OK button on the message box, the GUI program returns to the available status. Users can either click the button of “Cancel” on the bottom or click the closing icon on the up-right corner of the interface to close this GUI program. Or users can select and set new input and output to fulfill a new task.

 

User can click the button of “Terminate” on the bottom if they need to abort the processing (not the closing of GUI form). The GUI program, satOrthoForm.exe, will kill the process of satOrtho.exe which is being called. Killing the process of satOrtho.exe may delay (less than one second or several seconds). Once the process is killed, a message box will pop up showing that the processing is terminated (aborted) or closed successfully. After clicking OK button on the message box, the GUI program returns to the available status. Users can either click the button of “Cancel” on the bottom or click the closing icon on the up-right corner of the interface to close this GUI program. Or users can select and set new input and output to fulfill a new task.

 

Attention: the button of “Cancel” on the bottom is only for closing the GUI program. If the called logical program (i.e., satOrtho.exe) is running, users should first click the button of “Terminate” to abort the processing task or wait until the processing task is finished, and then close the GUI program. Users can not click the button of “Cancel” or click the closing icon on the up-right corner of the interface to close this GUI program when the called logical program is running.

 

The blank area of the right side will display the information printed by the command program, and the printed information will also be saved in a log file named as satOrtho_ddMMMyyyyHHmmss_log.txt. In the filename, dd are two digital numbers indicating a date, MMM are three English characters indicating an abbreviation of a month, yyyy are four digital numbers indicating a year, and HHmmss are digital numbers indicating hour, minute and second in the form of 24 hours. The log file is also stored in the work directory.

 

All configuration options are saved in the configuration file, satOrtho.conf, through a certain type of form in the course of running of program. The configuration file can be used in the action of loading configuration.

 

Hereto, the ortho-rectification of a single satellite image is finished. In the following, pan-sharpening and mosaicking can be carried out in the light of requirements.

 

Step 5: Pan-sharpening

If panchromatic image and multispectral image are ortho-rectified, respectively, the two images are already overlapped in the same coordinates system (equal to fine registration). Then, pan-sharpening can be conducted, which will result in a higher resolution multispectral image. In some cases, panchromatic image and multispectral image are acquired at the same viewing angle. Users can merge panchromatic image and multispectral image with same viewing angle at the beginning of a procedure. Then, the pan-sharpened image (whose orientation parameters are the same as those of the panchromatic image) can be used in the steps of ortho-rectification and 3D reconstruction. Thus, orientation and ortho-rectification of the multispectral image can be avoided. Clicking the icon showing “Pan Sharpening” in the main interface,

The launched operating interface is as follows:

 

Attention: the datasets in this step are different with those in the previous four steps. The purpose of this step is to demonstrate how to operate.

 

After selecting the files of panchromatic image and multispectral image and setting the filename of sharpened image, users can select serial or parallel processing for the pan-sharpening computation. If parallel processing is selected, number of processors (the used number of CPU cores) should be inputted as well as the current user name using the Windows OS and password of the user. The user name and password used in the parallel processing are saved in the file named as pwd.txt (If parallel processing is not used, there is not such file). The file, pwd.txt, is stored in the user’s document (i.e., Users\User name\Documents). The file can be used to load user name and the password used in parallel processing. Next time users can load the information by clicking the button of “Load”, and do not need input the information again.

 

There are two points for selecting the number of processors. One is that the number can not exceed the number of CPU cores. The other is that requirements of disk reading and writing brought by multiprocessor processing can not exceed the disk capability in the machine. User can get the information of busy intensity of disk reading and writing from Resource Monitor of Windows OS. If the CPU core is enough, 6-8 processors is more appropriate for ordinary hard disk, while 10 - 12 processors is a good choice for a SSD disk or a RAID volume consisting of 5 or more hard disks.

 

The blank area of the right side will display the information printed by the command program.

 

 


 

 

 


Step 6: Comparing surface height and change finding

By comparing DSMs of two different phases, the program can automatically find change of the surface height and calculate the value of changed height. Clicking the icon showing “Surface Change” in the main interface,

The operating interface of change of surface height is launched.

 

Attention: the datasets in the interface may probably be not the results from satellite images. The purpose of this step is to demonstrate how to operate.

 

 

The corresponding DSM files are selected in the sections of the previous DSM and the next DSM, respectively. After processing, the file of height difference is obtained. Users can set two parameters, the height threshold and no-data value.

 

The height threshold: If the height difference is less than the threshold, the difference is not interesting and it will be assigned as no-data value in the resultant file. For the case where the height difference is more than the threshold, the real difference will saved in the resultant file.

 

No-data: no-data is the value used to fill in the area without change of surface height (or invalid area) in the resultant file. No-data can be determined either from input DSM or from the right side list box.

 

Step 7: Automatic DSM2DTM

Clicking the icon showing “DSM to DTM” in the main interface,

The operating interface of automatic DSM2DTM is launched.

 

Attention: the datasets in the interface may probably be not the results from satellite images. The purpose of this step is to demonstrate how to operate.

 

 

The program adopts an algorithm with multilevel triangle-based ground filtering. It deletes the non-grounded objects like buildings, trees in DSM and transforms the DSM to DTM where the pure ground height is saved. The input file is DSM source and the output file is resultant DTM.

 

The meaning of parameters is as follows:

The predefined size: the defined size in which the lowest point is selected as a ground point; unit: the same as the grid spacing (cell size), e.g., 40.0. It means that the lowest point in a grid, whose sizes of width and height are both 40 meters (assuming the unit of grid spacing is meter), is taken as a ground point. The higher is the predefined size, the more levels in the pyramids are generated. Level number of pyramids decrease, then the built triangles is to be dense. This parameter is usually decided by the size of the biggest non-ground object in the terrain area. If the predefined size is less than the size of non-ground object, these objects will not be filtered out. On the contrary, if the predefined size is too large to maintain some terrain details. Thus, users need find a balance between filtering out big non-ground objects and maintaining the terrain details in the light of the requirements of applications.

 

Level, to which level the DSM is filtered. The higher is the level set, the less ground points are generated, the less terrain details remain, and the more efficient is the processing. The lower is the level set, the more ground points are generated, the more terrain details remain, and the less efficient is the processing. Usually the triangulation of mass points and searching a specific triangle in a huge triangulation is inefficient. The level set can not be higher than (the highest level - 1), level is 0-based, e.g., 3.

 

The threshold of distance: the threshold of distance from a point to the corresponding triangle. In the course of filtering, a point whose distance to its corresponding triangle is more than the threshold is deemed as a non-ground point, vice versa, e.g., 1.0 meter. If the value of threshold is low, there are less ground points which will survive in the filtering processing and there are also some risks that the true ground point may be filtered out by taking them as non-ground points.

 

The size of block: for processing large raster, block division is needed. Filtering is fulfilled, block by block, and its size must bigger than two times of overlapping size, e.g., 6144. Usually the default value is used. The reason that block division is used is that a large DSM will result in huge ground points which require huge computation for the filtering processing. The block division is a way which promotes computational efficiency and saves memory consumption.

 

The size of overlap between blocks: the size of overlap between the adjacent blocks, e.g. 128. The overlay ensures the rightness of border of each block. Usually the default value is used.

 

No-data: no-data is the value used to fill in the area without height value. Because each grid in raster file must be assigned a value, for some cases where there are no real height values in some areas, the concept of no-data is introduced. No-data can be determined either from input DSM or from the right side list box in this interface.

 

If there are some non-ground objects which are not filtered out, such as buildings and vegetation areas, or small areas of errors in the resultant DTM in this step, the interactive tool for editing DSM/DEM (i.e., collectPolygons.exe) can be used for editing. For more details, please refer to “Usage of the collectPolygons.exe program”.

 

Step 8: Height estimation of building / tree

Clicking the icon showing “Building height” in the main interface,

The operating interface of height estimation of building / tree is launched.

 

Attention: the datasets in the interface may probably be not the results from satellite images. The purpose of this step is to demonstrate how to operate.

 

 

The corresponding files are selected in the sections of the ground height (DTM) and the surface height (DSM), respectively. After processing, the file of building / tree height is obtained. Users can set two parameters, the height threshold and no-data value.

 

The height threshold: the height being less than the threshold is the value which is not interesting or the possible existing errors. The value will be replaced by no-data in the file of building / tree height. The height being more than the threshold is an interesting and reliable value, which as a true value will be saved in the file of building / tree height.

 

No-data: no-data is the value used to fill in the area without building / tree (or invalid area) in the resultant file. No-data can be determined either from input DSM or from the right side list box.

 

Step 9: Applications

Clicking the icon showing “App” in the main interface,

The following menu will pop up.

Currently two applications modules are included, i.e., volume calculation and automatic extraction of building attributes in the light of buildings footprints.

 

Volume calculation: a polygon in the vector form in which volume is calculated and highly dense DSM are given, the module estimates the volume of objects (e.g., sands, small stones, coal, mineral particles and garbage) occupying the area. For more details, please refer to “Usage of the calVolume.exe and calVolumeForm.exe programs”. Users can click the command item, Polygons Drawing Tool, in above menu to launch the interactive tool, collectPolygons.exe, to collect the polygon and save it.

 

Automatic extraction of building attributes: a vector file with ERSI shape format, which including multiple polygons of building footprint, and the corresponding nDSM dataset are given, the module automatically extracts the center position (x, y coordinates) of building, area of ground, height of building, number of layers, and construction area of building for each building. Moreover, these extracted values are set as new attributes for these polygons. nDSM can either be obtained by subtracting DTM from DSM in the module of buildingHeightForm.exe, or be obtained by calculating difference between two DSMs in the module of surfaceChangeForm.exe. The former can be used to extract building height from the bottom to top, number of layers, etc., while the latter can be used to automatically find new, illegal, added, demolished, or height-exceeded buildings and extract their attributes, such as position, height, layers, ground area, and construction area of these found buildings. For more details, please refer to “Usage of the extBldgAttributes.exe and extBldgAttributesForm.exe programs”. Users can click the command item, Polygons Drawing Tool, in above menu to launch the interactive tool, collectPolygons.exe, to collect polygons on nDSM and save them to a vector file. Polygons of building footprint in vector file can also be from third party source. For both cases, it is required that building footprints are accurately aligned with the actual boundaries of buildings. And, the vector file including polygons and the nDSM file should be geo-coded and the underlying coordinate system is the same.

 

Step 10: 3D modeling with true color textures

Clicking the icon showing “Textured 3D Model” in the main interface,

The following menu will pop up.

 

By clicking the command item, textured 3D modeling, the GUI program is launched. All files required in the course of generation of 3D models should be put in the same directory and the directory is set as work directory. The required files are DSM file, images files used for texture mapping, their corresponding RPC files, and the generated files with .aff extension in the step of orientation (the file name is the same as the file of RPC parameters. The only difference is the file extension which is changed to .aff). Users should copy all these files to a directory in advance and set it as work directory.

 

The data type of the images which are used for texture mapping is unsigned 8 bit integer. If it is not, user should stretch the images to unsigned 8 bit using the autoStretch.exe program provided by MASI software (the command item, automatically stretch image to 8 bit, in the above menu to call the function).

 

In this sample, the data type of the images is unsigned 16 bit. Thus, the images should be stretched to unsigned 8 bit. The graphical interface of stretching and the graphical interface of 3D modeling are as follows:

 


 

 


 

In the input files, users should select the DSM file (which should has projected coordinate system) and satellite images (or a list file which includes filenames of these satellite images) used for texture mapping. Then, users can set configuration options and other setting. For the meaning of configuration options and operating method, please refer to “Usage of the scene3D.exe and scene3DForm.exe programs”.

 

Hereto, the whole flowchart for satellite images is finished, including orientation, automatic stereo matching and generation of highly dense DSM, automatic ortho-rectification, pan-sharpening, automatic finding change of surface height, automatically transforming DSM to DTM, height estimation of building / tree, volume calculation, extraction of building attributes, etc. If the functions, such as generation of boundary polygon for satellite images, image displaying, interactive editing of DSM/DEM, collecting polygons, automatic mosaic (mosaic of DSMs, mosaic of ortho-rectified images, mosaic of histogram matched images), transforming RPC parameters with XML format used in airbus Pleiades, Pleiades NEO, SPOT 6/7 to the commonly used RPC format (the form exploited by IKONOS and GeoEye), transforming RGB image to grey image, rotation of image, reflection of image, transforming point clouds to surface in the form of raster, transforming DSM with raster form to point clouds, image cropping, creating overviews for image, transforming between orthometric height and ellipsoidal height, projection / re-projection for image based on WGS 84, generation of .aff files in batch, and uncompressing image file with JPEG2000 format, are needed, please refer to user manual of the software.