MQSINT

Multi-quadic interpolation


EnvironmentsPYTHON :: EASI :: MODELER
Quick linksDescription :: Parameters :: Parameter descriptions :: Details :: Example :: Algorithm :: References :: Related

Back to top

Description


Generates a raster image by interpolating image values between specified pixel locations using a Radial Basis Interpolation Algorithm. This module implements the multi-quadric scheme.
Back to top

Parameters


mqsint(filv, filo, dbvs, dboc, fldnme, pixres, flatnes)

Name Type Caption Length Value range
FILV * str Input vector file name 1 -    
FILO * str Output file name 1 -    
DBVS * List[int] Input vector segment 1 - 1  
DBOC List[int] Output raster channel 0 - 1  
FLDNME str Field name to use for elevation 0 - 64 Default: ATTRIBUTE
PIXRES List[float] Output pixel resolution (m) 0 - 2  
FLATNES List[float] Flatness model value 0 - 1 0.0 - 1.0
Default: 0.5

* Required parameter
Back to top

Parameter descriptions

FILV

Specifies the name of the file containing the vector segments to be rasterized into the output channel.

FILO

Specifies the name of the output file to receive the output interpolated image.

If the specified file does not exist, a new PCIDSK file is created. By default, the georeferencing information from the input file is copied to the new output file. If a specified pixel X,Y resolution is given and is different from FILV, the extents of FILO will be different.

DBVS

Specifies the vector segment from which the attribute values or the z coordinate will be used as the basis for interpolation.

DBOC

Specifies the image channel to receive the interpolated result. The output channel must be 32-bit real.

FLDNME

Specifies the field name that contains the elevation values.

If this parameter is specified as ZCOORD, the actual z-coordinates of the vectors are used. Field names are not case-sensitive, and they do not need to be specified in complete form. If more than one match exists, the first name is used.

Supported values are:

The Field Name (FLDNME) parameter is required only for vector layers that contain 3-D points or contours. For 3-D lines and 3-D polygons, the z-coordinates are automatically used. For 2-D layers, the elevation values are not specified.

The same name applies to all contour and 3-D point segments specified in the input vectors (DBVS) parameter. The segments that do not satisfy this requirement can be converted to the required format using ZVALTRNS.

If a field name other than ZCOORD is specified but is not found, this function attempts to use the z-coordinates of each vertex or point; this may, however, lead to unexpected results.

PIXRES

Specifies, in meters, the pixel resolution (X,Y) for the output raster channel.

If this parameter is not specified, the projection information is taken from the georeferencing segment of the input file. The pixel resolution (size) is used to determine the number of pixels and lines in the output file. Decreasing the pixel size results in a larger output file and increased computation time.

This parameter applies only when a new output file (FILO) is being created.

FLATNES

Specifies the model parameter. This parameter takes any real value between 0.0 and 1.0.

Back to top

Details

MQSINT is used to read the gray-level values for an arbitrary number of pixel locations to generate a raster image based on the multi-quadric method of interpolation between the specified gray levels.

The gray-level values are read from a vector segment in the specified input file.

The multi-quadric method of interpolation is computationally expensive. The coefficients must be calculated by solving a system of equations. The number of equations is proportional to the size of the data set. After the coefficients are calculated, the interpolation is calculated. The complexity of this calculation is based on the number of data points related to each point to be interpolated. For example, for N data points on an MxM grid, approximately NxMxM calculations are required to calculate the interpolation.

Back to top

Example

Create an interpolated output channel using MQSINT.

from pci.mqsint import mqsint

filv	=	'irvine.pix'
filo	=	'irvine.pix'
dbvs	=	[25]	# input vector segment
dboc	=	[13]	# output channel (32R)
fldnme	=	''	# default, ATTRIBUTE
pixres	=	[]	# defaulted, taken from filv
flatnes	=	[0.5]	# flatness model

mqsint( filv, filo, dbvs, dboc, fldnme, pixres, flatnes )
        
Back to top

Algorithm

MQSINT implements the Multi-Quadric radial basis function interpolation scheme. This interpolation scheme is defined by mathematical series (sum of terms).

(i) Interpolation Algorithm

                  N

      f(x, y) =  SUM  a sqrt[sqr(distance((x , y ), (x, y)) + sqr(r)]
                       j                    j   j
                j = 1
Where:

MQSINT determines the set of coefficients for the interpolator by solving a system of linear equations defined at a set of control points. The result is then substituted back into the interpolator and interpolation is computed at any point by summing the series. Further mathematical justifications on how these interpolators are derived and why they work can be found in papers cited in References.

Back to top

References

R.L. Hardy, "Theory and applications of the multiquadric-biharmonic method" Computers Math. Appl. , Vol. 19, No 8/9 (1990), pp 163-208.

I Barrodale, D Skea, M Berkley, R Kuwahara, R. Poeckert, "Warping Digital Images Using Thin Plate Splines", Vol. 26, No. 2 (1993), pp. 375-376.

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