Iso-contours at maximum/minimum levels [message #64891] |
Thu, 29 January 2009 07:56  |
Gianluca Li Causi
Messages: 21 Registered: August 2005
|
Junior Member |
|
|
Hello,
In order to find the iso-value lines of a 2D surface I'm using the
CONTOUR procedure, which works very well except that it's NOT ABLE to
compute the contour when the LEVEL equals the maximum or minimum of
the function.
I've the following simple fuction:
Z = shift(dist(100, 100), 50,50)
Z = abs(Z - max(Z)*.3)
which have a circular minimum at LEVEL=0, but CONTOUR is unable to
find it!
Do you know how I can do?
Thanks
Gianluca
|
|
|
Re: Iso-contours at maximum/minimum levels [message #64950 is a reply to message #64891] |
Mon, 02 February 2009 11:00  |
pgrigis
Messages: 436 Registered: September 2007
|
Senior Member |
|
|
I sent a method last week that will do that
without derivatives. Have you tried it?
It works very well for me.
Ciao,
Paolo
David Fanning wrote:
> Gianluca Li Causi writes:
>
>> I thanks you for the interesting discussione and I agree with David
>> that the word "contour" means a line that "encloses something", but
>> still you've not given indications for a working "imprint" function,
>> which is what I need.
>>
>> The best that I've found, when the function derivatives are
>> continuous, is to make the contour at level=0 of the partial
>> derivatives dz/dx and dz/dy, which effectively produce a nice
>> "imprint" line BUT also contains some extra lines, corresponding to
>> where one derivative is null but the other is not.
>>
>> So one could take both the zero contours of the two derivatives and
>> say that the "imprint" line is the common curve among these two
>> contours (don't really know how to do this in practice).
>>
>> In any case this does not work with not continuous derivatives, like
>> my first example.
>>
>> How could I search if such an "imprint" function is available anywhere
>> in the IDL library of somebody? Is there an IDL libraries database
>> somewhere in the internet?
>
> I tried this, and I at least get a circle:
>
> IDL> TVScale, Sobel(z), /KEEP
>
> I think something like that might work, with perhaps some thresholding,
> etc.
>
> Cheers,
>
> David
>
> --
> David Fanning, Ph.D.
> Coyote's Guide to IDL Programming (www.dfanning.com)
> Sepore ma de ni thui. ("Perhaps thou speakest truth.")
|
|
|
Re: Iso-contours at maximum/minimum levels [message #64961 is a reply to message #64891] |
Mon, 02 February 2009 08:54  |
David Fanning
Messages: 11724 Registered: August 2001
|
Senior Member |
|
|
Gianluca Li Causi writes:
> I thanks you for the interesting discussione and I agree with David
> that the word "contour" means a line that "encloses something", but
> still you've not given indications for a working "imprint" function,
> which is what I need.
>
> The best that I've found, when the function derivatives are
> continuous, is to make the contour at level=0 of the partial
> derivatives dz/dx and dz/dy, which effectively produce a nice
> "imprint" line BUT also contains some extra lines, corresponding to
> where one derivative is null but the other is not.
>
> So one could take both the zero contours of the two derivatives and
> say that the "imprint" line is the common curve among these two
> contours (don't really know how to do this in practice).
>
> In any case this does not work with not continuous derivatives, like
> my first example.
>
> How could I search if such an "imprint" function is available anywhere
> in the IDL library of somebody? Is there an IDL libraries database
> somewhere in the internet?
I tried this, and I at least get a circle:
IDL> TVScale, Sobel(z), /KEEP
I think something like that might work, with perhaps some thresholding,
etc.
Cheers,
David
--
David Fanning, Ph.D.
Coyote's Guide to IDL Programming (www.dfanning.com)
Sepore ma de ni thui. ("Perhaps thou speakest truth.")
|
|
|