polyharmonic_spline Subroutine

subroutine polyharmonic_spline(grid_coarse, pperp_coarse, ppar_coarse, n_coarse, pperp, ppar, nperp, npar, smoothing, grid_fine)

This soubroutine interpolates the grid with a polyharmonic thin-plate spline. This subroutine needs the LUPACK and BLAS libraries to evoke the dgesv subroutine. The method uses the Thin Plate Spline. We use these resources: http://cseweb.ucsd.edu/~sjb/eccv_tps.pdf http://www.univie.ac.at/nuhag-php/bibtex/open_files/po94_M%20J%20D%20Powell%2003%2093.pdf http://vision.ucsd.edu/sites/default/files/fulltext(4).pdf


Type IntentOptional Attributes Name
double precision, intent(in) :: grid_coarse(n_coarse)

Coarse input grid for interpolation.

double precision, intent(in) :: pperp_coarse(n_coarse)

Coordinates of perpendicular momentum on coarse grid.

double precision, intent(in) :: ppar_coarse(n_coarse)

Coordinates of parallel momentum on coarse grid.

integer, intent(in) :: n_coarse

Number of entries in coarse grid.

double precision, intent(in) :: pperp(0:nperp,0:npar)

Coordinates of perpendicular momentum on fine grid.

double precision, intent(in) :: ppar(0:nperp,0:npar)

Coordinates of parallel momentum on fine grid.

integer, intent(in) :: nperp

Number of perpendicular steps on fine output grid.

integer, intent(in) :: npar

Number of parallel steps on fine output grid.

double precision, intent(in) :: smoothing

Smoothing parameter for spline interpolation.

double precision, intent(out) :: grid_fine(0:nperp,0:npar)

Fine output grid after interpolation.


proc~~polyharmonic_spline~2~~CallsGraph proc~polyharmonic_spline~2 interpolation.f90::polyharmonic_spline dgesv dgesv proc~polyharmonic_spline~2->dgesv

Called by

proc~~polyharmonic_spline~2~~CalledByGraph proc~polyharmonic_spline~2 interpolation.f90::polyharmonic_spline program~interpolate interpolate program~interpolate->proc~polyharmonic_spline~2