Re: Need Some Good Ideas [message #29520 is a reply to message #29436] |
Fri, 22 February 2002 09:05  |
Stein Vidar Hagfors H[1]
Messages: 56 Registered: February 2000
|
Member |
|
|
dw@er.dtu.dk (Dorthe Wildenschild) writes:
> Hi David,
>
[references to 3D problem by Dorthe Wildenschild omitted]
> David Fanning <david@dfanning.com> wrote in message news:<MPG.16de0d88b1cdeb82989813@news.frii.com>...
>> Folks,
>>
>> Do you have your thinking caps on? I'm looking for
>> a few good ideas.
>>
>> I have a bunch of blobs. (Think spots on the
>> Gateway cow.) I would like to analyze the curvature
>> and bends in the perimeter of the blobs. I have
>> the indices of the points that make up the blob, and
>> I have obtained the "perimeter" points by contouring
>> the blob. Unfortunately, these perimeter points are
>> not evenly distributed. (Think of a blob that has a
>> long, straight side. The contour command will put a
>> point at either end of the straight bit, so the points
>> on that side of the blob are sparse, while the points
>> along a tight bend on the other side of the blob
>> are dense.)
>>
>> I say "unfortunately" because we have a method that
>> uses the derivative of the perimeter at each point
>> and the FFT transform of the derivative distribution,
>> but it seems to be giving funny results because of this
>> point distribution problem.
>>
>> Has anyone heard of this kind of curvature analysis
>> before? Any pointers to literature? I've heard that
>> IDL can be used to solve these kinds of problems. :-)
I haven't *really* heard of that kind of curvature analysis before, but with
my thinking cap on, I think I can guess!
The thing is that the power spectrum of a function can tell you something
about the degree of continuity of the function. Oh yes, I have a literature
pointer: The Fourier Transform and Its Application (R. N. Bracewell, second
edition) - a must for anyone using Fourier transform, IMHO.
However, the short (and only handwavingly accurate) story is: The power
spectrum of a continuous function goes to zero for high frequencies (i.e.,
"no" infinitely high frequency components necessary to describe
discontinuities in the function). (Note - noise, even just numerical, will
often introduce a nonzero flat level, becase measured values will jump
slightly in a discontinuous fashion from one point to the next)
When you take the derivative of a function, it corresponds to multiplying it's
Fourier transform with something proportional (in magnitude) to the frequency
(f) - thus multiplying the power spectrum with something propto f^2. So, if a
function's *derivative* is continuous, the power spectrum of the function
drops *faster* than 1/f^2. The nth derivative is continuous if the power
spectrum drops *faster* than 1/f^(2n).
The function in your case is the "derivative of the perimeter at each point" -
whatever that means! I presume you mean something like, for each point, the
change in orientation between the preceeding and following curve segments...
Anyhow, a perimeter which has only continuous changes in its direction (ie
power gong to zero at high frequencies), will not have any "sharp" points, if
I've got everything right so far. Also, a blob whose perimeter is a pure
circle would only have power in the second lowest Fourier component (i.e. 1
period per cycle around the perimeter). More [frequent or abrupt] twists and
turns will add higher frequencies, etc..
But back to the problem of varying sampling frequency: Use the accumulated
length of the segments as you go around the perimeter to parameterize your
derivative, then do a linear (or higher order, as desired) interpolation onto
a fixed-spacing array before doing the FFT's..
--
------------------------------------------------------------ --------------
Stein Vidar Hagfors Haugan
ESA SOHO SOC/European Space Agency Science Operations Coordinator for SOHO
NASA Goddard Space Flight Center, Email: shaugan@esa.nascom.nasa.gov
Mail Code 682.3, Bld. 26, Room G-1, Tel.: 1-301-286-9028/240-354-6066
Greenbelt, Maryland 20771, USA. Fax: 1-301-286-0264
------------------------------------------------------------ --------------
|
|
|