FBMTIE

Perform feature-based matching to collect tie points


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

Back to top

Description


FBMTIE performs feature-based matching to collect tie points (TP). The features are read from feature database (FDB) files created by the FBMEXTRACT algorithm.
Back to top

Parameters


fbmtie(oeproji, fdbdir, filo, imgset, olevel, reject, minpts, loclmask, pairgen, pairsel, mtchconn, searchar)

Name Type Caption Length Value range
OEPROJI * str Input OE project 1 -    
FDBDIR str Folder of extracted feature database files 0 -    
FILO * str Output file of collected TPs 1 -    
IMGSET str Set of working images 0 -    
OLEVEL List[int] Downsample level to use 0 - 1 Default: 1
REJECT List[float] RANSAC rejection threshold 0 - 2 Default: 50.0
MINPTS List[int] Minimum number of matched points 0 - 1 0 -
Default: 10
LOCLMASK str Local exclusion mask 0 -    
PAIRGEN str Pair-generation method 0 -   ALL | SEQUENTIAL
Default: ALL
PAIRSEL str Pair-selection method 0 -   MODEL | ALL | LOWRES
Default: MODEL
MTCHCONN str Match connected pairs 0 -   YES | NO
Default: YES
SEARCHAR str Search area 0 -   ALL | OVERLAP
Default: ALL

* Required parameter
Back to top

Parameter descriptions

OEPROJI

The OrthoEngine project file from which to collect TPs.

FDBDIR

The path and file name of the folder containing one or more extracted feature database (FDB) files.

If you do not specify a value, the program scans the source-image folder for FDB files.

FILO

The path and file name of the text file to which to write the collected TPs.

The file can be used as input with the FBMIMPORT algorithm to import the points to an OrthoEngine project file.

IMGSET

The processing method to use to process the image pairs.

The available options are as follows:

OLEVEL

The level of downsample to use.

The level must exist in the FDB file of each image.

REJECT

The rejection threshold based on random sample consensus (RANSAC), in pixels, for blunder elimination.

MINPTS

The minimum number of matched points required to consider a set of TPs between two images as acceptable.

If after RANSAC fewer points remain than the number you specify, the images are considered non-overlapping and all TPs are discarded.

LOCLMASK

Whether to apply a local mask to define the area over which valid features are found.

The mask must be defined such that it will exclude any inscribed text, markings, or both in the imagery.

For example, with airphoto imagery, "FID:MARGIN=500" bases the margin on the fiducials plus a 500-pixel margin. "EDGE:MARGIN=500" is based on the image edge plus a 500-pixel margin.

Note: BIT and VEC masks can be applied by running the FBMEXTRACT algorithm; that is, the mask types are not supported in FBMTIE.

PAIRGEN

The method to use to generate image pairs.

You can specify the value by using one of the following:

PAIRSEL

The method to use to select image pairs.

You can specify the value by using one of the following:

MTCHCONN

Whether pairs of images that are already connected by tie points are matched.

Matching connected pairs can be useful after running sequential pair-generation (and matching); that is, sequential matching followed by exterior-orientation approximation of each connected set of photos can generate a basic exterior orientation (EO) and model. The basic EO and model can then be used to collect TPs across flightlines.

To match only unconnected photos, specify NO.

Additional uses of this parameter include trying to collect TPs in pairs that were unmatched previously by using other methods.

SEARCHAR

The area to search for point matching.

You can specify the value by using one of the following:

If the models are not very accurate, or the downsample level is coarse, ALL may produce better results. Points matched erroneously in non-overlapping areas will be eliminated using RANSAC (per the REJECT parameter).

Back to top

Return Value

Returns: Program execution status

Type:  PCI_INT

The return value is the number of TPs collected.

This function returns only if it executes successfully; otherwise, it throws an exception.

Back to top

Details

FBMTIE collects tie points (TP) by using feature-based matching. The key points (image locations) and descriptors are read from the FDB files generated by running the FBMEXTRACT algorithm.

Each key-point location is characterized by a feature descriptor, which is used to match corresponding points across images.

FBMTIE is useful for matching images when the initial models and exterior orientation (EO) are of poor quality, because the matching does not require any information about the orientation of the images.

When you run FBMTIE, a text file containing the collected TPs is created. You then use the file as input with the FBMIMPORT algorithm to merge the points into multi-ray TPs and import them to an OrthoEngine project file.

Back to top

Example

In the following example, TPs are collected from the input project file by using the features extracted at full resolution. All possible pairs between images are generated, but only overlapping pairs are matched, as determined by the existing models in the project.

from pci.fbmtie import fbmtie    

oeproji = u"airphoto.prj"  # Input OrthoEngine project file
fdbdir = u""               # Reads the FDB file from the same folder as each image
filo = u"airphoto_tps.txt" # Write the TPs to text file
imgset = u""               # Default: Process all photos in one subset
olevel = [1]               # Use features extracted at full resolution
reject = [50.0]            # Use a 50-pixel rejection threshold for blunders
minpts = [10]              # 10 points must remain after rejection for each pair of images matched; otherwise, all TPs between the pair are discarded
loclmask = u""             # No masking or margins
pairgen = u"ALL"           # Generate all possible pairs for matching
pairsel = u"MODEL"         # Use model to determine which pairs overlap, restrict matching to only those pairs
mtchconn = u"NO"           # Do not match pairs that already have TPs
searchar = u"ALL"          # For each pair, match all key points in the images

fbmtie(oeproji, fdbdir, filo, imgset, olevel, reject, minpts, loclmask, pairgen, pairsel, mtchconn, searchar)

    

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