[Scipy-tickets] [SciPy] #1497: Add Gaussian kernel convolution to interpolate.interp1d and interpolate.interp2d

SciPy Trac scipy-tickets@scipy....
Mon Aug 22 10:40:16 CDT 2011


#1497: Add Gaussian kernel convolution to interpolate.interp1d and
interpolate.interp2d
-------------------------------+--------------------------------------------
 Reporter:  miguel             |       Owner:  somebody   
     Type:  enhancement        |      Status:  needs_info 
 Priority:  normal             |   Milestone:  Unscheduled
Component:  scipy.interpolate  |     Version:  0.9.0      
 Keywords:                     |  
-------------------------------+--------------------------------------------

Comment(by miguel):

 Replying to [comment:4 pv]:
 > > It should be possible to use kernel convolution also for non-uniform
 grids.
 >
 > A reference would be useful here. (The wikipedia page does not explain
 this.)

 This method is used in sub-mm spectroscopy and is implemented in several
 data reduction
 tools like GILDAS (http://iram.fr/IRAMFR/GILDAS/). The gridding function
 using a convolution kernel is defined in packages/class/lib/map-xymap.f90.
 The source code is freely available from their site but I'm not sure that
 it can be redistributed so I'm not attaching the file just in case.

 A simple example in 1D would be:

 {{{
 x = math.pi*np.random.rand(100)
 y = np.sin(x)
 }}}

 To interpolate a point x0 between data points one convolves for example
 with the normal distribution with standard deviation 0.3:

 {{{
 x0 = 2
 y0 = np.average(y, weights=stats.norm.pdf(x, x0, 0.3))
 }}}

 The result of the interpolation is shown by the green dot in the attached
 file and the kernel is shown in red. This is useful to interpolate noisy
 spectra or gridding of two-dimensional spectral maps.

-- 
Ticket URL: <http://projects.scipy.org/scipy/ticket/1497#comment:5>
SciPy <http://www.scipy.org>
SciPy is open-source software for mathematics, science, and engineering.


More information about the Scipy-tickets mailing list