Login  Register

Re: curvature along the outline of a thresholded object

Posted by Herbie on Jul 12, 2020; 4:49pm
URL: http://imagej.273.s1.nabble.com/curvature-along-the-outline-of-a-thresholded-object-tp5023589p5023689.html

Dear Thomas!

re 1:
As far as I understand, the problem of contour finding isn't solved by
this approach.
But I must admit that I don't understand what "wavelength" means in this
context.

re 2:
Although a bit heuristic, this approach appears worth being considered.

Presently, I try to convert my approach to an IJ-plugin.
However, I can't really get rid of the "start end"-glitch...

Regards

Herbie

::::::::::::::::::::::::::::::::::::::::::::
Am 12.07.20 um 18:20 schrieb Thomas Fischer:

> Hi herbie,
>
> I understand your wish to tackle a rigorously posed mathematical problem.
> Here are two suggestions.
> 1) find the curvatures along the outline of a binary object in a wavelength
> range given in fractions of the length of the outline.
> The second goes back to what you may have meant in your first answer in
> this thread.
> 2) calculate the minimum number of Fourier Descriptors necessary to match
> the shape in such a way that the sum of the pixels outside the Fourier
> outline plus the white pixels inside the Fourier outline is below a
> threshold given in fractions of the area of the object.
>
> Of course, heuristic or experience however named enters in the choice of
> the Parameters and where the thresholds are set.
>
> Best, Thomas
>
> Am Sa., 11. Juli 2020 um 19:24 Uhr schrieb Fabrice Senger <
> [hidden email]>:
>
>> Ha ha yes if you don't want to run into infinity
>>
>> Le sam. 11 juil. 2020 à 19:12, Robert Dougherty <[hidden email]> a écrit
>> :
>>
>>> Fabrice,I’m taking a different approach from Herbie and Thomas. For each
>>> point, I define the radius of curvature using a circle containing that
>>> point and two other points in the polygon. (Actually I apply 3-point
>>> smoothing to the pixel polygon from "Wand" to produce the source data.)
>> The
>>> trick is to choose which other two points.  If the object is supposed to
>> be
>>> a circle, then the best points for accuracy are far away, not close!  If
>>> the shape is more complicated than a circle, then the points have to be
>>> closer together, but if they are too close, then the result is noisy.
>> I'm
>>> still working on the selection algorithm.  I just had an aha moment that
>>> the points must not bridge inflection points. This is not yet implemented
>>> in my posted code, version 5. I expect it will be in version 6.
>>> Bob
>>>
>>>
>>> Sent from Smallbiz Yahoo Mail for iPhonet
>>>
>>>
>>> On Saturday, July 11, 2020, 4:27 AM, Fabrice Senger <
>>> [hidden email]> wrote:
>>>
>>> Dear all,
>>> I really enjoyed this thread. I'm right in the assumption that in the end
>>> to get the curvature you're sampling the contour with a number of points
>>> and use 3 consecutive points to retrieve the radius of curvature? If, so,
>>> how do you set the distance between those points, as for small values you
>>> will run into noise...
>>>
>>> Le sam. 11 juil. 2020 à 08:02, Robert Dougherty <[hidden email]> a
>> écrit
>>> :
>>>
>>>>   Thomas,
>>>> I have updated the plugin at http://www.optinav.info/Curvature.htm.
>>>> Version 5 shows tabular output and is probably more accurate than my
>>>> earlier version.
>>>>
>>>> Bob
>>>>
>>>>
>>>>
>>>>
>>>>     On Sunday, July 5, 2020, 10:14:07 AM PDT, Thomas Fischer <
>>>> [hidden email]> wrote:
>>>>
>>>>   Dear Bob,
>>>>
>>>> My reply is late because I had computer problems. The result of the
>>> plugin
>>>> looks nice. In order to use it I would need two features
>>>> 1) A parameter to tune the sensitivity. Right now it is not sensitive
>>>> enough for my purpose. I am aware that an increase in sensitivity would
>>>> make the result more noisy. But as with the plugin of Thomas I would do
>>> the
>>>> smoothing afterwards.
>>>> 2) A list of the curvature values along the circumference. Just looking
>>> at
>>>> the nice result is not enough in my case. I have to extract numbers
>> from
>>>> this list.
>>>>
>>>> I am content with the plugin of Thomas. But as we say in German: the
>>> better
>>>> is the enemy of the good.
>>>>
>>>> Best regards, Thomas
>>>>
>>>>
>>>>
>>>>
>>>>
>>>> Am So., 5. Juli 2020 um 07:33 Uhr schrieb Robert Dougherty <
>>>> [hidden email]
>>>>> :
>>>>
>>>>>   Gabriel,
>>>>> Thanks.  In case it matters, there is a new version with smoother
>>>>> calculation and a black background.
>>>>> Bob
>>>>>
>>>>>     On Saturday, July 4, 2020, 11:33:56 AM PDT, Gabriel Landini <
>>>>> [hidden email]> wrote:
>>>>>
>>>>>   Thanks Bob, I can confirm that it works fine.
>>>>> I think colourblind observers (red-green type) would see the green as
>>>> some
>>>>> shades of yellow and blue as blue. At lease that is what the
>> Dichromacy
>>>>> plugin
>>>>> shows.
>>>>> Regards
>>>>>
>>>>> Gabriel
>>>>>
>>>>>
>>>>> On Saturday, 4 July 2020 18:05:09 BST you wrote:
>>>>>>   Gabriel,
>>>>>> In the meantime, I tried and failed to track down how ImageJ is
>>>> supposed
>>>>> to
>>>>>> load the Phase LUT. Giving up, I changed the code to use another
>>>>>> sign-friendly LUT that I coded explicitly.  Now Curvature displays
>>> the
>>>>>> results in green-blue. Going forward, it may be a question of which
>>>> color
>>>>>> scheme is better.  One could experiment by running the new version
>> of
>>>>>> Curvature and then manually changing the LUT to Phase to simulate
>> the
>>>> old
>>>>>> version.  Perhaps green-blue is better for colorblindness than the
>>>>> red-blue
>>>>>> scheme of Phase?
>>>>>>
>>>>>> Bob
>>>>>
>>>>> --
>>>>> ImageJ mailing list: http://imagej.nih.gov/ij/list.html
>>>>>
>>>>>
>>>>> --
>>>>> ImageJ mailing list: http://imagej.nih.gov/ij/list.html
>>>>>
>>>>
>>>> --
>>>> ImageJ mailing list: http://imagej.nih.gov/ij/list.html
>>>>
>>>>
>>>> --
>>>> ImageJ mailing list: http://imagej.nih.gov/ij/list.html
>>>>
>>>
>>> --
>>> ImageJ mailing list: http://imagej.nih.gov/ij/list.html
>>>
>>>
>>>
>>> --
>>> ImageJ mailing list: http://imagej.nih.gov/ij/list.html
>>>
>>
>> --
>> ImageJ mailing list: http://imagej.nih.gov/ij/list.html
>>
>
> --
> ImageJ mailing list: http://imagej.nih.gov/ij/list.html
>

--
ImageJ mailing list: http://imagej.nih.gov/ij/list.html