Examples

The following example reads some data from a file, displays it at its original size, then uses CONGRID to resize the array and display the magnified version.

  ; Select the file.
  file = FILEPATH('convec.dat', SUBDIRECTORY = ['examples', 'data'])
  ; Use READ_BINARY to read in the data,
  ; specifying known data dimensions.
  image = READ_BINARY(file, DATA_DIMS = [248, 248])
  ; Use the IMAGE function to display the original image with a color table.
  im = IMAGE(image, RGB_TABLE = 28)
  ; Use the CONGRID function to increase the image array
  ; size to 600 by 600 pixels and force bilinear interpolation.
  magnifiedIm = CONGRID(image, 600, 600, /INTERP)
  ; Display the magnified image in a new window
  ; with a color table.
  im2 = IMAGE(magnifiedIm, RGB_TABLE = 28)

Syntax

Result = CONGRID( Array , X , Y , Z [, / CENTER ] [, CUBIC = value {-1 to 0}] [, / INTERP ] [, / MINUS_ONE ] )

Return Value

Returns the resized array. The returned array has the same number of dimensions as the original array and is of the same data type.

Arguments

Array

A 1-, 2-, or 3-dimensional array to resize. Array can be any type except string or structure.

The new X-dimension of the resized array. X must be an integer or a long integer, and must be greater than or equal to 2.

The new Y-dimension of the resized array. If the original array has only 1 dimension, Y is ignored. If the original array has 2 or 3 dimensions Y MUST be present.

The new Z-dimension of the resized array. If the original array has only 1 or 2 dimensions, Z is ignored. If the original array has 3 dimensions then Z MUST be present.

Keywords

CENTER

Set this keyword to shift the interpolation so that points in the input and output arrays are assumed to lie at the midpoint of their coordinates rather than at their lower-left corner.

CUBIC

Set this keyword to a value between -1 and 0 to use the cubic convolution interpolation method with the specified value as the interpolation parameter. Setting this keyword equal to a value greater than zero specifies a value of -1 for the interpolation parameter. Park and Schowengerdt (see reference below) suggest that a value of -0.5 significantly improves the reconstruction properties of this algorithm. This keyword has no effect when used with 3-dimensional arrays.

Cubic convolution is an interpolation method that closely approximates the theoretically optimum sinc interpolation function using cubic polynomials. According to sampling theory, details of which are beyond the scope of this document, if the original signal, f , is a band-limited signal, with no frequency component larger than ω 0 , and f is sampled with spacing less than or equal to 1/(2ω 0 ), then f can be reconstructed by convolving with a sinc function: sinc( x ) = sin(π x ) / (π x ).

In the one-dimensional case, four neighboring points are used, while in the two-dimensional case 16 points are used. Note that cubic convolution interpolation is significantly slower than bilinear interpolation.

For further details see:

Rifman, S.S. and McKinnon, D.M., “Evaluation of Digital Correction Techniques for ERTS Images; Final Report”, Report 20634-6003-TU-00, TRW Systems, Redondo Beach, CA, July 1974.

S. Park and R. Schowengerdt, 1983 “Image Reconstruction by Parametric Cubic Convolution”, Computer Vision, Graphics & Image Processing 23, 256.

INTERP

Set this keyword to force CONGRID to use linear interpolation when resizing a 1- or 2-dimensional array. CONGRID automatically uses linear interpolation if the input array is 3-dimensional. When the input array is 1- or 2-dimensional, the default is to employ nearest-neighbor sampling.

MINUS_ONE

Set this keyword to prevent CONGRID from extrapolating one row or column beyond the bounds of the input array. For example, if the input array has the dimensions ( i, j ) and the output array has the dimensions ( x, y ), then by default the array is resampled by a factor of ( i/x ) in the X direction and ( j/y ) in the Y direction. If MINUS_ONE is set, the array will be resampled by the factors ( i -1)/( x -1) and ( j -1)/( y -1).

ExamplesThe following example reads some data from a file, displays it at its original size, then uses CONGRID to resize the array and display the magnified version. ; Select the file. fil
基于java开发的婴儿看护系统,实时助力婴儿的看护,让父母更加放心+源码,,适合毕业设计、课程设计、项目开发。项目源码已经过严格测试,可以放心参考并在此基础上延申使用~ 基于java开发的婴儿看护系统,实时助力婴儿的看护,让父母更加放心+源码,,适合毕业设计、课程设计、项目开发。项目源码已经过严格测试,可以放心参考并在此基础上延申使用~ 基于java开发的婴儿看护系统,实时助力婴儿的看护,让父母更加放心+源码,,适合毕业设计、课程设计、项目开发。项目源码已经过严格测试,可以放心参考并在此基础上延申使用~ 基于java开发的婴儿看护系统,实时助力婴儿的看护,让父母更加放心+源码,,适合毕业设计、课程设计、项目开发。项目源码已经过严格测试,可以放心参考并在此基础上延申使用~