bilinear interpolation working.  pixels are squares, not points - seems like it could be more elegant.