#ifndef PM_WARP_MAP_H
#define PM_WARP_MAP_H

// a single pswarpMap converts coordinates from one image to a second image
// the linear model is only valid over a limited range of pixels
typedef struct
{
    double Xo, Xx, Xy;
    double Yo, Yx, Yy;
    int xo;
    int yo;
}
pswarpMap;

// the pswarpMapGrid carries a collection of pswarpMag structures representing the
// local value of the pswarpMap at different locations in the image.
typedef struct
{
    pswarpMap ***maps;
    int nXpts, nYpts;                   // number of x,y samples in the grid
    int nXpix, nYpix;                   // x,y spacing in src image pixels of grid samples
    int xMin,  yMin;                    // coordinate of first grid sample
}
pswarpMapGrid;
