Probably best is to file an issue in Grid.

Thanks very much for tackling this!

--Tim

On Saturday, April 19, 2014 04:42:06 PM Tomas Lycken wrote:
> *@Tim Holy*, I've started thinking about how I should go about implementing
> cubic spline interpolation for Grid.jl over my Easter break - as a start,
> I'm trying to read through the code that does the quadratic interpolation
> and understand how all the parts of the library work together, and how I
> should hook into the current code structure. Of course, questions keep
> popping up ranging anywhere from "this seems to be dead code, is that
> intentional or am I missing something?" to "I have no idea what this
> function does, would you mind explaining it?" What is the best place for me
> to ask such quesitons? Here on the mailing list, in issues (or one single
> discussion issue) on Github, or somewhere else?
> 
> Thanks in advance!
> 
> // Tomas
> 
> On Thursday, March 27, 2014 1:56:04 AM UTC+1, Tim Holy wrote:
> > This is spelled out in the paper
> > 
> >    P. Thevenaz, T. Blu, and M. Unser (2000). "Interpolation Revisited."
> >    IEEE Transactions on Medical Imaging, 19: 739-758.
> > 
> > Basically, the idea is that interpolation computes values from a set of
> > 
> > coefficients:
> >     y(x) = sum_i coef_i * f_i(dx_i)
> > 
> > where dx_i comes from a displacement of x. For an "interpolating"
> > function,
> > the coefficients are the actual on-grid values of the function you're
> > trying to
> > interpolate. However, you can generalize the notion to "non-interpolating"
> > expressions, where the coefficients are distinct from the on-grid values.
> > You
> > can pretty quickly convince yourself that this is necessary, for example,
> > if
> > you want to have 3-point quadratic interpolation with continuous
> > derivatives.
> > The coefficients turn out to be related to the on-grid values via a simple
> > tridiagonal matrix equation (which is fast to invert).
> > 
> > Explicitly, for quadratic interpolation you can convince yourself that the
> > only expression with continuous derivatives at the half-point between
> > integers
> > is
> > 
> >    y(alpha) = (alpha-0.5)^2*ym/2 + (.75-alpha)^2*y0 + (alpha+0.5)^2*yp/2
> > 
> > where |alpha| <= 0.5 and ym,y0,yp are the interpolation coefficients. Plug
> > in
> > alpha=0, and you can see that you don't recover y0. Hence it's "non-
> > interpolating."
> > 
> > --Tim
> > 
> > On Wednesday, March 26, 2014 05:00:36 PM Stefan Schwarz wrote:
> > > > Hello Tim,
> > > 
> > > this is maybe not the right place to ask this question,
> > > but may you elaborate on that matter, that interp_invert!
> > > compensates "the non-interpolating" issue of
> > > the quadratic?
> > > 
> > > Thanks in advance
> > > 
> > > Stefan

Reply via email to