Posted by
Herbie on
Jul 11, 2020; 12:09pm
URL: http://imagej.273.s1.nabble.com/curvature-along-the-outline-of-a-thresholded-object-tp5023589p5023663.html
Bonjour Fabrice,
as stated earlier already, the main problem, given a binary-valued
object, is to obtain a suitable description of the object contour. This
description requires interpolation and perhaps smoothing of the sampled
object's border points.
I'm not aware of a unique mathematically exact approach for this task.
Consequently, this first step or pre-processing is based on heuristics.
To obtain local curvatures from a contour description, exact numeric
methods can be applied. Numeric, not analytic, because differentials are
approximated by quotients of differences. However, I would not denote
the approximation effects as noise.
With ImageJ it is possible to obtain selections or RoIs, i.e. contour
descriptions, that show near to evenly spaced sample points having, of
course, real-valued coordinates. From contour descriptions showing such
parametrized coordinates, local curvatures can be obtained according to
<
https://en.wikipedia.org/wiki/Curvature#In_terms_of_a_general_parametrization>
The many investigations of mine since the beginning of this thread show
that the main problem really is in the pre-processing stage:
Curvatures strongly depend on how the contour description is computed.
Even minor parameter changes in the pre-processing can have dramatic
effects on the local curvatures.
That said, I've not yet decided about an adequate ImageJ-based heuristic
for the pre-processing.
Thanks for your interest
Herbie
:::::::::::::::::::::::::::::::::::::::::::
Am 11.07.20 um 13:26 schrieb Fabrice Senger:
> 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