Re: "Correct" Data Philosophy [message #69195 is a reply to message #69024] |
Fri, 18 December 2009 08:44   |
Laura
Messages: 9 Registered: August 2009
|
Junior Member |
|
|
>> Is it similar to "interpolation" or "approximation" or "estimation"?
>
> Yeah, it's similar to all of those, I guess. But, how
> would you do it in IDL?
>
>> How about linear/bilinear/trilinear interpolation? Or minimum
>> curvature surface or thin-plate-spline? It also depends on how many
>> values are available and/or missing. There are other fitting/
>> interpolation functions too.
>
> Does IDL even *do* these things!? Or do I have to go learn
> Matlab?
>
> I guess I was hoping for a couple of examples. I really don't
> have the time or energy to open up a whole new research area
> here, although I can see that it might occupy my time quite
> fruitfully for a number of years. :-(
>
In addition to the interpolation functions in Ken's sample book
chapter, there are other interpolating functions in IDL, MIN_CURV_SURF
and GRID_TPS, for smooth interpolation. Basically you can get higher
order continuity (continuous first order partial derivatives) and the
result will be smoother than linear interpolations. MIN_CURV_SURF also
has a keyword to set as a TPS interpolation.
GRID_TPS use "thin plate spline" as the interpolating function, which
I used a lot in 3D modeling before moving to IDL. They can estimate
the values using data samples on irregular grid (which means as long
as you know the sample data locations and values, you are fine, they
don't need to be on regular grids).
MIN_CURV_SURF probably uses minimum curvature flow? I don't know how
they implemented it in IDL, but it's much slower than GRID_TPS, and
the results are quite similar. However, I think IDL has some limit on
the number of data samples. A couple of thousands seemed to be fine,
but when I tried more, the functions failed. Probably it is due to the
memory limit, because basically you need to solve a NxN equation
matrix.
Again, as other people mentioned in this thread, it really depends on
what the application of the data is. I think estimating/interpolating
data should be OK in some applications. If you try to enlarge a
picture, you basically estimate the intermediate values among original
pixels. Sometimes when the data is missing at some points, estimating
the missing values can give people a rough idea what possible data
will be there.
Laura
|
|
|