All warping is assumed to occur only in the WxH plane. If warping in a different plane is desired, it is necessary to use the kaxis program to reorient the data such that the desired plane is the WxH plane before applying igeowarp. This limitation is due to computational complexity and performance issues, particularly when dealing with large data sets.
The mapping functions used by igeowarp are:
Note that in general, w' and h' are not integers for a given integer pair w and h. The data value at g(w',h') is obtained by bilinear interpolation of the four nearest neighbors to coordinate (w',h').f(w,h) = output image
g(w',h') = input image coordinate
w' = a00 + a01*w + a10*h +a11*w*h h' = b00 + b01*w + b10*h +b11*w*h
The mapping is called direct because it directly gives the location in the input data that corresponds to a given location in the output data. The opposite case gives the location in the output data that corresponds to a given input data location; this requires much trickier and computationally expensive interpolation methods to obtain good results.
The input parameters a00, a01, a10, a11, b00, b01, b10, b11 are exactly as specified in the mapping functions above. These parameters can also be supplied in the form of object value data where the data is assumed to be organized with the parameters a00, a01, a10, and a11 present in that storage order for the W coefficients and likewise for the H coefficients.
If the input object has a mask, a new mask will be computed for the output object indicating which data points contain reliable data.
If the input object has a map, the data is pulled through the map prior to rotation, and the output object will have no map.
The -planes flag is used to change the way the data is accessed for processing. If the data set is small enough that individual planes of data (including the E data) parallel to the WxH plane will fit in memory, then use of the -planes flag will permit processing to happen in a plane-by-plane basis; this can occur with efficiency and speed. Otherwise, processing will occur in prisms down the D axis, which is much slower but will work on data sets of any size. If you have lots of memory, you may be able to get away with using -planes even for quite large data sets, say around 2Kx2K or more points per plane.
Mutually Exclusive Group; you must specify ONE of:
OR
ALL OF the Mutually Inclusive Group:
AND
AND
AND
Mutually Exclusive Group; you must specify ONE of:
OR
ALL OF the Mutually Inclusive Group:
AND
AND
AND
For this initial release, the E dimension data is not handled correctly. Data in WxHxD is handled correctly. This deficiency will be corrected in the next version of igeowarp.