Hi Herbie and Anu
"If "Curtis's result is almost there", why then don't we see the result?"
This is a good point. If 'almost' there why don't I just show you
the rest? Curtis's result looks to have 21 of the 24 petals segmented,
with 3 incorrectly split in 2. So in terms of success rate one could
argue it is over 85% there.
Two strategies could get us the rest of the way there. 1) More labelling
at the machine learning step and/or using more advanced machine learning
(deep learning) or 2) coming up with a rule set for filter labelling and
merging.
I didn't feel comfortable with the first without having more test images
(if I label too much on one image I'm just manually labeling that image
anyway). So I chose the second for now.
The rule set that seems to work for one image (but probably would not
work for others) is to eliminate small labels, eliminate labels touching
the edge, then identify the central circle (using circularity or
eccentricity). Then for each remaining object calculate the angle and
distance with respect to the center. If two objects have an angle that
is close, merge them (these will be the split petals).
Attached is the result. I coded it in Python, but someone good with
ImageJ object manipulation could probably do something similar in
ImageJ. I get the 24 petals but I make no claims this is a good method,
it is very fragile and overfit to this one image. To automate this one
image, I put in much more work then labelling it myself (and the labels
are noisier). The main use of such a result is a hint that maybe
automating a larger set is possible (or maybe not, again it will depend
on the variability of the larger set).
Brian
On Sat, Mar 9, 2024 at 8:13 AM Herbie <[email protected]
<mailto:[email protected]>> wrote:
Dear Brian,
I very much like this...
"However, assessing the potential of automation on this problem is
still
valuable,perhaps you will have to do another batch of images in a few
months or something, and the insights may help others facing similar
problems."
...social aspect but with my today's academic experience I'm tempted to
call it an utopian expectation.
It would be interesting to know which status people on Lists and Fora
have who *continuously* provide substantial and unselfish help and
assistance.
Regards
Herbie
:::::::::::::::::::::::::::::::::::::::::::
Am 09.03.24 um 13:03 schrieb Brian Northan:
> Hi Anu
>
> There are many similar problems on the Image.sc message board,
and both
> classical and advanced AI methods are often shown to be good at
solving the
> one image the researcher shares with the community. What is
often lacking
> is feedback on how the solution(s) suggested, work on the entire
set of
> images the researcher needs to process.
>
> I really like Curtis's approach. However the question is how
will this
> work on the other 50 or more images? It will depend on the
variation in
> the image set. As Herbie points out, we have no idea how
Curtis's method
> (or other solution) will work on the entire set.
>
> I hesitate to ask researchers to share more data, as I realize
you are
> busy, and you may be constrained as to how much (possibly
unpublished) data
> you are able to release publicly.
>
> However if it is at all possible to share more data (5-10
examples) it
> would really help in assessing whether proposed solutions
generalize to
> your entire image set.
>
> At this point I agree that it may be faster to manually do it.
However,
> assessing the potential of automation on this problem is still
valuable,
> perhaps you will have to do another batch of images in a few
months or
> something, and the insights may help others facing similar problems.
>
> Brian
>
> On Sat, Mar 9, 2024 at 6:11 AM Herbie <[email protected]
<mailto:[email protected]>> wrote:
>
>> Greetings Anu,
>>
>> because you called my suggestion as being your "last option" I
should
>> like to remark that this idea is exactly *contrary* to what I've
suggested.
>>
>> My prognosis is, that you will invest a lot of time with
learning and
>> trying various (advanced) approaches and then realize that none
of them
>> works fully automatically, i.e. will need additional manual
>> interventions that again take time. In the end you may realize
that the
>> better (quicker) approach would have been to start immediately
with the
>> manual segmentation of your 50 images.
>>
>> Last but not least, if things would be so easy and economic with
using
>> (advanced) approaches, why then don't we see any results that
are fully
>> automatically obtained from your sample image?
>>
>> Good luck
>>
>> Herbie
>>
>> ::::::::::::::::::::::::::::::::::::::::
>> Am 08.03.24 um 19:01 schrieb anusuya pal:
>>> Thanks so much everyone for suggesting so many ways. Thanks,
Herbie, yes,
>>> that's the last option I thought. :-)
>>>
>>> I really like Ankit's proposal as it's very much automated. The
idea
>> given
>>> by Michael -- I am kind of doing that for finding the spacing
between the
>>> consecutive petal like patterns. But, that doesn't give me a good
>> estimate
>>> for all of my images, as it is just one type of pattern.
>>>
>>> I also like Curtis's idea, I need to play with that as
suggested for the
>>> various patterns to see which one works the best.
>>>
>>> I really appreciate your valuable time and suggestions.
>>>
>>> Thanks,
>>> Anu
>>>
>>> On Saturday, March 9, 2024, Curtis Rueden
<[email protected] <mailto:[email protected]>>
>> wrote:
>>>
>>>> Hi Anu,
>>>>
>>>> I think your segmentation can be automated, but it is a bit
tricky.
>> Here is
>>>> a quick attempt I made:
>>>>
>>>> 1. Labkit - https://imagej.net/plugins/labkit/
<https://imagej.net/plugins/labkit/>
>>>> This is a machine-learning based pixel classification, where
you do
>> manual
>>>> painting over the different areas of your image. Then train
it, and
>> paint
>>>> again over the parts it got wrong. Repeat until it learns well how
>> things
>>>> should be.
>>>>
>>>> Here is how it looked for me after I did this process back and
forth a
>>>> couple of times:
>>>>
>>>> [image: labkit-small.png]
>>>>
>>>> As you can see, it is not perfect, but it gets close enough
that you can
>>>> then do additional steps afterward to extract the information
you want.
>>>> Then, you can save the classifier and apply it to as many
other similar
>>>> images as you want.
>>>>
>>>> Note that Labkit (at least in my hands today) has an annoying
bug where
>>>> after running the classifier (Ctrl+Shift+T), the pencil tool
sometimes
>>>> stops being able to paint lines until you click (or Alt+Tab)
away from
>> the
>>>> Labkit window and then back.
>>>>
>>>> 2. Export probability map to ImageJ
>>>>
>>>> This gets you back to a regular image window, which you can then
>> manipulate
>>>> with other plugins.
>>>>
>>>> You might always want to save this image to a TIFF file now,
since it
>> will
>>>> serve as a good starting point for further experimentation.
>>>>
>>>> 3. Smooth the image to reduce noise. I used the Kuwahara
filter. But it
>>>> didn't want to run on a 32-bit multichannel image, so I had to
first run
>>>> Image > Type > 8-bit and then Duplicate only the first slice
of the
>> image.
>>>>
>>>> The easiest way to run it is to type "kuwa" into the search
bar of Fiji.
>>>>
>>>> After running this filter with a smoothing window of 5, my
image looked
>>>> like this:
>>>>
>>>> [image: smoothed-small.png]
>>>>
>>>> 4. Do the actual segmentation with the Morphological Segmentation
>> plugin,
>>>> part of MorphoLibJ. https://imagej.net/plugins/morpholibj
<https://imagej.net/plugins/morpholibj>
>>>>
>>>> For this plugin you will need to enable the IJPB-plugins
update site via
>>>> Help > Update..., "Manage Update Sites" button, in Fiji.
>>>>
>>>> I left the input image as Border Image, changed Tolerance to
30, clicked
>>>> Run, and then changed the Results Display to "Catchment
basins". Here is
>>>> what that looked like:
>>>>
>>>> [image: morpholibj-small.png]
>>>>
>>>> As you can see, it erroneously bisected two of the regions on
the bottom
>>>> half, as well as one on the top half, but it got most of then
right.
>>>>
>>>> 5. You could then click "Create image" to make another image
and measure
>>>> the number of pixels of each color to get the size of each
region. And
>>>> filter out results that aren't close to the expected size, or
aren't at
>> the
>>>> correct (X,Y) coordinates to be one of the petal shapes.
>>>>
>>>> I would also suggest to give CellPose a try—I did not try it,
but it
>> does
>>>> very well on a wide variety of input images.
>>>>
>>>> You might get better answers on https://forum.image.sc
<https://forum.image.sc> rather than
>> here,
>>>> since the state-of-the-art for segmenting scientific images
has changed
>> a
>>>> lot in recent years and there are many more powerful tools than
>> classical
>>>> ImageJ-based segmentation now.
>>>>
>>>> Regards,
>>>> Curtis
>>>>
>>>> --
>>>> Curtis Rueden
>>>> Software architect, LOCI/Eliceiri lab -
https://uw-loci.github.io/ <https://uw-loci.github.io/>
>>>> ImageJ2 lead, Fiji maintainer -
https://imagej.net/people/ctrueden <https://imagej.net/people/ctrueden>
>>>> Have you tried the Image.sc Forum? https://forum.image.sc/
<https://forum.image.sc/>
>>>>
>>>>
>>>> On Fri, Mar 8, 2024 at 1:48 AM anusuya pal
<[email protected] <mailto:[email protected]>>
>> wrote:
>>>>
>>>>> Dear all,
>>>>>
>>>>> I want to measure the area of the flower-like patterns as
shown in the
>>>>> image. I can do it manually, but I have more than 50 images.
Do you
>> have
>>>>> any suggestions for doing it automatically?
>>>>>
>>>>> Thanks for your help,
>>>>> Anu
>>>>>
>>>>> --
>>>>> ImageJ mailing list: http://imagej.nih.gov/ij/list.html
<http://imagej.nih.gov/ij/list.html>
>>>>>
>>>>
>>>> --
>>>> ImageJ mailing list: http://imagej.nih.gov/ij/list.html
<http://imagej.nih.gov/ij/list.html>
>>>>
>>>
>>> --
>>> ImageJ mailing list: http://imagej.nih.gov/ij/list.html
<http://imagej.nih.gov/ij/list.html>
>>>
>>
>> --
>> ImageJ mailing list: http://imagej.nih.gov/ij/list.html
<http://imagej.nih.gov/ij/list.html>
>>
>
> --
> ImageJ mailing list: http://imagej.nih.gov/ij/list.html
<http://imagej.nih.gov/ij/list.html>
>
--
ImageJ mailing list: http://imagej.nih.gov/ij/list.html
<http://imagej.nih.gov/ij/list.html>