FVDIF

Vertical differentiation filter


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

Back to top

Description


FVDIF computes the Nth order vertical differentiation of a potential field. The function applies the filter in frequency domain after transforming the image using 2D FFT.
Back to top

Parameters


fvdif(fili, filo, dbic, dboc, dbiw, dbow, nth, filb)

Name Type Caption Length Value range
FILI * str Input file name 1 -    
FILO * str Output file name 1 -    
DBIC * List[int] Input raster channel 1 - 1  
DBOC * List[int] Output raster channel 1 - 1  
DBIW List[int] Input window 0 - 4  
DBOW List[int] Output window 0 - 4  
NTH List[int] Order of vertical differentiation 0 - 1 1 | 2 | 3 | 4 | 5
Default: 1
FILB str Name of buffer file 0 -    

* Required parameter
Back to top

Parameter descriptions

FILI

Specifies the name of the PCIDSK file containing image data to be read.

FILO

Specifies the name of the PCIDSK file to receive the transformed data.

FILO can be the same as FILI. FILO must exist before running FVDIF.

DBIC

Specifies the input channel to be read from the input file.

DBOC

Specifies the output channel to receive the transformed data.

DBIW

Specifies the raster window (Xoffset, Yoffset, Xsize, Ysize) that is read from the input layers. If DBIW is not specified, the entire layer is used by default.

The four values define the X,Y offsets and X,Y dimensions of a rectangular window identifying the area to process. Xoffset, Yoffset define the upper-left starting pixel coordinates of the window. Xsize is the number of pixels that define the window width. Ysize is the number of pixels that define the window height.

Note: For maximum efficiency, x-size and y-size values must be in power of 2.

DBOW

Specifies the raster window (Xoffset, Yoffset, Xsize, Ysize) to be output. If DBOW is not specified, the entire layer is used by default.

Xoffset, Yoffset define the upper-left starting pixel coordinates of the window. Xsize is the number of pixels that define the window width. Ysize is the number of lines that define the window height.

The output window must be the same size as the input window; that is, Xsize and Ysize in DBIW and DBOW must identical.

Note: For maximum efficiency, x-size and y-size values must be in power of 2.

NTH

Specifies the order of vertical differentiation. Supported values are 1 through 5; the default value is 1.

FILB

Optionally specifies the file name for a temporary buffer file.

If necessary (for large images), a buffer file is automatically created and its name is recorded in FILB by FVDIF.

Users do not typically need to set or change this parameter.

Back to top

Details

FVDIF computes the Nth order vertical differentiation of a potential field. The filter is applied in frequency domain after transforming the image using 2D FFT.

FVDIF does not require the entire image to be loaded into memory. There is, therefore, no limit on the size of input image. If necessary, a disk buffer file is used. FVDIF automatically creates a buffer file if there is no suitable one given by FILB. The file name is recorded in FILB for efficiently reusing the buffer in another run.

For maximum efficiency, x-size and y-size values must be in power of 2.

Back to top

Example

Run a 1st order Vertical Differentiation Filter (NTH) on entire channel 1 of 'irvine.pix' and output the results to channel 8 of 'irvine.pix'.

from pci.fvdif import fvdif

fili	=	'irvine.pix'
filo	=	'irvine.pix'
dbic	=	[1]
dboc	=	[8]
dbiw	=	[]
dbow	=	[]
nth		=	[1]			# 1st order of vertical diff
filb	=	''			# default, no buffer file

fvdif ( fili, filo, dbic, dboc, dbiw, dbow, nth, filb )
Back to top

Algorithm

The input image is first transformed to frequency domain using 2D FFT. The dimensions of the transformed image are power of 2 and are at least as large as the input image dimensions. After multiplying with the filter, the frequency image is transformed back to the spatial domain and truncated to the input image size.

The Nth order vertical differentiation filter has the form:

(-2 PI sqrt(u*u + v*v)) ^ N

where u, v are the frequency components. The resolutions of u, v are given as:

Delta_u = 1/(SizeU * Delta_x)
Delta_v = 1/(SizeV * Delta_y)

where SizeU, SizeV are the sizes of the transform image. Delta_x and Delta_y are the pixel size in meters.

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