ADSMODEL

Generate ADS math model


EnvironmentsPYTHON :: EASI
Quick linksDescription :: Parameters :: Parameter descriptions :: Return Value :: Details :: Example :: Related

Back to top

Description


ADSMODEL performs a bundle adjustment on imagery acquired with an airborne digital sensor (ADS) that has ground control points (GCP) and tie points (TP) in a corresponding CATALYST Professional OrthoEngine project.
Back to top

Parameters


adsmodel(oeproj, tfile, adjparam, outdir)

Name Type Caption Length Value range
OEPROJ * str Input file name 1 -    
TFILE str Output text file 0 -    
ADJPARAM List[int] Bundle-adjustment parameters 0 - 1 12 -
Default: 20
OUTDIR str Output folder 0 -    

* Required parameter
Back to top

Parameter descriptions

OEPROJ

The path and file name of the input OrthoEngine project file.

The file must exist, and must list the paths of the files that contain the ADS images.

The project file can contain GCPs and TPs to use for the bundle adjustment. If the file contains neither GCPs nor TPs, bundle adjustment does not occur, and the ADS geometry and initial position and orientation values remain.

If the project file has ADS imagery stored in PCIDSK (.pix) files, a new math-model segment is written to each file. Alternatively, if the ADS imagery is still stored in the native format (.sup), ADSMODEL will create one PCIDSK file for each image in the project that will be a link to the native .sup data in the same folder as the native data. The new math model is then written to the linked PCIDSK files.

TFILE

The path and file name of the output text file. When you specify a value for this parameter, a file is created with the specified path and file name. The file contains a line of information for each input image.

Each line in the file contains the path and file name of an image file affected by the adjustment. It also contains the number of the math-model segment in that file that contains adjusted or initial position and orientation values. A blank field exists between these two values so that the file can be read by ORTHO.

The following example shows a line from an output file, indicating that math-model segment 3 in C:\pci\L00954PANB14A.pix has the adjusted position and orientation values.

C:\pci\L00954PANB14A.pix; ; 3

The file names written to the output file are read from the input file. If the input file does not contain the full absolute path for an image file, the prefix for the file name in the output file will include the absolute path for the active working folder.

This parameter is optional.

ADJPARAM

The bundle-adjustment parameters; specifically, the number of GCPs and TPs to discretize the time range from the start of image acquisition to the end. In each discretized block, the minimum number of points should be reached to achieve the best result. If there are insufficient GCPs and TPs, bundle adjustment will occur on the entire on the entire image strip.

If no value is specified for this parameter, the default number of points is used.

This parameter is optional.

OUTDIR

The path of a folder to which to write the output files with math-model segments. If the folder does not exist, or if the path specifies a file, processing stops, and an error message is displayed.

If there is an existing output file in the folder, it is overwritten with the new information.

By default, the output files are created in the same folder as the input files.

Back to top

Return Value

Returns: program execution status

Type:  PCI_INT

The return value is 0. This function returns a result only if it runs successfully; otherwise, processing stops, and an error message is displayed.

Back to top

Details

An ADS sensor is a multiline, along-track scanner (also known as a push-broom scanner). Each individual scan line has its own exterior orientation (EO), which is provided by the Global Navigation Satellite System (GNSS), an inertial measurement unit (IMU), or both. The sensor scans continuously while the aircraft moves along the flight track.

Because of how an ADS scanner captures imagery, a unique bundle-adjustment process is required to compensate for the difference in image geometry (in comparison to a typical digital or frame camera) to create the math model. ADSMODEL creates the math model based on orientation fixes. However, to create the math model, the EO must first be refined. It is this refinement that the bundle-adjustment process performs.

ADSMODEL calculates the corrections to the prelimilary math model for images in an OrthoEngine project file. The GCPs and TPs are read from the project file, and the math models are refined to conform to the ground-truth observations of those points.

The output ADSMODEL produces is updated ADS math-model segments. The segments are stored directly in the PCIDSK files of the project when they are the source of the ADS imagery. If the input project file references the native ADS format, the new math-model segments are stored in linked PCIDSK files that are created next to the native ADS data.

Note: If the specified OrthoEngine project includes any inactive images, they are excluded from processing.
Back to top

Example

In this example an OrthoEngine project file romanshorn_10cm.prj is processed.

from pci.adsmodel import adsmodel

oeproj = r"romanshorn_10cm.prj"
tfile = ""
adjparam = [20]

adsmodel(oeproj, tfile, adjparam)
        

© PCI Geomatics Enterprises, Inc.®, 2026. All rights reserved.