Jump to content

reverse of interpolation


Recommended Posts

Hello

I am having an image. I converted this image to 2D array. Now i do the polar conversion in this array.Suppose on a polar grid i need values along 6 angles(60,120,180,240,300,360 degrees). I am having a 2D array in Rectangular grid. So i nterpolate values in 2D array and found the required values in polar grid. With these values i perfomed FFT and got a plot. Now i take the peak values from this FFT array and i need to go back in the reverse direction so that i may see as real picture what these peak values look like.

So as a first step i do the inverse FFT for these values. What would bethe next step.? How can i get those old points in 2D array from this interpolated values in polar grid?

Thanksss

See attachmenet to understand the rectangular polar grid system

Link to comment

Hello Matthew,

Forgive my lack of expertise in the realm of DSP, but could you use a neighbor-weighting function to map your final image?

Maybe each pixel could be a weighted sum of your data set by proximity?

Not my area of specialty, but saw you hadn't gotten a response so thought I'd take a stab. Let me know how you project turns out. Also,

if you need help implementing in LV, let me know.

Best of Luck,

Justin

oops sorry the attachment is so big :)

B&W PNG that is 103kB...

Link to comment

I think Justin's approach is pretty good, and might be the fastest to implement. If you are looking for more work and higher accuracy, you could try a two step approach, creating a curve fit along each polar axis.

For each radial line and each circle, use a curve fit to create a function that you can interpolate along any point (this is all available in the LabVIEW analysis libraries). You could fit the data to a polynomial or a spline, whichever seems more appropriate for your dataset. For the circles, don't forget to fit the same end point in both directions so that your fit doesn't have a terrible discontinuity where the angle rolls over.

Then you would take each point in the rectangular array, and express it in polar coordinates. Then evaluate those points in your nearest fits and combine them.

So for point xi, yi, compute [r(xi,yi), theta(xi,yi)], then find your nearest fits r(a), and r(a+1) and evaluate them at theta(xi,yi). Similarly, find your nearest fits theta(b) and theta(b+1), and evaluate them at r(xi,yi). Then take those four points and combine them either with a simple average or a weighted distance average like Justin showed.

Link to comment

Hello Everybody...

sorry for the late response... I was having tropuble in accesing the site..

I think i need the method which jdunham mentioned...

But could you both please explain it in a VI. It would be much clearer then..

thanksss

QUOTE (jdunham @ Mar 14 2009, 12:09 AM)

I think Justin's approach is pretty good, and might be the fastest to implement. If you are looking for more work and higher accuracy, you could try a two step approach, creating a curve fit along each polar axis.

For each radial line and each circle, use a curve fit to create a function that you can interpolate along any point (this is all available in the LabVIEW analysis libraries). You could fit the data to a polynomial or a spline, whichever seems more appropriate for your dataset. For the circles, don't forget to fit the same end point in both directions so that your fit doesn't have a terrible discontinuity where the angle rolls over.

Then you would take each point in the rectangular array, and express it in polar coordinates. Then evaluate those points in your nearest fits and combine them.

So for point xi, yi, compute [r(xi,yi), theta(xi,yi)], then find your nearest fits r(a), and r(a+1) and evaluate them at theta(xi,yi). Similarly, find your nearest fits theta(b) and theta(b+1), and evaluate them at r(xi,yi). Then take those four points and combine them either with a simple average or a weighted distance average like Justin showed.

Link to comment

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use.