comp.lang.idl-pvwave archive
Messages from Usenet group comp.lang.idl-pvwave, compiled by Paulo Penteado

Home » Public Forums » archive » Alternatives to griddata()
Show: Today's Messages :: Show Polls :: Message Navigator
E-mail to friend 
Switch to threaded view of this topic Create a new topic Submit Reply
Alternatives to griddata() [message #54161] Thu, 24 May 2007 14:25 Go to next message
Andrew[3] is currently offline  Andrew[3]
Messages: 2
Registered: May 2007
Junior Member
Hi everyone,

I'm currently using IDL to process remote sensing data of arctic sea
ice. Recently, I've been modifying an existing set of IDL programs to
handle some new high-resolution data. The main program does work with
the new data set, but it runs much more slowly. i.e. from under one
minute to about 4 minutes per image. (the images have gone from
400x340 to 1000x850)

I've gone through that program eliminating for loops wherever
possible, but it's still quite slow. Yesterday, I got the bright idea
to use the systime() function and figure out which part of the program
is taking so long. It turns out that the griddata() function is the
culprit. For one image, that one function takes up 80-90% of the total
program run time! (According to the time outputs anyway.)

I am wondering if there is an alternative method to take irregularly
spaced data stored as 3 vectors (xindex, yindex, and data), plot it on
a 2D grid and interpolate it that is a bit faster. I'd like to keep
using the inverse distance method of interpolation or something with
similar behaviour to compare the high-res and low-res data. I've tried
some IDL programming of my own, but nothing that I come up with is as
fast as griddata.

Any ideas?

Andrew
Re: Alternatives to griddata() [message #54232 is a reply to message #54161] Fri, 25 May 2007 11:26 Go to previous message
Andrew[3] is currently offline  Andrew[3]
Messages: 2
Registered: May 2007
Junior Member
On May 24, 5:25 pm, Andrew <Andrew.B.La...@gmail.com> wrote:
> Hi everyone,
>
> I'm currently using IDL to process remote sensing data of arctic sea
> ice. Recently, I've been modifying an existing set of IDL programs to
> handle some new high-resolution data. The main program does work with
> the new data set, but it runs much more slowly. i.e. from under one
> minute to about 4 minutes per image. (the images have gone from
> 400x340 to 1000x850)
>
> I've gone through that program eliminating for loops wherever
> possible, but it's still quite slow. Yesterday, I got the bright idea
> to use the systime() function and figure out which part of the program
> is taking so long. It turns out that the griddata() function is the
> culprit. For one image, that one function takes up 80-90% of the total
> program run time! (According to the time outputs anyway.)
>
> I am wondering if there is an alternative method to take irregularly
> spaced data stored as 3 vectors (xindex, yindex, and data), plot it on
> a 2D grid and interpolate it that is a bit faster. I'd like to keep
> using the inverse distance method of interpolation or something with
> similar behaviour to compare the high-res and low-res data. I've tried
> some IDL programming of my own, but nothing that I come up with is as
> fast as griddata.
>
> Any ideas?
>
> Andrew

Ok, turns out I answered my own question. I just have to make use of
the SEARCH_ELLIPSE keyword, and it gives me the result I'm looking
for. The images are virtually identical and produced in less than a
quarter of the time. Leave it to IDL to provide some extremely handy
non-intuitive functionality :)
  Switch to threaded view of this topic Create a new topic Submit Reply
Previous Topic: request...
Next Topic: Re: Supose this...

-=] Back to Top [=-
[ Syndicate this forum (XML) ] [ RSS ] [ PDF ]

Current Time: Wed Oct 08 13:53:00 PDT 2025

Total time taken to generate the page: 0.00552 seconds