Best approach for 2D scattered interpolation


I have a (I’d imagine) fairly common scenario. I have a set of data points with positions scattered in the x,y domain, with values (intensities) Z, and I want to interpolate to find the Z values on a regular x,y grid in the same area as the known values. The densities of the positions on the grid and the positions of the known points are within the same order of magnitude.

In MATLAB I’d use TriScatteredInterp (now scatteredInterpolant, I think) to do this. Do I have to figure out how to code up a Delaunay triangulation or Shepard’s Method or something in parallel, or is there a one-shot solution built into either OpenCL or OpenGL to solve this type of interpolation problem?

I’m a total OpenCL newbie. I’ve been trying to figure this out in CUDA–something to do with tex2D, but now I’ve realized I need to have the flexibility to not be just limited to CUDA cards.