Re: Interpolation w/ cubic convolution kernel - boundary treatment?



On Apr 30, 10:39 am, Peter Nachtwey <p...@xxxxxxxxxxxxxxxx> wrote:
On Apr 30, 8:41 am, robert bristow-johnson <r...@xxxxxxxxxxxxxxxxxxxx>
wrote:



On Apr 29, 1:12 am, Markus <iandj...@xxxxxxxxx> wrote:

On Apr 28, 11:36 am, robert bristow-johnson

<r...@xxxxxxxxxxxxxxxxxxxx> wrote:
On Apr 27, 2:00 am, Markus <iandj...@xxxxxxxxx> wrote:

My problem is not dsp related, but the method is closely related to
methods in dsp, so I am hoping to get some help here.

I am using the symmetric cubic convolution kernel ("Catmull-Rom
splines") to interpolate data over a limited range in a variable x.
For the interpolation I am using typically 10 nodes which are
equidistant in x.
Example: The interpolated function between nodes 4 and 5 is computed
based on the data points at nodes 3,4,5,6
A nice property of the Catmull-Rom splines is that I get a continuous
1st derivative everywhere.

sounds like Hermite polynomials.

My question is now: how should I treat the ranges near the boundary?
With 10 nodes, how should I interpolate the data between node 9 and
10? So far I am using linear interpolation here - but this is
conceptually ugly (and it's not precise, although the latter is not my
biggest problem since I want a _nice_ solution).
I am especially worried that in my current approach the interpolated
function has no continuous 1st derivative at node 9.

Is there a solution, in which I could use e.g. a non-symmetric
convolution kernel to interpolate between nodes 9 and 10, based on the
nodes 8,9,10 or maybe 7,8,9,10 - in a way that I get a continuous 1st
derivative everywhere?
I have not found any discussion about the boundary-treatment in the
literature (and neither on the Google-wide web). In image processing
sometimes people mirror the image at the boundaries (i.e. they would
introduce a hypothetical 11th node for which the data value is set
equal to the data at the 9th node and then interpolate using the data
points at nodes 8,9,10,11) - but this would not work in my case.

What I really want in the end, is the _kernel_ for the interpolation
at
the boundaries.

quadratic polynomial? now you have three constraints to satisfy
instead of four.

r b-j

Right: Quadratic Polynomials is what I need - but a special version:
one which has (at the left boundary) one point at the left, and two
points on the right side,

not quite, what you want is a quadratic polynomial that meets both
points on the left and right (as you say) but not a second point
further to the right, and the third constraint is match the derivative
on the right to the derivative of the 3rd order polynomial one segment
to the right.

r b-j

i.e. a non-symmetric version.
I was no able to find a kernel for this. Do you know how such a kernel
looks like?

Markus- Hide quoted text -

- Show quoted text -- Hide quoted text -

- Show quoted text -

It is just a matter of sovling some simultaneous equations. Second
order interplation equations.
x(f)=(1-f)*x0+f*x1+0.5*(x2-2*x1+x0)*f*(1-f) for x0->x1
x(f)=(1-f)*x1+f*x2+0.5*(x2-2*x1+x0)*f*(1-f) for x1->x2
f is a fraction from 0 to 1.

I don't see see why you are using a Catmull-Rom interpolator. I
generated an arbitrary 3rd order equation to generate 4 points at
equal intervals. The C-R couldn't even calculate the same
coefficients in my test equation. So what makes C-R so special if it
isn't as accurate as other methods? I would think that a 3rd order
inpolator should be able to reconstruct a third order polynomial
exactly from 4 points.

Peter Nachtwey- Hide quoted text -

- Show quoted text -

Oops should be
x(f)=(1-f)*x0+f*x1-0.5*(x2-2*x1+x0)*f*(1-f) for x0->x1
x(f)=(1-f)*x1+f*x2-0.5*(x2-2*x1+x0)*f*(1-f) for x1->x2

Peter Nachtwey

.



Relevant Pages

  • Re: Interpolation w/ cubic convolution kernel - boundary treatment?
    ... I am using the symmetric cubic convolution kernel ("Catmull-Rom ... splines") to interpolate data over a limited range in a variable x. ... A nice property of the Catmull-Rom splines is that I get a continuous ... sometimes people mirror the image at the boundaries (i.e. they would ...
    (comp.dsp)
  • Re: Interpolation w/ cubic convolution kernel - boundary treatment?
    ... splines") to interpolate data over a limited range in a variable x. ... A nice property of the Catmull-Rom splines is that I get a continuous ... sometimes people mirror the image at the boundaries (i.e. they would ... I was no able to find a kernel for this. ...
    (comp.dsp)
  • Re: Interpolation w/ cubic convolution kernel - boundary treatment?
    ... splines") to interpolate data over a limited range in a variable x. ... A nice property of the Catmull-Rom splines is that I get a continuous ... sometimes people mirror the image at the boundaries (i.e. they would ... Right: Quadratic Polynomials is what I need - but a special version: ...
    (comp.dsp)
  • Re: interpolation w/ cubic convolution kernel: boundary treatment?
    ... Google: It took Google 20 hours to display my message after I had ... I am using the symmetric cubic convolution kernel ... how should I interpolate the data between ... boundaries (i.e. they would introduce a hypothetical 11th ...
    (sci.math.num-analysis)
  • Interpolation w/ cubic convolution kernel - boundary treatment?
    ... I am using the symmetric cubic convolution kernel ("Catmull-Rom ... splines") to interpolate data over a limited range in a variable x. ... In image processing ... sometimes people mirror the image at the boundaries (i.e. they would ...
    (comp.dsp)